Enabling Agility in a Waterfall Enterprise
There exists a gap between organizations that run fluid, functional agile development processes, and those that are founded in more traditional practices. Large enterprises can struggle with agility for many different reasons, but there are things that enterprise development teams can do to separate themselves from the struggles associated with a waterfall SDLC.
In my experience, the biggest key to breaking into an agile process is to keep things as simple as possible. The core concepts behind agile are very simple:
You’ll note that tasks reach a ‘Done’ state in this diagram without complexities such as story points or sprint retrospectives. Just pick the highest priority tasks you think you can accomplish in a few weeks and get to work on them.
Many organizations add more formal planning, estimation systems, or checks into the process, and this is not meant to discredit any of those. But to get off of the ground, the most important thing is just to manage work in terms of small sprints instead of large projects. This follows the 80/20 rule: the most crucial improvements can come from the initial few changes.
I wanted to keep today’s post concise. We could dive into the benefits of agile, or how to take the next steps such as managing smaller releases, but there’s plenty of existing resources on those. Just remember that problems aren’t solved by meetings or estimations. They’re solved by diving into a task, pushing features and fixes, and moving on to the next problem.
Copyright note: It’s come to my attention that this title is shared with an already published book by Joe McFadden. This is in no way affiliated with the book, but perhaps it’s a good source of further reading! I’m pleased to see that I’m not the only one who has worked through this transition.