kruchten 130320 post agile handout - philippe kruchten · title: kruchten 130320 post agile...
TRANSCRIPT
"agile"? March 2013
Ph. Kruchten 1
What the heck is this thing they call “agile”?
Philippe Kruchten
UBC, March 20, 2013
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 BriJsh Columbia Vancouver, BC Canada [email protected]
Founder and president Kruchten Engineering Services Ltd Vancouver, BC Canada [email protected]
3 Copyright © 2005-‐13 by Philippe Kruchten
"agile"? March 2013
Ph. Kruchten 2
SoRware development 1990
Copyright © 2005-‐13 by Philippe Kruchten 4
Agile Reviews
Agile Architecture
Agile Deployment
Agile MarkeJng
Agile Programming Agile Lifecycle
Agile Process
Agile TesJng
Agile Design
Agile Analysis
Agile Database
Agile Modeling
Feb. 2013
SoRware development 2013
Copyright © 2005-‐13 by Philippe Kruchten 5
Agile Reviews
Agile Architecture
Agile Deployment
Agile MarkeJng
Agile Programming Agile Lifecycle
Agile Process
Agile TesJng
Agile Design
Agile Analysis
Agile Database
Agile Modeling
Feb. 2013
"agile"? March 2013
Ph. Kruchten 3
Agile has won the war
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 7
Agile has won the war
• Really?
• What war? • What has changed? • And what is agile or Agile, anyway?
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 9
"agile"? March 2013
Ph. Kruchten 4
From Trust to Distrust
• A short history of soRware development
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 10
Four stages of power in IT projects
• Dark age (1960 – late 70s) • Tokenism (1970s – • Payback (1990s – • Partnership (2000 –
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 11
Source: Rob Thomseb 2002, 2007
"agile"? March 2013
Ph. Kruchten 5
1. Dark age
• 1960 – late 70s • “Engineered” projects • “Trust us, we know what is good for you”
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 12
2. Tokenism • 1970s – … • Redevelopment of original systems
• DeregulaJon • CompeJJveness • More disciplined approaches • Control of cost, quality, Jme • Outsourcing starts
• The techies have the lead
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 13
"agile"? March 2013
Ph. Kruchten 6
3. Payback Jme
• 1990 -‐ … • Pendulum swings back to the business side
• ROI • Business re-‐engineering • Porfolio management
• Outsourcing as payback?
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 14
The DestrucJon of Trust
• These first 3 stages achieved a destrucJon of trust among the various players.
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 15
"agile"? March 2013
Ph. Kruchten 7
4. Partnership
• 2000 – • Open negoJaJon • Joint planning sessions • Interdisciplinary project teams • Broader range of experJse and educaJon of individuals
• Agile and lean approaches
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 16
Tokenism Partnership
Engineered Traditional project management
Payback
Copyright © 2005-‐13 by Philippe Kruchten 17
Business control
Project con
trol
Thomseb 2002, 2007 Feb. 2013
"agile"? March 2013
Ph. Kruchten 8
The Raise of the PrescripJve Process
• IPO (Input Process Output)
• CMMI
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 18
Level 1: Initial
Level 2: Repeatable
Level 3: Defined
Level 4: Managed
Level 5: Optimizing
… and more
• ISO 9000-‐3 • SoRware process improvement • Six Sigma (applied to soRware)
• IEEE Standard – IEEE adopts the PMBOK as its soRware preojct management framework
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 19
"agile"? March 2013
Ph. Kruchten 9
Copyright © 2005-‐13 by Philippe Kruchten 20
• “Most companies build their bureaucraJc rules to manage the small percentage of wrong people on the bus, which in turn drive away the right people on the bus, which then increases the need for more bureaucracy to compensate for incompetence and lack of discipline, which then further drives the right people away and so forth.”
Jim Collins, Good to Great (2001)
Feb. 2013
The nature of soRware
1. No fundamental laws of soRware – Cannot validate soRware on blueprints – Need to build and test
2. Extreme modifiability – End-‐user & customer want to exploit this – Constant changes
3. No manufacturing costs, no border – All costs are in design, no economy of scale
4. Technology churn Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 21
"agile"? March 2013
Ph. Kruchten 10
Consequences
• A creaJve acJvity, not a construcJon acJvity • A knowledge-‐intensive acJvity • High level of risks and uncertainty • High pace
• Hard to cast in more tradiJonal manufacturing or even engineering processes
• TradiJonal project management approach failed
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 22
Agile Manifesto (2001) We have come to value: • Individuals and interacJons over process and tools,
• Working soRware over comprehensive documents,
• Customer collaboraJon over contract negoJaJon,
• Responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the leR more
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 23
"agile"? March 2013
Ph. Kruchten 11
Are you agile ? • Yes! We follow agile method XXX and implement all its recommended pracJces.
• Yes! Our process is strictly conformant to the agile manifesto.
• Yes! We are agile because this is what we say we are.
• Yes! We are not waterfall, therefore we are agile. QED.
• Yes! We are chaordic, collaboraJve, and streamlined.
Copyright © 2005-‐13 by Philippe Kruchten 24 Feb. 2013
Who wants to not be agile?
• Or an agile organizaJon ?? – And not just in an organizaJon “using agile”
• Is there some metric, a unit of agility? A means to measure the level of agility?
Copyright © 2005-‐13 by Philippe Kruchten 25 Feb. 2013
"agile"? March 2013
Ph. Kruchten 12
False Dichotomies: Agile versus X • Agile versus Waterfall • Agile versus Discipline ?!?! • Agile versus Plan-‐driven ? • Light-‐weight versus Heavy-‐weight ? • Agility versus Architecture !?
• More likely:
Adapta&on versus An&cipa&on
• And this is a conJnuum, not a binary state Copyright © 2005-‐13 by Philippe Kruchten 26
Highsmith 2000
Feb. 2013
Agility defined… • Jim Highsmith (2002):
– Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.
• Sanjiv AugusJne (2004): – IteraJve and incremental – Small release – CollocaJon – Release plan/ feature backlog – IteraJon plan/task backlog
Copyright © 2005-‐13 by Philippe Kruchten 27 Feb. 2013
"agile"? March 2013
Ph. Kruchten 13
Agile Methods • XP = eXtreme Programming • SCRUM • AdapJve development
process • Lean SoRware Development • Crystal • Feature Driven Development • Agile Unified Process • Scaled Agile Framework • Disciplined Agile Delivery
K. Beck K. Schwaber, J. Sutherland J. Highsmith M. Poppendieck A. Cockburn S. Palmer S. Ambler D. Leffingwell S. Ambler
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 28
XP PracJces
29 Copyright © 2005-‐13 by Philippe Kruchten Feb. 2013
"agile"? March 2013
Ph. Kruchten 14
Scrum
30 Copyright © 2005-‐13 by Philippe Kruchten Feb. 2013
Lean Principles (for SoRware Development)
• Eliminate waste • Amplify learning • Decide as late as possible • Deliver as fast as possible • Empower the team • Build integrity in • See the whole
Copyright © 2005-‐13 by Philippe Kruchten 31 Feb. 2013
"agile"? March 2013
Ph. Kruchten 15
Different methods for different issues
Copyright © 2005-‐13 by Philippe Kruchten
XP prac<ces
Scrum management
Lean principles
32 Feb. 2013
SoRware development now:
Copyright © 2005-‐13 by Philippe Kruchten 33
Agile Reviews
Agile Architecture
Agile Deployment
Agile MarkeJng
Agile Programming Agile Lifecycle
Agile Process
Agile TesJng
Agile Design
Agile Analysis
Agile Database
Agile Modeling
Feb. 2013
"agile"? March 2013
Ph. Kruchten 16
Agility as a Memeplex • Meme: a replicaJng “chunk” of culture, a unit of informaJon residing in a brain, a unit of cultural transmission, a basic building block in cultural evoluJon.
• Memeplex: meme complex -‐-‐ sets of memes that replicate beber as a group
• Examples: – the 50 or so memes that consJtute agile pracJces – the 12 or so memes that consJtute XP
Copyright © 2005-‐13 by Philippe Kruchten 36 Feb. 2013
Meme PropagaJon • If a meme can get itself successfully copied, it will.
• EffecJve memes will be those that cause high fidelity, long lasJng memory. Susan Blackmore, 1999
• When a populaJon of imitators start imitaJng one another, the emergent result is culture. R. Aunger, 2002
• Memes (unlike genes) : – Replicate imperfectly -‐> rapid driR – No natural selecJon of the fibest
Copyright © 2005-‐13 by Philippe Kruchten 37 Feb. 2013
"agile"? March 2013
Ph. Kruchten 17
DecontextualizaJon = cut out the relaJonships with it natural or original environment
• Pabern: • Experience a couple of success with a pracJce • Describe it • Simplify it (slogan, cute name) • Pass it on, pass it on, (write a book), pass it on • Without the original context where it was successful
• This lack of context hampers adaptaJon – AmplificaJon or dampening
M
Copyright © 2005-‐13 by Philippe Kruchten 38 Feb. 2013
Agilism, Bigotry, Act of Faith, …
• “You’re not agile because you are not doing this or that”
• Scrumbuts • “This is so ‘waterfall’!” • “Agile projects have 2 week iteraJons (if not, then they are not agile).”
• “My agile is more agile than your agile…”
Copyright © 2005-‐13 by Philippe Kruchten 39 Feb. 2013
"agile"? March 2013
Ph. Kruchten 18
Viruses of the Mind (1)
• “The paJent typically finds himself impelled by some deep, inner convicJon that something is true, or right, or virtuous: a convicJon that doesn't seem to owe anything to evidence or reason, but which, nevertheless, he feels as totally compelling and convincing. We doctors refer to such a belief as ‘faith’.”
• SoRware development is not natural science! Dawkins 1995
Copyright © 2005-‐13 by Philippe Kruchten 40 Feb. 2013
Viruses of the Mind (2)
• “PaJents typically make a posiJve virtue of faith’s being strong and unshakable, in spite of not being based upon evidence. Indeed, they may feel that the less evidence there is, the more virtuous the belief.”
• For many pracJces we have only sporadic evidence of effecJveness, or in a limited context.
Copyright © 2005-‐13 by Philippe Kruchten 41 Feb. 2013
"agile"? March 2013
Ph. Kruchten 19
Viruses of the Mind (3) • “The sufferer may find himself behaving intolerantly towards vectors of rival faiths, in extreme cases even killing them or advo-‐ caJng their deaths. He may be similarly violent in his disposiJon towards apostates (people who once held the faith but have renounced it); or towards hereJcs (people who espouse a different —oRen, perhaps significantly, only very slightly different—version of the faith). He may also feel hosJle towards other modes of thought that are potenJally inimical to his faith, such as the method of scienJfic reason which may funcJon rather like a piece of anJ-‐viral soRware.”
Copyright © 2005-‐13 by Philippe Kruchten 42 Feb. 2013
What does it mean to be agile?
• The answer is oRen: “It depends…” … Depends on what? • Your context…
Copyright © 2005-‐13 by Philippe Kruchten 43 Feb. 2013
"agile"? March 2013
Ph. Kruchten 20
Context-‐driven School of TesJng
1. The value of any pracJce depends on its context.
2. There are good pracJces in context, but there are no best pracJces.
3. People, working together, are the most important part of any project's context.
4. Projects unfold over Jme in ways that are oRen not predictable.
5. … See h8p://www.context-‐driven-‐tes&ng.com/
Copyright © 2005-‐13 by Philippe Kruchten 44 Feb. 2013
Agility does not come in a can. One size does not fit all. There are no five common steps to achievement …
Rick Dove, Response Ability (2001)
Copyright © 2005-‐13 by Philippe Kruchten 45 Feb. 2013
"agile"? March 2013
Ph. Kruchten 21
Agile “sweet spot” • 7-‐15 people • Collocated • Dedicated • Socio-‐technical system • Defined system / soRware architecture
• Low to medium safety • Friendly management environment
• New development Copyright © 2005-‐13 by Philippe Kruchten 46 Feb. 2013
Agility in Context
• LocaJon, LocaJon, LocaJon
• Context, Context, Context
Copyright © 2005-‐13 by Philippe Kruchten 47 Feb. 2013
"agile"? March 2013
Ph. Kruchten 22
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 48
Frog: “All projects are the same”
TimeQualityRisk
Intent
TimeQualityRisk
Product
TimeQualityRisk
Work
TimeQualityRisk
People
Value Value
Cost Cost
Octopus: “All projects are different!”
Copyright © 2005-‐13 by Philippe Kruchten 49
Context
Size CriJcality
Business model
Stable architecture Team
distribuJon
Governance
Rate of change
Age of the
system
Feb. 2013
Domain, Industry
Corporate & Na&onal Culture
Organiza&onal Maturity
Degree of Innova&on
"agile"? March 2013
Ph. Kruchten 23
Environment ° Context ° PracJce
Copyright © 2005-‐13 by Philippe Kruchten
Business domain Number of instances Maturity of organizaJon Level of innovaJon Culture
System size CriJcality System age Rate of change Business model Stable architecture Team distribuJon Governance
Good Prac&ces: • Planning • Rate of iteraJon • Release early, oRen • Backlog • ConJnuous IntegraJon • DocumentaJon • Quality • Risk Management • Daily stand-‐up meeJng • TDD • Pair programming • “Customer on site” • AdaptaJon • … etc.
50 Feb. 2013
Daily Standup MeeJng
• Daily • Standup • MeeJng
Copyright © 2005-‐13 by Philippe Kruchten 52
Context
Size
CriJcality
Business model
Stable architect
ure Team
distribuJon
Governance
Rate of change
Age of the
system
?
Feb. 2013
"agile"? March 2013
Ph. Kruchten 24
Ganb chart
• Bar chart to show progress relaJve to a WBS
Copyright © 2005-‐13 by Philippe Kruchten 53
Context
Size
CriJcality
Business model
Stable architect
ure Team distribuJ
on
Governance
Rate of change
Age of the system
Feb. 2013
Going outside of the “sweet spot”? • 7-‐15 people • Collocated • Dedicated • Socio-‐technical system • Defined system / soRware architecture
• Low to medium safety • Friendly management environment
• New development Copyright © 2005-‐13 by Philippe Kruchten 54 Feb. 2013
"agile"? March 2013
Ph. Kruchten 25
What is agility?
Agility is the ability of a an organiza&on to react and adapt to changes in its environment faster than the rate of these changes.
– With thanks to Steve Adolph
Copyright © 2005-‐13 by Philippe Kruchten 55 Feb. 2013
Agility Not defined as
… conformance to the Agile Manifesto … a rigid set of pracJces to follow … a defined set of roles … a branded method … the anJthesis of “waterfall”,… or old, or bad
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 56
"agile"? March 2013
Ph. Kruchten 26
Key principles
• Feedback loop -‐> – reflect on business, requirements, risks, process, people, technology
• CommunicaJon and collaboraJon -‐> – Building trust
57 Copyright © 2005-‐13 by Philippe Kruchten Feb. 2013
An&cipa&on versus Adapta&on
• Scheduling • Architecture • Minimizing cost • Efficiency
• Push
• Time-‐boxing • Emergence • Maximizing value • EffecJveness
• Pull
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 59
"agile"? March 2013
Ph. Kruchten 27
Kanban board
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 60
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 61
Value and Cost
TimeQualityRisk
Intent
TimeQualityRisk
Product
TimeQualityRisk
Work
TimeQualityRisk
People
Value Value
Cost Cost
"agile"? March 2013
Ph. Kruchten 28
Agility as Culture?
Culture is a fuzzy set of a�tudes, beliefs, behavioural norms, and basic assumpJons and values that are shared by a group of people, and that influence each member’s behaviour and his/her interpretaJons of the ‘meaning’ of other people’s behaviour. Helen Spencer-‐Oatey (2000)
Copyright © 2005-‐13 by Philippe Kruchten 62 Feb. 2013
Culture
R. Thomse8 2007
Culture Beliefs, Norms
Values Reflect beliefs
Behaviours Reflect values
Copyright © 2005-‐13 by Philippe Kruchten 63 Feb. 2013
"agile"? March 2013
Ph. Kruchten 29
Agility as Culture
Agility is a fuzzy set of a�tudes, beliefs, behavioural norms, and basic assumpJons and values that are shared by a group of people, and that influence each member’s behaviour and his/her interpretaJons of the ‘meaning’ of other people’s behaviour. Kruchten (2005)
Copyright © 2005-‐13 by Philippe Kruchten 64 Feb. 2013
So, agile…
… is a fuzzy concept … is not a panacea … is not working for everyone … is not new … is a passing fad Where do we go from here?
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 65
"agile"? March 2013
Ph. Kruchten 30
I would claim that…
• Agile pracJces are good in a specific context, to solve a specific problem.
• AdopJng a pracJce without knowing this context, or what issues it solve is like voodoo, or cargo cult.
• A branded method will rarely be the best answer.
• We want to replace rhetoric by evidence.
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 66
Right pracJce, right Jme, right fit
• Choose pracJces based upon project context, not for organizaJon or social reasons or pressure
• Cultural fit is as important as technical fit
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 67
"agile"? March 2013
Ph. Kruchten 31
Step by step:
• What value do we deliver? • What are the pain points (for us)? • Which pracJces (agile or not) address our pain points?
• Adopt one, assess its impact. • Exploit synergy between mulJple pracJces • Go slow • Change is hard
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 68
Change is Hard
• Change is oRen perceived as a threat • Leads to “emoJonal resistance”, fear • Needs to be overcome by a stronger emoJon: desire
• But the iniJal changes beber be good, or they would condemn for a long Jme any future changes
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 69
"agile"? March 2013
Ph. Kruchten 32
Key principles
• Feedback loop -‐> – reflect on business, requirements, risks, process, people, technology
• CommunicaJon and collaboraJon -‐> – Building trust
70 Copyright © 2005-‐13 by Philippe Kruchten Feb. 2013
Feedback Loop • ORen: stop and think
– Once per iteraJon at least – Are we doing the right thing? – Are we doing the thing right? – Can we do beber? – Use indicators:
• Quality (defect analysis) • Issues and risks ge�ng stale (open for long Jme) • ProducJvity (velocity), Burn down chart • Delays, pushing objecJves down the Jme line
• Post-‐mortem, retrospecJve, debriefing – capture lessons learned
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 71
"agile"? March 2013
Ph. Kruchten 33
Summary
• Nature of soRware • Nature of soRware development • Risks and uncertainty • Context mabers, a lot • AdaptaJon versus anJcipaJon • Process: one size does not fit all • Building trust • Don’t do agile, be agile
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 72
Feb. 2013 Copyright © 2005-‐13 by Philippe Kruchten 74
www.agilevancouver.ca