Week 5 - Software Delivery and Testing Flashcards
What are the four releases of traditional product delivery?
The alpha release
The beta release
The release candidate
The release
What are the three environments used by modern feature delivery?
The development environment
The staging environment
The production environment
What does the development environment do?
The development environment is the shared server where the feature is developed
What does the staging environment do?
The staging environment is where the feature is set up in a mirror of production environment
What does the production environment do?
The production environment is where the feature becomes available to the world.
What are the 8 Principles of Software Delivery
- Create a repeatable process
- Automate almost everything
- Version control for everything
- If it hurts, do it more frequently
- Build quality in
- Done means released
- Everyone is responsible
- Continuous improvement
What does the “create a repeatable process” software delivery principle mean?
Releasing software should be easy, because it has been done a thousand times before
What does the “automate almost everything” software delivery principle mean?
The build should be a push button operation
What does the “version control for everything” software delivery principle mean?
Everything you need to build, deploy, test and release your software should be kept in versioned storage
What does the “if it hurts, do it more frequently” software delivery principle mean?
If the build is painful, do it on every check-in
What does the “build quality in” software delivery principle mean?
Defects are fixed as soon as they are found
What does the “done means released” software delivery principle mean?
A feature is only considered “done” once it is in production
What does the “everyone is responsible” software delivery principle mean?
At a glance, the status of the build is visible to everyone
What does the “continuous improvement” software delivery principle mean?
Teams should reflect on what has gone well, what has gone badly, and discuss how to improve (retrospectives)
What is shift left testing?
Beginning testing as early as practical in the lifecycle