Developing an Agile ICT Training Model for 21st Century Requirements in the ASEAN Region
Agile and software engineering in the 21st century
-
Upload
agile-lietuva -
Category
Documents
-
view
3.565 -
download
0
description
Transcript of Agile and software engineering in the 21st century
©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
©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?
©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
©Alistair Cockburn 2010
4
Craft
Cooperative Game
Knowledge Acquisition
Flow Management
Self-Awareness (Personalities)
origami courtesy of Gery Derbier
©Alistair Cockburn 2010
5
Self - Awareness
©Alistair Cockburn 2010
6
People don’t match formulas
Keep these Try these
Problems
©Alistair Cockburn 2010
7
Craft
©Alistair Cockburn 2010
8
People learn skills in 3 stages
Shu: Learn a technique
Ha: Collect techniques
Ri: Invent / blend techniques
©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
©Alistair Cockburn 2010
10
The International Consortium for Agile is establishing a learning roadmap for each specialty.
©Alistair Cockburn 2010
11
Cooperative Game
©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
©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
©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
©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
©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)
©Alistair Cockburn 2010
17
Flow Management
©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!
©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
©Alistair Cockburn 2010
20
Knowledge Acquisition
©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
©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
©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
©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
©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