Friday, March 01, 2019

Scrum sprints

I propose the following sprints for software development:.
  1. Implementation sprint (4 weeks): Bugs are fixed, features are implemented. Output is software ready for informal testing, i.e. it can at least be built on the test computer and does not crash immediately when run.
  2. Design review & cleanup sprint (1 week): Review the highest priority and most problematic sections of software. Code is refactored according to design review results and clean code principles. Output is documentation of reviewed sections and cleaner code.
  3. Test sprint (1 week): Team decides on test scope, i.e. definition of "Done". As a minimum software should be built successfully on a clean hardware. Whole team tests the software. These tests are informal and limited to the Done definition. Tests should demonstrate that software is capable of passing the most important/frequent use cases, i.e. software is still in a useable state. Developers only fix bugs during this sprint, no design update is allowed. Output is a tag/snapshot. When you have automated tests with good coverage, you might not need a manual test sprint, because your software will be automatically tested at least once a day.
After these sprints, do a post mortem (1 day) to assess the efficiency of design, implementation and test sprints. Repeat this process until software is at a user acceptable quality level.

No comments: