7. Definitions!
• Theorem
– a theoretical statement that can be proved through
other propositions or formulas.
• Corollary
– a proposition that is incidentally proved in proving
another proposition
• Lemma
– a subsidiary proposition introduced in proving some
other proposition; a helping theorem
• Postulate
– a proposition that requires no proof, being self-
evident
8. 1st Postulate of Agile Development
• Agile is really about being reactive to changing
business environments, not following “Agile
Practices”
9. Matt & Emilio’s
1st Theorem of Development
• The fusion of all the Agile Practices allows
teams to maximize their throughput and more
reliably meet their product owner’s
expectations.
10. Corollary to 1st Theorem
• Neglecting one or more of the Agile Practices
makes your team neither un-Agile nor
necessarily unable to meet your Product
Owners Expectations
11. Lemma to Corollary
• Neglecting one or more of the Agile Practices
reduces your team’s throughput and their
reliability in meeting expectations.
12. Matt & Emilio’s
2nd Theorem of Development
• If the intent of the Agile Manifesto is to guide
teams to maximize the value they can produce
for the Business, then they must take into
consideration the Business’ operating model.
13. Corollary to 2nd Theorem
• Taking into consideration the Business’
operating model will force the team to make
compromises to the extent in which they can
undertake various Agile Practices.
14. Corollary to Corollary to 2nd Theorem
• This reduces the direct Business Value that
might be achieved when employing all the Agile
Practices to their fullest.
15. 2nd Postulate of Agile Development
• Any team, by adoption of Agile Practices will
become better, more effective, and more
efficient.
16. Matt & Emilio’s
3rd Theorem of Development
• Once teams grow beyond the ideal size, they
become distributed by definition, even though
we don’t recognize it.
17. Corollary to the 3rd Theorem
• Some of the Agile Practices must be adjusted to
work in a distributed environment, but that does
not make the teams any less agile in their
development
18. Principals (from agilemanifesto.org)
• Satisfy the Customer (working software)
• Welcome changing requirements and priorities
• Deliver incrementally and frequently
• Personal interactions - all roles
• Motivated teams (and customers)
• Promote sustainability through “good” processes
• Technical excellence (maintain no debts)
• Maintain simplicity
• Support self organization
• Relish retrospection
19. Practices for Distributed Agile
• On-site chartering
• Cross-functional teams on every location
• Itinerant team member
• Communication patterns
• What about core XP practices?
20. Some True Life Examples
• Business: On-line travel agency
• Project purpose: Allow customers to book flights marketed by a new low
cost carrier
• Size: ~30 people
• Locations: US; India; Argentina
USA USA
Argentina India
21. Some True Life Examples
• Business: Point of Sale Reservations System
• Project purpose: Allow online travel agencies to manage and reuse unused
eTickets for travelers who had banked them
• Size: ~20 people
• Locations: US; Poland; Ireland
USA
Poland Ireland
M
22. Some True Life Examples
• Business: Large File Transfer
• Project purpose: Allow organizational users to transfer large files (100MB+)
using MS Outlook through an unobtrusive plugin and a separate server
• Size: 65+ people - 6 teams, each having collocated developers and QA with
shared Architects, Tech Pubs, and Product Owners
• Locations: US and Bulgaria + 2 remote developers
USA - 3 Teams Roving
Mentor
M
Bulgaria - 3 Teams