How to move your agile software development process from boring to purposeful and productive. Benefits of agile processes, problems with agile processes and how to give teams autonomy.
Are you engineers stuck in a rut? Maybe what was a good thing has become a drag. Learn strategies for advanced software development processes.
5. Gabe Hamilton
What who am I? Jabberwocky superfly! 1
I’ve worked on lots of kinds of projects.
Short, Multi-year, Green-field, Maintenance mode
Government, Fortune 500, Startups
Agile ->
2005
8. But not this order
After 40 years of being wrong
we decided to try something
different.
https://www.slideshare.net/gabehamilton/soft
ware-engineering-for-ceos
9. We did it! We have a good agile process!
1
Regular Retrospectives
Regular planning meetings
1 week, 2 week, 4 week, whatever
2 Estimate Stories
Prioritize !!!
3
Some pairing
Or at least code review
4 Tests that we like
Some tests we don’t like too but
that’s life
10. Feature slip
We deliver releases.
Rather than write godawful code, we let features slip to the next iteration.
Mostly.
11. It doesn’t matter what flavor
1 Scrum
Let’s under/over commit each week
2 Kanban
One thing at a time please.
3
Lean
Let’s pretend to build the software
4 Extreme Programming
Why are we yelling!
12. We are in lock step, delivering value
Iteration 1
User Interface
Iteration 2
Initial API
3
Dashboard
4
Single sign on
5
Message Bus
13. So what’s the problem?
Assembly line
Lack of individual ownership & creativity
Rule of committee
14. We all agree to limit ourselves.
And some of that is good.
We do need common vision and alignment,
and to all pull together in the same direction
16. Our future robot overlords aren’t
In Machine Learning we can use prediction error to train an algorithm.
For example, training on video to predict traffic by time of day.
Areas of maximum error are the ones to focus on (Curiosity).
Except focusing on areas of error leads to things like trying to predict the color of the next car.
“Boy I’m bad at this, better keep trying”
So we program in, “Don’t keep trying if you aren’t getting better” (Boredom).
17. What are the negative effects?
1 Everyone quits
2 Focus on incremental value
3
Lack of innovation
4 Stuck in local maximum
18. So what do we do?
No Product Managers?
https://vimeo.com/74437772
Watch Tim’s excellent talk
But wait, I like some Product Management...
19. So what do we do?
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Return to First Principles
20. So what do we do?
Kaikaku
Radical change: rearranging the
assembly line over lunch.
Key part of continuous improvement.
We can radically change our agile processes
21. We can have both
Agile Process is a tool
We have many tools
We can use different ones at different times
23. Hyper-Agile
Good before and after releases.
Every day:
What is the current blocker?
What most needs to be fixed?
Standup is the planning meeting.
24. Long form
Good for building value
3 month projects
Big, vague
problem definition
25. Long form - full autonomy
“Work on what you want... and demo it”
People will solve what is bugging them.
Often the most boring part of the project.
And will create outsized value.
26. Adapt approach to current complexity
https://www.slideshare.net/gabehamilton/adaptive-software-engineering
For a large new project
To get a team up and running and to bring on new members use a normal agile process for up to 3 months.
To create maximum value we should spend the most time in long form.
Once the major pieces are in place return to agile for a few weeks, then switch to hyper-agile for up to
two weeks before and two weeks after full go live.
Start
Full go live
28. True Agility = Spare Capacity
Theory of Constraints: Protective capacity
“Any part of a system that needs protection from
uncertainty, variation, or disturbances in the
environment, while still interacting with that
environment, requires some sort of buffer.”
-https://praxis.fortelabs.co/theory-of-constraints-104-balance-flow-not-capacity-60baa74ce9f4/
30. Acknowledgements
Smartphone road Photo by Matheus Bertelli from Pexels
Robot Photo by Somchai Kongkamsri from Pexels
1. Lyric from Save Yourself byAesop Rock