Presentation from AgileEE 2012 in Kiev (October 2012) and XP Days Ukraine 2012 in Kiev (November 2012) about evolution of Agile processes in team during project lifecycle.
24. Strong definition of DONE
Can I start testing
this new feature?
Yes, it is done!
But I can’t even build
the product…
Ops, I forgot to
commit some files...
25. TDD at all levels
ATDD TDD
Customer’s Tests Programmers’ Tests
Acceptance Fixtures Production Unit Integration
Tests Code Tests Tests
35. “How long would it take your organization to
deploy a change that involves just one single line
of code?
Do you do this on a repeatable reliable basis?”
- Mary and Tom Poppendieck
36. Continuous Delivery
Keeping systems production-
ready throughout development,
so that they can be released to
users at any time
37. ”Continuous delivery is about putting the release
schedule in the hands of the business, not in the hands
of IT.
Implementing continuous delivery means making sure
your software is always production ready throughout
its entire lifecycle – that any build could potentially be
released to users at the touch of a button using a fully
automated process in a matter of seconds or minutes.”
- Jez Humble
42. Before After
Dev Commit
Monitor Test
Release QA
Deploy
• 2 week release cycles
• code freeze • multiple releases a day
• big events • non-events
• large code changes • small number of changes