My Understandings of Agile Over Time
This post is a short summary of my understanding of Agile over the past several years:
"I don't need to learn Agile. I just need to write code."
This is my thought when I first learned the concept of Agile in my college.
It turns out to be really wrong.
"Agile is just shorter waterfalls."
Jon Kern on Twitter: "Start with doing waterfall in really short timeframes.… "
"Agile is to do things in smaller steps and to gather feedback as much as possible."
- Courage
- Take small steps
- Get feedback
- Refine
- Repeat
-- from GOTO 2015 • Agile is Dead • Pragmatic Dave Thomas - YouTube
- Courage
"Agile is to validate your actions before you take them."
- Design
- What makes agile and waterfall different
- Iteration length
- If you make the iteration short enough, behavior has to change
- Design is just a fancy word for organize
- I don't know which part I need to change (Design)
- I don't know if I did it correctly (Test)
- The reason for agile software development: Cash in my pocket sooner
Reverse the order and repeat
Investment -> Requirement -> Analysis -> Design -> Coding -> Testing -> Operations Operations -> Testing -> Coding -> Design -> Analysis -> Requirement -> Investment
- What makes agile and waterfall different
- Almost every problem boils down to long feedback cycles (two
people don't like to talk to each other)
- Cut it in half
- It's already hard enough to change the way you work
- It's challenging enough that make you energized enough to work on it
- Repeat when half the length feels long again
- Cut it in half
-- from DevTernity 2018: J.B. Rainsberger - The Economics of Software Design
- Design
"You can always be more Agile." ("Agile is not a noun, it's an adjective.")
Agile is about Change.
- Takeaway message
- Agility is a journey
- Always inspect and adapt the process
- It is a continuous investment
- Don't be afraid, there is hope
- The heart of being agile
- Growth mindset
- Inspect and adapt
- Flexibility
-- from GOTO 2018 • Polyglot Agile • Aino Vonge Corry - YouTube
That being said, "doing Agile" (Agile as a noun) is still important
- THE IMPORTANCE OF "DOING"
- The practices are needed to help understand the principles
- The principles are needed to help guide towards new or stronger practices
- "The activities (practices) are what you do. The values are how you decide if you are doing it right."
- In situations where I don't quite know what to do, I fall back on the practices, trusting that they will carry me forward until I figure out which way to go.
-- from Embrace 'Doing Agile'
- THE IMPORTANCE OF "DOING"
- Takeaway message
As it was said in the last point, I can always be more agile as well. And I think this summary is also a great reflect on this point.
Hope you can also learn more about "Agile" from these great talks and articles, or share your experiences with "Agile" in the comments below.