Test Driven Development
Test driven development is described as a style of programming where testing, code development and design are tightly interwoven. Unit tests are developed for each component in a feature, then code is designed and written. The unit tests will initially fail, then as the code is written, the code will meet the objectives of the unit tests. Used properly, test driven development results in fewer defects.
Common pitfalls include having unit tests that are too granular, thus not allowing the testers to complete work on critical features. Another pitfall may be poor adoption by developers. Not running tests frequently can create a situation where testers are not able to approve features for the sprint review. The retrospective is an excellent ceremony to review the level of granularity of testing, thus encouraging greater adoption by developers.
Outputs from the Sprint Retrospective
There are three categories of outputs from a sprint retrospective:
- Things to keep
- Things to eliminate and
- Things to try in the next sprint.
It is important to understand that a scrum team will not want to create major upheaval of existing processes in the next sprint. Choosing a new test automation tool, assigning completely new team members to testing and other drastic changes could significantly impact the ability of the team to improve velocity and efficiency. Small modifications can begin with the next round of sprint planning.
The sprint retrospective is the most visible ceremony that models the inspect and adapt model. Scrum teams can quickly make small adjustments designed to provide a better product for the user and experience for team members.
Recommended Further Reading
The following materials may assist you in order to get the most out of this course: