In my time in the software development field, I have seen many fads come and go – programming languages, software development & project management methodologies, design patterns and architectures, to name a few.
Each brought a new way of doing things – sometimes evolutionary (e.g. Java), sometimes revolutionary (e.g. Test-Driven Development). But irrespective of the type of innovation, I’ve noticed a common theme that distinguishes organizations that have successfully adopted a new approach from those who haven’t – a strong commitment to change and perseverance despite the obstacles.
As an example, the company I currently work for is often sought after by prospective clients to help with the adoption of Agile practices in their organization. As strong advocates of this approach to software development, we are always eager to help organizations on their journey down this path.
But this is where the story starts to get interesting…
As with any significant change program, helping an organization transition from a waterfall approach to software development to one that employs an Agile mindset is far more involved than many would like to accept. Most organizations that I have worked with have needed a good two years+ to really internalize the philosophy underpinning an Agile approach into their day-to-day routines. And even then, they would fully acknowledge that they still had a long way to go.
Unfortunately, these success stories are outnumbered by the number of organizations who sought a short-cut approach and grossly under-estimated the effort required to bring about this substantial change. Without fail (at least to my better knowledge), these organizations were ultimately unsuccessful.
But surely, they say, how hard can it be? I read the book, went on the course – I get it!!!
And sure, the principles and philosophy underpinning Agile aren’t that complex (by definition!). But the real challenge is that of managing change in the organization. This is never a simple undertaking, and is certainly not in the already complex field of application software development. Not only is there the internal change in the team (roles, skills, responsibility and even personnel (those on the bus, not on the bus)) – external stakeholders are significantly impacted as well.
- Agile teams can deploy software as frequently as every week. Typical waterfall-centric organizations deploy software every quarter.
- Agile teams build to test, and then test throughout the development cycle. Testers sit side-by-side with developers, not ‘over the wall’ waiting for the ‘completed’ software
- Subject Matter Experts (SMEs), and even representative users, are often part of the team throughout the development – not just at the beginning (for design) and again at the end (for testing).
These and many other significant changes require that the organization take an ‘all-in’ approach. The ‘softly, softly’ approach unfortunately is doomed from the start, as the institutional inertia, even in small organizations, is usually too hard to shift without a major focus on the change itself. To quote an oft-used phrase by a colleague of mine “two Agile coaches for a couple of months ain’t gonna cut it”.
The organizations that I have seen successfully adopt an Agile approach to software development have been both brave and persistent:
- Brave enough to make a statement that ‘we are committing to this approach as an organization’ and then putting the necessary resources behind it
- Persistent enough to see the process through until the rewards began to appear (riding through the inevitable challenges and failures that occur during the learning and adoption process)
Fortune indeed favored these companies and they are benefitting from their decisions handsomely. One company that I have been associated with releases software into production every month and is able to launch new financial products on its customer-facing website every 4-8 weeks (compared with 6-9 months for most of their competitors).
In the end, the choice of approach is outweighed by the commitment placed behind that choice. The short-cut approach has little chance of success – but with adequate resource commitment and strong leadership, the results can be spectacular.