[GUEST COLUMN] Do diets work? Does going to gym work? Well, not so much in my case, but I’ve heard of motivated people who can make these things work!
I went through a phase where I really wasn’t into gym workouts, but I needed to keep my membership active with at least four gym visits a month. So I’d pop in once a week for a smoothie at the gym’s juice bar. Not surprisingly, this rule bending behaviour didn’t help me get any fitter or lose any weight through going to gym.
Agile works in much the same way, in that it doesn’t work at all if you don’t. It also doesn’t work if you adhere to the rules but not the spirit of Agile.
There are plenty of teams who do daily stand ups, maybe hold retrospective meetings, and even have a Scrum board, but they are just going through the motions of Agile. They’re basically pitching up to the juice bar, but not working up a sweat in the gym. The team’s actual behaviour hasn’t changed to be Agile, so they’re “doing” Agile by rote.
The core principle of Agile is about delivering small pieces of valuable work at high frequency (plus some very important values that are a topic on its own). What’s the smallest piece of code that can be developed that will provide business benefit? It seems like a simple premise, but in reality it’s hard to do.
Business often takes the view that all features are needed before a new system will be useful. Yet industry statistics show that only around 20% of system code is useful daily, and another 20% may never be used at all. The balance lies in monthly or periodically used features, or in edge cases (an anomaly to the standard usage).
It’s human nature to want a clear path before moving forward, but in truth our path is never as straight as we hope! The balancing act with any process is to have a clear vision, but be willing to adjust our tactics as needed along the way. Agile provides the best mechanism that we have for these incremental steps.
It really doesn’t matter what process a team follows to support being Agile. What matters is having a fanatical dedication to developing small iterations of quality work. There’s Kanban, Scrum, Modern Agile, SAFe and many more process focused methodologies. Consider them flavours of smoothies at the juice bar.
The Agile principles that address software development come from XP (Extreme Programming). XP is the gym equipment where we’ll work up a sweat. It’s where we consider emergent design, test driven development, continuous integration and many more practices that will help us to deliver better software.
In fact, we have extensive equipment to help us in our software gym. We have Domain Driven Design, Clean Code practices, refactoring tools, third party packages for much of the heavy lifting, and excellent development environments to assist us along the way.
The work of software development is not visible in most Agile teams. Team walls are filled with Backlog boards, but not design documents. Data structures, module design and UX flows are some of the technical documents that we really need on our walls to make work visible.
I believe that Agile doesn’t work for many teams because they’ve lost sight of the software that is at the heart of what we do. We have Product Owners to help describe and prioritise what the business wants. We have Scrum Masters that help with all sorts of great soft skills, time management, and communication in the team. But where is the Code Coach that will help the team deliver better code?
Here are my recommendations for making Agile work for your team:
- Make software visible as the heart of the process, not just something the developers do with headphones on and in total isolation. Pair programming helps tremendously with code quality, or give mobbing a try.
- Technical design of software really matters. If a team never discusses design, what sort of quality is being developed? Without guidance, design quality will not improve on its own.
- Don’t impose ever larger process overhead because Agile isn’t working for your team. Look internally at your processes, and you will probably find the silver bullet has been right there all along!
Agile brings important aspects of visibility, managing scope, and open communications to projects. Pair this with Extreme Programming principles, and good design, to focus on the technical aspects of the software development that your team does. You’ll find that Agile really does work.
Lorraine Steyn founded Khanyisa Real Systems (KRS) in 1987, at the age of 24. She has continued to grow KRS since then, and now has over 50 technical staff in Cape Town and Gauteng. Steyn was the first woman outside of America to be a Delphi Certified Developer, and has continued to stay abreast of new technology even as the business grew.