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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly