Agile: More Than Just Standups
@kylecoberly
www.kylecoberly.com
We tried baseball and it didn't work
(Hat tip to Ron Jeffries)
P
1
2
SS
3
C
LF
CF
RF
B
B
B
B
B
B
B
B
B
Fundamentalist Baseball
(Stuuuuupid)
P
C
LF
RF
B
B
B
B
Scalable Baseball
P
C
LF
RF
B
Intuitive Baseball
B
B
B
P
C
LF
RF
B
Efficient Baseball
B
B
B
P
CF
LF
RF
Expert Baseball
WSBH
WSBH
WSBH
WSBH
P
CF
LF
RF
We Tried.
WSBH
WSBH
WSBH
WSBH
P
1
2
SS
3
C
LF
CF
RF
B
B
B
B
B
B
B
B
B
What it is
What it isn't
How to get there
What is agile?
Answer to Taylorism
The Dinosaur Cage
Project Management Spectrum
Predictive
Adaptive
Iterative
Agile
TPS
Ancestry
Scrum
XP
Kanban
Lean
Philosophies
Frameworks
Implementations
Agile Values
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Individuals and interactions
over
Processes and tools
Agile Values
Individuals & interactions over processes & tools
Individuals | Interactions |
---|---|
Kyle | Talking |
Elyse | Reviewing |
Duncan | Training |
Miles | Developing |
Processes | Tools |
---|---|
Chain of command | Instant messaging |
Sign-offs | Meetings |
Eligibility | Training courses |
Handoffs | IDEs |
Working software
over
Comprehensive documentation
Agile Values
The Binder
Working software over comprehensive documentation
Requirement
Software
Necessary documentation
Working software over comprehensive documentation
Customer collaboration
over
Contract negotiation
Agile Values
Customer collaboration over contract negotiation
Money, Scope, Time
Tug of War
Customer collaboration over contract negotiation
The Problem
Aligned Interests
Customer
Dev Team
Responding to change
over
Following a plan
Agile Values
Responding to change over following a plan
Both of you end up wrong and pissed off.
"Read my mind!"
"Predict the future!"
Responding to change over following a plan
"We're getting closer!"
"Is this it?"
Agile Values
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- 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 left more.
What is agile?
Fragile Agile
and the Twelve Principles
(half of)
#1: Bad stand-ups
- Long stand-ups
- Used for status updates
- Used for task assignment
- Not owned by the team
- Low energy
"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation."
Fragile Agile
#2: Big design up-front
- Planning a full schema
- Writing a framework first
- Surprising the customer
- Testing at the end
"Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage."
Fragile Agile
#3: Processes are locked down
- Someone outside the team is mandating the process
- Someone is revising your estimates
- Not reflecting
- Not changing based on the retro
"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly."
Fragile Agile
#4: Late-night martyrdom
- Code isn't always releasable
- Allowing developers to burn out
- The extra code is worse
"Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely."
Fragile Agile
#5: Trying to control scope
- Using waterfall project managers
- Sticking to a low-value plan
- Not working in priorities
- Non-agile billing practices
"Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage."
Fragile Agile
#6: Writing buggy code
- Not being done
- Code reviews
- Pairing
- Testing/TDD
"Continuous attention to technical excellence and good design enhances agility."
Fragile Agile
Devs must love this!
"It's a scam!"
"It's a get rich quick scheme!"
"Just an MBA mind-fuck"
"Sounds like a consultant payday to me"
"It's a scam!!"
Management is hard, ergo most people are bad at it.
"It's a scam!!"
Things that have certifications:
- C/C++
- Java
- Haskell
- Everything
"It's a scam!!"
Authors of the agile manifesto:
- 5 Self-taught
- 3 BS in Computer Science
- 2 MS in Computer Science
- 1 PhD in Physics
- 1 PhD in Biometrics
- 1 MS in Information Systems
- 1 MS in Management (also BS in EE)
- 1 BS in Information Systems
- 1 BS in Aeronautical Engineering
- 1 BA in Information Technology
Where are the MBAs?
"It's a scam!!"
People who use coaches:
- The best athletes in the world
- The best artists in the world
- Why not the best software teams?
"It's all just common sense repackaged!"
"We were doing this for years before you jackals showed up!"
"There's people who are good at this and people who are bad at this and that's it."
"It's just common sense!!"
Uncommon Sense |
---|
Embrace change |
Build one feature at a time |
Test as you build |
Deploy early and often |
"Common Sense" |
---|
Plan the work up front |
Build one layer at a time |
Build then test |
Deploy when you're done |
"This is just about business!"
"What does this have to do with making software?"
"You figure out your shit, I'm too busy making the app over here."
"Business-driven development is a plague."
Devs aren't the center of the universe!!
"Stay outta my business!!"
"Stay outta my business!!"
Problem Selection (Marketing)
Solution Selection (Design)
Solution Implementation (Development)
Assuming the right problem...
Assuming the right solution...
"You can't just apply a rote process to a team and get results."
"Stand-ups are stupid and demoralizing!"
"Right, the road to better software is paved with more meetings."
"Good luck making real software without PMs or designers"
- The rules and values are fixed, your practice of them is not
- No frameworks?
- The little meetings mean you don't have to do the big meetings
- Roles != Titles
"No formulas!"
"Collaboration just makes people nervous!"
"It's a system made to grind developers down and average them out."
"Having constant deadlines makes everything crunch time!"
"This is micromanagement."
"Agile is anti-dev!!"
Agile won't fix your broken culture.
"Agile is anti-dev!!"
No country for old cow-persons
Maybe you should quit.
"Agile is anti-dev!!"
What isn't agile?
Agile Cultures
Kill toxic practices
Unsustainable Work
- Don't ask people to crunch
- Don't reward people for crunching
- End the day together
Kill toxic practices
Fear
- Change
- Exposure
- Mistakes
Kill toxic practices
Performance-based Management
- Blaming system issues on individuals
- Vanity metrics
- Tying compensation to performance
Kill toxic practices
Reform customer relationships
Customer == Teammate
- Base it on trust, not contracts
- It's an equitable relationship
- They understand their problems better than you
Reform customer relationships
Make your billing agile
Unaligned Billing
- Hourly
- Fixed Scope
- Fixed Price
Make your billing agile
Story Point Billing
- Well-aligned
- Bill on delivery
- Bill for a pool / iteration
Make your billing agile
Make your billing agile
(Hat tip: Jeff Sutherland)
your team
Hire the right people
- The "rockstar" false economy
- Complementary skills
- Hire for attitude not aptitude
your team
Be a school
- Cross-train
- Let people grow
- Give them somewhere to go
your team
Respect
- Self-organizing
- Bake in vacations, holidays, downtime
your team
What it is
What it isn't
How to get there
Agile is not a silver bullet
It's a silver mirror
BONUS:
Using agile to write this talk
First Iteration
Second Iteration
Third Iteration
Fourth Iteration
Fifth Iteration
Sixth Iteration
Ta-da!
Questions?
Kyle Coberly
@kylecoberly
kylecoberly.com
Errata
"We tried agile and it didn't work"
Standups
"We tried agile and it didn't work"
The Morning
"We tried agile and it didn't work"
The Afternoon
"We tried agile and it didn't work"
The Evening
"We tried agile and it didn't work"
P
1
2
SS
3
C
LF
CF
RF
B
B
B
B
B
B
B
B
B
End Zone
End Zone
G
G
T
T
QB
RB
RB
WR
WR
PG
PG
SF
PF
PF
SF
Agile
By Kyle Coberly
Agile
Presentation for Develop Denver 2016
- 1,833