How to keep your team from getting Agile wrong
Twenty years ago, a group of highly experienced software developers, including as Martin Fowler (now known for microservices), Ron Jeffries (extreme programming), Robert C. Martin (now famous as "Uncle Bob") and Jeff Sutherland (inventor of SCRUM) met in Snowbird, Utah for two days to discuss some serious industry-wide problems that will sound familiar to any engineering manager even today: software estimations are often wrong, software projects are always being behind schedule, requirements change mid-development, etc.
What came out of that conference was the Agile Software movement. Unfortunately, what we call "Agile" today (SCRUM, sprints, stories, story points, standup meetings, retros, velocity) look nothing like what this group originally proposed. The entirety of the Agile Manifesto consists of two pages: the four values, and most importantly, the twelve agile principles.
But somewhere along the way, Agile went to the dark side. To demonstrate this point, please do the following:
Martin Fowler himself addressed this in his 2018 Agile Australia keynote speech, where he described the current state of affairs as "Dark Agile". We can observe two main types of Dark Agile:
As an engineering manager, how do you avoid these two pitfalls?
领英推荐
First, open your team's eyes about Dark Agile -- as you demonstrated to yourself above, demonstrate to your team that we have strayed from the original message of the Agile Manifesto's authors. Without this understanding, they will see anything other than the popular "Agile/SCRUM" process as "anti-agile".
Second, identify the two most important principles out of the original twelve, and implement them in your own way. Without these two, the entirety of Agile breaks down. And those principles are: (3) Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale and (7) working software is the primary measure of progress. This does not automatically mean sprints and stories. That is just one interpretation. The most important thing is this understanding:
This famous image by Henrik Kniberg embodies the entire foundation of Agile: frequently deliver small increments of value to your end user. Show them the working product, not project plans, spreadsheets or charts. That is all. Everything else is a process detail which can differ from company to company. For example, at :Different, where I work, we do this by slicing requirements into small bits that can be developed within 3-4 days and demo-ed to end users every Friday. Whether we use the words "story" to describe the requirement or "sprint" to describe the time period, is not important.
Here's another image you can use to drive the point:
Start with these two steps (namely, open your team's eyes about "Dark Agile", and encourage them to ship small, demo-able units of work daily if possible, weekly if not) and you're mostly Agile. If you want to do more, look no further than the remaining ten principles in the Agile Manifesto.
Experienced Senior Product Manager | Ex Sysco Foods Corporation (USA SYY:NYSE) with expertise in product management, product strategy, delivery, and project management
2 年Great read.
Driven by humility
2 年Nice write-up Hasitha. What most forget is that concepts like Velocity, Story points etc. are techniques that were introduced to help you get closer to exercising the principles (but by no means the only techniques) but folks start using them without knowing the why, and then it becomes doing agile rather than being agile.
Software Engineering Team Lead at BBC
2 年Couple of weeks ago I was reading https://www.simplethread.com/agile-at-20-the-failed-rebellion/ , And suddenly it struck me that most of the agile practices I have seen at companies have been shoved down the throats of the developers (who seemingly wanted none of it) by management who seemed to revel in the metrics and pretty dashboard. They seemed to relish the "sense of controllability" it seemed to confer on them. But agile originally was none of that right? That grass roots rebellion which screamed "let us do the damn work and only bother us once in a while", has now been subsumed in to the enterprise machinery. I suspect the "design for next sprint" mentality comes about because people take agile as a religion that you dare not veer from. This makes them eschew any work out side of the sprint thus no design work ever gets done outside of sprints. And of course when it is time to design, you only design within the couple of days you are allocated. This I think explains majority of the design as we go along results you see,
Founder and COO at WealthOS
2 年Great article Hasitha Liyanage - in my opinion, adopting agile after many years of waterfall has actually been beneficial - the importance of good design and the need for a 'functional, usable release' are concepts I've carried forward into agile, and this has made the transition a much more fruitful process!
Head of Engineering, Market Infrastructure Technology, LSEG
2 年Very relevant today. On the point of sound design principles and attention to detail, I use the analogy of the push-bike becoming a car. We need to progress through meaningful incremental deliveries, but, by laying the foundations for the sturdy car frame from the beginning and not end up with a car on a bike frame ??. Many agile projects can easily end up like the latter with an all “think as you go” approach.