Are the rumours of the death of agile greatly exaggerated? At the ripe old age of 30, has agile passed on? For a software methodology, 30 is positively ancient…In my opinion, the answer is no, it’s just grown up, in fact it has actually left home, found a flat, a girlfriend and has conceived a child which it named DevOps.
Without agile, we may never have heard of DevOps and its promise of organisations producing new and innovative products that precisely meet customer needs, delivering them to the market faster and with higher quality than their competitors. I frequently speak with clients and business partners who are looking to understand, adopt, or who are already working with DevOps. For many, the approach has already delivered tangible commercial benefits, however it is not universally successful.
What Prevents Organisations Being Successful with DevOps?
I would say there are three main blockers to DevOps success:
- Poor communication between siloed stakeholders; quite simply, the major players in an organisation just don't communicate effectively.
- Lack of reusable best practices; the development process simply gets reinvented from scratch for each new product. Like some strange kind of developmental Goldfish, all the things that worked well and which should be reused, and all the bad stuff that should be avoided next time around are simply forgotten about!
- Lack of automation; why would an organisation want to deliver any commercially important DevOps project without integrated tool support?
Improving DevOps Success
The big question is, how can all organisations perform as well as the best DevOps practitioners? Here are my three Top Gear Top Tips:
- Create a DevOps Best Practice Framework to document your DevOps process, and to have somewhere to capture the aspects that went well and those aspects of the projects that didn't go to plan. Consider using a process framework tool to ensure the best practices are easy to distribute to the stakeholders, easy for them to use, and easy to obtain feedback on the process and maintain/update it.
- Embrace automation; avoid highly manually intensive, error prone and inefficient working practices and look to automate as many aspects of your DevOps approach as possible. While it is possible to stitch together open source or cheap tools to provide a patchwork quilt solution, do consider the added value of rolling out professional, integrated and easily maintained off the shelf solutions. These will enable your organisation to:
- Harvest customer sentiment, capture and document customer needs
- Employ effective product portfolio management
- Document product requirements and rigorously share these requirements with all stakeholders that need to access them
- Formally develop and test the features of your new product, reducing the risk of development, reducing delivery timescales and increasing the quality of the delivered product.
- Rigorously manage the release, deployment and delivery of your products, enabling the stakeholders to know precisely what it is they are delivering, enabling management of versioning, product variants, and product maintenance to be simplified
- Enjoy effective and efficient communications, ensuring less mistakes are made, development proceeds more quickly, and that the delivered product matches the expectations of all the stake holders, including your customers, using an integrated agile distributed development solution
- Improve stakeholder communications; if you have implemented points one and two above, you will have already gone a long way to putting an effective approach and infrastructure in place to support good stakeholder communications. The next crucial step is to create a culture and an environment that encourages the stakeholders to communicate, and it is here that the distributed best practice framework can help – allowing stakeholders to understand their roles and responsibilities.
In summary, Agile is part of the DNA of DevOps and if deployed correctly will ensure your organisation can make the best use out of the technologies that enable DevOps to deliver the speed and agility to react to new business opportunities and customer requirements.
If you would like to know more about the history and development of Agile Development and Testing, please pick up a copy of the following book, Reference 1.
About the author
John works for Arrow ECS as a Technical Account Manager, and has spent more than 35 years in the software industry. He holds Masters Degrees in Information Technology and Cognitive Computing, and has published books on Software Quality Management and on Agile Development and Testing with Cambridge University Press. John is a member of the Association of Enterprise Architects, the BCS Agile and Software Testing SIGs, and was elected a Fellow of the British Computer Society sometime last century.