L14 - Continuous Delivery 2 Flashcards
1
Q
What are the 7 principles of Continuous Delivery?
A
- Create a repeatable process
- Automate as much as you can
- Version control for everything
- If it hurts, do it more frequently
- Build quality in
- Done means released
- Everyone is responsible
- Continuous Improvement
2
Q
What is meant by ‘Create Repeatable Processes’?
A
- Processes should always be repeatable in CD
- Can give it to other people, who can run the same tests and get the same answers
- Automated repeatable testing ensures repeatable processes
3
Q
What is meant by ‘Automate as much as you can’?
A
- Computers are more reliable that humans
- Computers are much faster and more predictable than humans
- Easily repeatable
4
Q
What is meant by ‘Version Control for Everything’?
A
- Including source code, dependencies, commends, documentation etc.
- One button push to revert to a previous version
- Another example is that if a customer comes in with issues with a previous version of software, developers can go back to source code of the version to fix issue
5
Q
What is meant by ‘If it hurts, do it more frequently’?
A
- If you release often, it makes it less of a big deal e.g every 2 weeks
- Make the scary and dangerous become a routine
- Improvement is made with practice, to iron out kinks in the process and make releasing more efficient
6
Q
What is meant by ‘Build quality in’?
A
- Defects should be fixed as soon as they’re detected
- Discover errors as you make them
- Doing this ensures that troubleshooting is done when the code just written is fresh, making it easier to think about and resolve
7
Q
What is meant by ‘Done means released’?
A
- Only time you can say a feature is ‘done’, is when it’s in production and being used by end users
- Only truly know when product is ‘done’ when a customer is using it and is satisfied with it
- Humble and Farley are binary regarding done → Either in production and done, or not
8
Q
What is meant by ‘Everyone is responsible’?
A
- Succeed and fail as a team
- Prevents siloed development
- Prevents bickering when something goes wrong, and ensures focus is on fixing the issue
9
Q
What is meant by ‘Continuous Improvement’?
A
- Constantly reflect on what’s gone well and badly, and how to improve on processes in the future
- Mistakes are to be learnt from, not feared
- Feedback should be enabled across development silos → Enables general optimisation as opposed to local optimisation