The document describes the author's journey as a software developer and how they learned to release high quality software frequently through adopting test-driven development and other practices. It starts with the author developing software without tests, which led to bugs and maintenance issues. They then learned about unit testing and test-first development, which improved code quality and reduced bugs. Later, they added integration, UI, and behavior-driven tests. Adopting continuous integration and continuous delivery allowed for automated testing and frequent releases. This approach helped catch bugs, improve communication, and deliver working software more efficiently.
25. But now business can’t read my test cases
25
No manual testing means
No test cases which means
Hard to verify behavior by the business which
means
Programmers could write the wrong thing
26. Self testing code: no silver bullet
26
• You misunderstand the requirements
• You write the wrong test
• You write the wrong code to pass the wrong
test
• You have a green test suite
• But you’ve implemented the wrong thing
27. “The most important single aspect of
software development is to be clear
about what you are trying to build.”
– Bjarne Stroustrup
27
30. Behavior Driven Development Benefits
30
• Getting verification from BAs
• Automated regression suite defined by BAs
• Always up-to-date software requirements
• YAGNI
35. Continuous Integration
35
• Integrate the code frequently
• Build the code on each commit
• Run the fast tests on each commit
• Run the slow tests on schedules
36. CI Rules
36
• Fixing red CI is the highest priority
• If you break the build, you do push
ups
• No one pulls from a red build
• No one pushes to a red build
37. “If it hurts, do it more frequently, and
bring the pain forward.”
– Jez Humble
37
Wife to programmer husband: “Dear, please, go to the nearby grocery store to buy some bread. Also, if they have eggs, buy 6.”
Husband: “O.K. hun.”
Twenty minutes later the husband comes back bringing 6 loaves of bread.
Wife: “Dear, why on earth did you buy 6 loaves of bread?”
Husband: “They had eggs.”
Wife to programmer husband: “Dear, please, go to the nearby grocery store to buy some bread. Also, if they have eggs, buy 6.”
Husband: “O.K. hun.”
Twenty minutes later the husband comes back bringing 6 loaves of bread.
Wife: “Dear, why on earth did you buy 6 loaves of bread?”
Husband: “They had eggs.”