The Rise of Agile
Agile has been the go-to software development approach for many project managers for nearly a decade. Introduced into software development in 2001, Agile is based on 12 principles around four main development characteristics:
1. Iterative, incremental and evolutionary
2. Efficient and face-to-face communication
3. Very short feedback look and adaptation cycle
4. Quality focus
Agile is all about adapting to changing requirements, needs and influences. Its flexibility requires constant feedback and communication among stakeholders with the end goal of producing a working product that fits a specific customer need while aligning with corporate goals.
Agile replaced several past software development approaches, most notably Waterfall. Waterfall was considered rigid because of its strict, sequential process that is believed to be much slower than Agile. In 2016, Gartner released an article titled, “The End of Waterfall as We Know It,” suggesting the many Agile advantages outweigh any benefits of Waterfall.
Even with all of the pub on Agile, is it a silver bullet? As with any methodology, there is no such thing as perfect. Things can go wrong at any stage, but the more you know, the better you can work to prevent them.
How Agile Projects Can Fail
Agile is only as good as the people managing it. If there is a breakdown at any point, you can be the methodology will fail. There are several common reasons why Agile doesn’t produce the intended results:
Waterfall is a common methodology many organizations still use. When moving to Agile, there is frequently pushback on adoption, particularly if Agile is not communicated and executed correctly. Before Agile is deployed, organizations must develop strategies to speed and ease adoption.
The most effective way to avoid skepticism and promote voluntary adoption is to have an “Agile Champion” coaching the organization. This role can be fulfilled internally or externally. An external resource is often preferred because they would have extensive Agile knowledge of its benefits, as well as how to avoid implementation pitfalls and user pushback.
As with any new process or tool, users must first understand:
- How it can help them execute their tasks
- How it benefits the product and organization as a whole
- How it ultimately impacts the success of the company
Related: Outsource IT Projects of Hire an Internal Team?
An Agile Champion will communicate these elements and customize them per job role. They can also be the resource users can go to for questions, guidance and recommendations. Having this person or team available before, during and after the Agile rollout is critical in supporting adoption.
When organizations realize their Agile methodology is not working, the cause can often be traced to the fact that they are not following true Agile practices. Often, organizations retain elements of Waterfall, even while using Agile. This hybrid approach can work for some, but it can also cause problems.
Issues arise when one group, say the product or development team, is using Agile, but the rest of the organization is still using Waterfall or pieces of it. It’s nearly impossible to keep projects on track if everyone isn’t on the same page.
For examples, if budget cycles are annual, the leadership teams need to work closely to ensure that the budget is broken down and allocated appropriately over the year to meet business expectations. The marketing team should be aligned with the Product team, keeping up with the agility and delivery of Agile.
Quality assurance is critical, yet if it is manual, it can quickly cause bottlenecks in the Agile process. For instance, if the development team is working on two-week sprints, but the Quality Assurance team takes too long to regression test, the value of Agile quickly diminishes. Agile is all about speed and manual processes create too much friction, too many delays and too much disruption to an otherwise smooth, iterative process.
The solution is to invest in Quality Assurance automation and Continuous Integration/Continuous Delivery (CI/CD) practices. Automation not only speeds the Quality Assurance process, but it better aligns with the Agile principle of iteration.
Keys to Ensuring Success of Agile
Agile is still a preferred software development methodology and if executed properly, can help an organization better deliver on its goals. They key is to understand why Agile can fail and then implement best practices to ensure its success.
Define The Process
Every organization is different with different products, market influences (such as competition and technology changes), appetite for change, and delivery timeline expectations. The fundamentals of Agile should be followed, but each organization could have a slightly modified Software Development Life Cycle Process. This process needs to be defined and documented upfront before moving into Agile. Once again, an Agile Champion can help define, document and communicate this process.
Customize The Tool
Having the right tools in place to manage the process is valuable, but make sure they are configured to work with the teams; specific processes. For example, a tailored Jira Workflow is critical and should be customized based on the Software Development Life Cycle Process. Unlike Waterfall, the flexibility of Agile makes it ideal for customization.
Perform Health Checks
Agile requires constant health checks and leadership should understand the need to be open to changes in the methodology. As organizations and product teams mature, changes are inherent. For example, if the team is running on manual testing in the beginning, then pivots to Automation testing, this will have a big impact on the process, tool configuration and CI/CD infrastructure. These changes are okay and welcomed, particularly when automation replaces manual processes, but organizations must adapt Agile for these changing requirements.
Agile is likely here to stay…at least until the next methodology kicks it to the curb. In the meantime, be sure you optimize your use of Agile by avoiding common pitfalls. Remember, Agile Champions are available to help you and your teams get the most out of Agile. Leverage their expertise and best practices to ensure your investment in Agile pays off.