The keys to making agile work are leadership, understanding, and flexibility. Introducing agile into your software development life cycle is challenging because it fundamentally changes how your software development teams work and interact with IT and the business.
Business and IT leaders need to take the values and principles of the Agile Manifesto and infuse them into their strategy. So, for example, if they really want autonomous teams, they will need to give up hierarchical management styles and become agents of change.
Agile is fast-moving, iterative, and experimental. It encourages developers to take risks and is geared toward creating large volumes of software quickly. Because of this, it does not lend itself to rigid management practices. To lead these organizations, managers need to adopt an outcomes-based mindset while giving their developers the freedom to take risks and fail. Agile was created for building things about which you don’t necessarily know everything from the very beginning.
This often requires everyone to embrace product-focused thinking that puts customers’ needs at the center of every debate. A product-focused mindset is more about understanding the purpose of the changes being made and the value it brings to users vs. hitting stage gates or coming in under a specific budget number.
The big difference between projects and products is that products have a longer lifetime than projects, which begin and end. Once a product is launched, it evolves over time. You have to have a roadmap for it. It typically has a product owner with a business mindset. And, most importantly, products are measured in terms of business value.
Projects are often measured against something called the Iron Triangle, which is made up of a fixed budget, fixed costs, and fixed timelines. From a working perspective, everything revolves around meeting those three aspects.
Another way to think about product vs. project is value stream management (VSM), which focuses on the success of the entire business process, not just one aspect of it. VSM helps deliver positive business results that lead to a successful agile program overall.
Finding Agile Success
Here are steps business and IT leaders can take to ensure agile success in their organization.
Provide developers with flexible platforms
Avoid monolithic, best-of-breed development platforms. Instead, provide developers with modular tools that minimize dependencies. These should be based on cloud-based microservices architectures. Monolithic platforms can hamper development because the services and apps they host are too tightly coupled. If one service goes down, it can affect the entire development team.
Become change agents
Because agile is a journey, not a destination, leaders have to enable change. This can be difficult since it will require letting go of old ways of doing things. They should be students of change management while continuously learning about how to best apply agile in their specific organizations. They should also be open to collaborative thinking and be humble since no one person can always know what’s best.
Pair Agile and DevOps
To get the most out of agile, organizations need to pair it with DevOps. Even though agile and DevOps can be done separately, there is no point in creating new features and functionality quickly if it takes months for those changes to get into production. That is why pairing agile with DevOps and automated CI/CD pipelines that include tools such as agile project management, build automation, test environment provisioning, continuous delivery, and release automation is critical to the success of your agile program.
Change your budgeting processes
While many adopt agile in principle, they are not changing how they fund their development organizations. They still fund agile initiatives using annual budget cycles that do not fit with the fast-moving, quickly changing nature of agile. Allocate budgets on a rolling basis while continually reevaluating investments so that the work that gets funded is creating value, not just checking boxes.
Integrate agile into enterprise governance
Doing agile in isolation will not yield the business benefits you want until it is paired with enterprise governance functions like business planning, strategic planning, portfolio planning, enterprise architecture, and budgeting. There are frameworks such as DAD, LeSS, and SAFe for this purpose. Apply these frameworks judiciously by prioritizing key practices that meet your needs and will help you change your culture gradually.
But these frameworks can cause issues. Some of your people will choose a more moderate framework such as SAFe, while others may prefer Spotify’s more aggressive engineering model. Choose the framework that best matches your culture and agile/DevOps goals.