agile and software engineering in the 21st century
DESCRIPTION
Dr. Alistair Cockburn Agile and Software Engineering in the 21st CenturyTRANSCRIPT
![Page 1: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/1.jpg)
©Alistair Cockburn 2010
What Makes Agile Work: What Makes Agile Work:
The New Software EngineeringThe New Software EngineeringGetting Past “Wimpy” AgileGetting Past “Wimpy” Agile
Dr. Alistair Cockburnhttp://Alistair.Cockburn.us
![Page 2: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/2.jpg)
©Alistair Cockburn 2010
2
The Agile Manifesto invites wimpy-ness
"… Individuals and interactions over processes & tools…"(Yayy!! I don't have to follow those stupid processes any more!)
"… Working software over comprehensive documentation…"(W00t!! Dump the documentation! I LOVE this agile stuff!)
"… Customer collaboration over contract negotiations…"(I'm done when I'm done and I never have to say when!)
"… Responding to change over following a plan…"(No plans! No project managers! No architects! )
Where do I sign up?
![Page 3: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/3.jpg)
©Alistair Cockburn 2010
3
People ...
Solving a problem
Creating a solution
To an interpreter unforgiving of error
Making decisionsevery decision has economic consequences
and resources are limited.
… they don’t understand which keeps changing
Com
municating
Deciding
Inve
ntin
g Expressing ideas
in a language … they don’t understand which keeps changing… they don’t understand which keeps changing
![Page 4: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/4.jpg)
©Alistair Cockburn 2010
4
Craft
Cooperative Game
Knowledge Acquisition
Flow Management
Self-Awareness (Personalities)
origami courtesy of Gery Derbier
![Page 5: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/5.jpg)
©Alistair Cockburn 2010
5
Self - Awareness
![Page 6: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/6.jpg)
©Alistair Cockburn 2010
6
People don’t match formulas
Keep these Try these
Problems
![Page 7: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/7.jpg)
©Alistair Cockburn 2010
7
Craft
![Page 8: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/8.jpg)
©Alistair Cockburn 2010
8
People learn skills in 3 stages
Shu: Learn a technique
Ha: Collect techniques
Ri: Invent / blend techniques
![Page 9: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/9.jpg)
©Alistair Cockburn 2010
9
Craft teaches us to pay attention to our skills and to the medium
Major crafts:
1 Deciding what to build
2 Managing (people and projects)
3 Modeling
4 Designing the external view
5 Large-scale design (architecting)
6 Fine-scale design (programming)
7 Validating the work
![Page 10: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/10.jpg)
©Alistair Cockburn 2010
10
The International Consortium for Agile is establishing a learning roadmap for each specialty.
![Page 11: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/11.jpg)
©Alistair Cockburn 2010
11
Cooperative Game
![Page 12: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/12.jpg)
©Alistair Cockburn 2010
12
Infinite Organization SurvivalCareer Management
Competitive Cooperative
Open-ended Jazz music
Finitegoal-directed
King-of-the-hillwrestling
Poker
Tennis
Chess
Rock-ClimbingTheater
JournalismExplorationSoftware
Development
Business
Product Line Management
IT Systems
Games have positions, moves, strategies
![Page 13: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/13.jpg)
©Alistair Cockburn 2010
13
Three moves:
Two conflicting subgoals:
Deliver this systemSet up for the next game
The situations (almost) never repeat!
Com
municating
Deciding
Inve
ntin
g
![Page 14: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/14.jpg)
©Alistair Cockburn 2010
14
C6 C20 C40 C100
D6 D20 D40 D100
E6 E20 E40 E100
L6 L20 L40 L100
Project Classification Scale:
Number of people coordinated
1 - 6 - 20 - 40 - 100
Comfort
Essentialmoneys
Life
Discretionarymoneys
Criticality
X
X X
XX
Adapt to your situation
![Page 15: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/15.jpg)
©Alistair Cockburn 2010
15
Richness of communication channel
Com
mun
icat
ion
Eff
ectiv
enes
s
2 people on phone
2 peopleon chat (Q
uestion-and-Answer)
2 people atwhiteboard
(Courtesy of Thoughtworks, inc.)
Face-to-face is the most effective - Try Video
Paper(No Question-Answer)
Videotape
![Page 16: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/16.jpg)
©Alistair Cockburn 2010
16
People issues determine a project’s speed
Can they easily detect something needs attention?
(Good at Looking Around)
Will they care enough to do something about it?
(Pride-in-work; Amicability)
Can they effectively pass along the information?
(Proximity; face-to-face)
![Page 17: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/17.jpg)
©Alistair Cockburn 2010
17
Flow Management
![Page 18: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/18.jpg)
©Alistair Cockburn 2010
18
I wish they’d decide what style they want!
Users &Sponsors
Testers
BusinessAnalysts
I wish they’d decide what
functions they want!
A decision
I wish they’d decide on the UI design
already!
I wish they’d think a bit more carefully
before coding!
Programmers
Every line of
code is a decision
UI Designers
Design = manufacturing if Inventory = Decisions!
![Page 19: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/19.jpg)
©Alistair Cockburn 2010
19
Users &Sponsors
UI Designers
ProgrammersTesters
BusinessAnalysts
Convert jams
Users &Sponsors
UI Designers
ProgrammersTesters
BusinessAnalysts
to continuous flow.
Reduce decisions in motion & balance the flow
![Page 20: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/20.jpg)
©Alistair Cockburn 2010
20
Knowledge Acquisition
![Page 21: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/21.jpg)
©Alistair Cockburn 2010
21
Delivers nearly no knowledge(or risk reduction)
Big-Bang Design is a late-learning strategy
time
Knowledge comes atthe “moment of truth”: final integration.
cost
Growth of knowledge with big-bang integration
![Page 22: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/22.jpg)
©Alistair Cockburn 2010
22
Development sequence indifferent (with respectto knowledge)
Delivers knowledge
(risk reduction)
We can pay to learn early in the project
time
cost
Growth of knowledge with early, continuous integration
Applies to both business ("lean startups") & technical design
![Page 23: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/23.jpg)
©Alistair Cockburn 2010
23
Develop for business value once risks are down
time
Knowledge growing(risk reduction)
cost
Business value growing
Reduce risks:- Business- Social - Technical - Cost / Schedule
![Page 24: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/24.jpg)
©Alistair Cockburn 2010
24
Trim to deliver on-time (or early)
Delay to get moreor better
Payoff = Trim-the-Tail: Deliver by value or date
![Page 25: Agile and software engineering in the 21st century](https://reader033.vdocuments.net/reader033/viewer/2022061111/54552a8eaf79594f558b4753/html5/thumbnails/25.jpg)
©Alistair Cockburn 2010
25
Craft Professions
skills in a medium
Cooperative Game communication teamwork strategies
Knowledge Acquisitionpay-to-learntrim-the-tail
Flow Managementunvalidated decisions
= inventory,lean processes
Self-Awareness (Personalities)the people, strategies, techniques
actually used
Designing in Teams
origami courtesy of Gery Derbier