agiles2008 - distributed agile

22
Distributed Agile Software for the new world order! Matt Gelbwaks Emilio Gutter

Upload: egutter

Post on 29-Nov-2014

519 views

Category:

Technology


1 download

DESCRIPTION

Presentation given by Matt Gelbwaks and Emilio Gutter at Agiles2008, Buenos Aires

TRANSCRIPT

Page 1: Agiles2008 - Distributed Agile

Distributed Agile Software for the new world order!

Matt Gelbwaks Emilio Gutter

Page 2: Agiles2008 - Distributed Agile

Introduction

Agile is hard Distributed Agile is harder

Page 3: Agiles2008 - Distributed Agile

Why use Distributed Agile if it is so hard?

Page 4: Agiles2008 - Distributed Agile

The Elements of Agile

Page 5: Agiles2008 - Distributed Agile

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

Page 6: Agiles2008 - Distributed Agile

The Maths of Agile

Page 7: Agiles2008 - Distributed Agile

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

Page 8: Agiles2008 - Distributed Agile

1st Postulate of Agile Development

•  Agile is really about being reactive to changing business environments, not following “Agile Practices”

Page 9: Agiles2008 - Distributed Agile

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.

Page 10: Agiles2008 - Distributed Agile

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

Page 11: Agiles2008 - Distributed Agile

Lemma to Corollary

•  Neglecting one or more of the Agile Practices reduces your team’s throughput and their reliability in meeting expectations.

Page 12: Agiles2008 - Distributed Agile

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.

Page 13: Agiles2008 - Distributed Agile

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.

Page 14: Agiles2008 - Distributed Agile

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.

Page 15: Agiles2008 - Distributed Agile

2nd Postulate of Agile Development

•  Any team, by adoption of Agile Practices will become better, more effective, and more efficient.

Page 16: Agiles2008 - Distributed Agile

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.

Page 17: Agiles2008 - Distributed Agile

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

Page 18: Agiles2008 - Distributed Agile

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

Page 19: Agiles2008 - Distributed Agile

Practices for Distributed Agile

•  On-site chartering

•  Cross-functional teams on every location

•  Itinerant team member

•  Communication patterns

•  What about core XP practices?

Page 20: Agiles2008 - Distributed Agile

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

Argentina

USA

India

USA

Page 21: Agiles2008 - Distributed Agile

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

Poland

USA

Ireland

M

Page 22: Agiles2008 - Distributed Agile

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

Bulgaria - 3 Teams

USA - 3 Teams

M

Roving Mentor