5. Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.
6.
7. I use agile software development techniques
because:
• I can’t afford to waste time writing the
wrong software
• I can’t afford to waste time on sub
standard software
10. Why do you want to waste time on..
• Writing user stories
• Release planning
• Sprint planning
• Installing a continuous integration server
• Writing unit tests
• Peer code reviews
• Automating functional tests
• Training
11. User stories and the backlog are all about
writing the software that must be written
and nothing else.
12. Release planning is the most efficient way I
know to get a high level plan everyone on the
team buys into
14. Installing a continuous integration server
If one manual release to staging takes 1hr
over the course of a 3 month project with a
release to staging every 2 days +releases to
dev several times a day..
= 40 to 80 hrs of deployments
= 10 days wasted
+ the time wasted getting it wrong
+ is this bug a failed deployment or a real bug
15. Writing unit tests and TDD
Catch as many bugs before they leave the
developer as you can. The longer a problem
goes undetected the more its costs to fix.
Prevent developers over engineering
solutions
16. Peer code reviews
• Bus level redundancy - Share knowledge
around the team
• Catch poor quality code and lazy hacks early
• Have two people sign the commit and be
responsible for the code.
17. Automating functional tests
A single manual test run takes 2-3hrs. We
need to test every day over a 60 day project =
22 days of testing. And we can’t fix any issues
until the tests are run. Even if we spend 15
days creating tests we have still saved time.
Plus the value delivered to the project is
higher.
18. High quality projects complete quicker
Low quality projects never stop eating your
resources:
• Post live fixes
• Additional work to appease client
dissatisfaction
• Additional releases for free