What do you need for a successful Agile Project? We all know having a smart team, open communication, careful planning, risk management, etc. are critical for any successful project.
Apart from these factors, do following Agile processes, like Scrum, Kanban or Sprint make your project Agile? Well, Not anymore. The key for a true successful Agile project is to create an environment where new quality releases could be delivered faster and more frequently.
1. Implement Continuous Delivery / Continuous Integration
Continuous Delivery(CD) has been part of Agile Manifesto all along, but the current tools have evolved to Continuous Integration (CI) as well. The concepts of automated build and deploy, failing fast that are core to Agile processes can now be easily implemented using tools like Jenkins and Ant and are now considered integral part of an Agile Project.
2. Implement DevOps Culture
One of the core concepts of Agile Development is to provide frequent releases to the product owner to gather constant feedback and reach a minimum viable product.
Implementing DevOps enables the product owners and the development team to be part of the process and in improving everyone’s ability to appreciate and participate in each other’s tasks, as well as providing more high-quality collaboration, more frequent communication. Implementing DevOps requires a culture shift.
3. Test Automation
Many projects that implement CI/CD seem to ignore Test Automation in the process. But in a CI/CD pipeline, most updates are small. The purpose of being Agile is to deliver software continuously without delays. Developers often put off releasing frequent builds as they cannot test the entire software for small incremental changes. Automated testing allows the team to push out small changes on a continuous basis.
4. Implement Agile ALM
Agile does not mean the entire team is collocated. My Agile team is wide spread, with the team working out of Texas, Virginia and California. What keeps us together is our implementation of Agile ALM implementation. Agile ALM allows you to manage your requirements, issues, and tests. I personally use JIRA Agile, but there are now several tools that integrate DevOps into Agile.
5. Trained Agile Leadership
It is the responsibility of the enterprise’s leaders to take the responsibility for Agile adoption and success. The projects will need to be trained Agile Coaches for implementing these leaner ways of thinking and operating. Otherwise, the Agile projects are likely to fail to achieve the full benefits.
Krishna Chintalapathi is a certified PMI-ACP and Agile Practitioner with over twenty years of experience in solving business problems using innovative technology solutions. He can be reached at krishna@wati.com