Agile New England July 2011
Agility and Architecture or: What colours is your backlog?
Philippe Kruchten July 7, 2011
Philippe Kruchten, Ph.D., P.Eng., CSDP Professor of So ware Engineering NSERC Chair in Design Engineering Department of Electrical and Computer Engineering University of Bri sh Columbia Vancouver, BC Canada [email protected]
Founder and president Kruchten Engineering Services Ltd Vancouver, BC Canada [email protected]
Co founder and past-chair
Copyright © 2011 Philippe Kruchten 2
Copyright © 2011 Philippe Kruchten 1 Agile New England July 2011
Outline
1. The frog and the octopus 2. Architecture and agility 3. Release planning 4. Technical debt 5. Architecture, agility,… revisited
Copyright © 2011 Philippe Kruchten 5
A Conceptual Model of So ware Development
4 key concepts, 5 key a ributes . Intent . Time . Product . Value . Quality . Work . Cost . Risk . People
Copyright © 2011 Philippe Kruchten 8
Copyright © 2011 Philippe Kruchten 2 Agile New England July 2011
Intent, Work, People, Product
Copyright © 2011 Philippe Kruchten 9
Frog: “All projects are the same”
Value Value
Cost Cost
Copyright © 2011 Philippe Kruchten 10
Copyright © 2011 Philippe Kruchten 3 Agile New England July 2011
Copyright © 2011 Philippe Kruchten 11
Octopus: “All projects are different!”
Size Domain, Age of Degree of Industry the Cri cality Innova on system
Rate of Business change Context model
Gover Stable architec nance Corporate & Team ture Organiza onal Na onal Culture distribu Maturity on
Copyright © 2011 Philippe Kruchten 12
Copyright © 2011 Philippe Kruchten 4 Agile New England July 2011
SW Dev. Project: Tension between Intent and Product
Intent
Work V Product
Copyright © 2011 Philippe Kruchten T 13
Itera ons
Copyright © 2011 Philippe Kruchten 14
Copyright © 2011 Philippe Kruchten 5 Agile New England July 2011
Outline
1. The frog and the octopus 2. Architecture and agility 3. Release planning 4. Technical debt 5. Architecture, agility,… revisited
Copyright © 2011 Philippe Kruchten 15
Agile & Architecture? Oil & Water?
• Paradox • Oxymoron • Conflict • Incompa bility
Copyright © 2011 Philippe Kruchten 16
Copyright © 2011 Philippe Kruchten 6 Agile New England July 2011
What is Agility?
• Jim Highsmith (2002): – Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.
• Sanjiv Augus ne (2004): – Itera ve and incremental – Small release – Colloca on – Release plan/ feature backlog – Itera on plan/task backlog
Copyright © 2011 Philippe Kruchten 17
Ge ng at the Essence of Agility • So ware development is a knowledge ac vity – Not produc on, manufacturing, administra on… • The “machines” are humans • Dealing with uncertainty, unknowns, fear, distrust • Feedback loops ➜ – reflect on business, requirements, risks, process, people, technology • Communica on and collabora on – Building trust ➜ rely on tacit informa on ➜ reduce waste
Copyright © 2011 Philippe Kruchten 18
Copyright © 2011 Philippe Kruchten 7 Agile New England July 2011
So ware Architecture: A Defini on