Maybe you’ve been watching IT successfully go ‘agile’ a couple of years ago
Just the flexibility to respond when the world changes and you face different customer expectations, makes your mouth water.
Well, that’s where Agile Program Management comes in.
It helps you tie all the work you’re doing across all the programs in your enterprise to your strategic objectives and targets. So when you need to change anything in them, it’s relatively easy to pinpoint where you need to take action.
So, let’s see what that looks like.
The Agile movement took off in 2001 with the publishing of the Agile Manifesto. The agile values and principles outlined in the Manifesto were originally applied to software development.
Their organizational values soon spread to other forms of agile management. For example, Jim Highsmith, an original Agile Manifesto signatory, published a book called Agile Program Management: Creating Innovative Products in 2004.
By 2015, the use of agile techniques had ballooned to more than 50% of software development teams.
At the same time, Agile ways of working began to scale up from management of just one to multiple software products that are related or dealing with different aspects of large complex programs.
Inevitably, scaling continued to bundle multiple programs together and manage large, complex programs.
More recently, Agile techniques have spread their wings beyond software development programs into programs within other corporate activities such as HR and marketing.
Businesses are now looking for the transformation of their whole enterprise to make their business agile, seeking coaching, training, and tools adapted to portfolio/program management.
Agile program management is applying agile values and principles to the management, organization, and support of programs covering multiple initiatives, activities, products, and services.
It began with taking the values and principles set out in the Agile Manifesto and applying them beyond their original scope in software development.
Where it gets interesting is when:
Enterprises are finding it makes more sense to use Agile program management (sometimes referred to in an enterprise-wide context as agile portfolio management) to transform every aspect of each department, program, and products. Not just to form a view of how an enterprise is performing overall, but to align an enterprise’s activities to its strategic plans and to make the whole business agile.
What does all this mean in practice? It means changing virtually everything about the way you organize work, including:
Despite that mountain of work, if you use agile program management techniques, it’s easier to implement an enterprise’s strategic plans across its portfolio of departments, programs and products. It may not be easy, but it’s the easiest route to corporate transformation.
Agile Program Management starts with the same four core values and 12 principles of Agile methodology as set out in the Agile Manifesto. For more on those, see this article. Agile program management also espouses lean principles to cut out waste and streamline efficiency. Here’s an article on lean software development.
Program managers strive to deliver three key elements:
How do they deliver these elements through their agile management skills?
Working on program management has a different perspective from working on products. Program managers look for ways to deliver business value to an enterprise’s customers and to its stakeholders.
With a focus on outcomes rather than outputs or frameworks, it’s a broader business view than delivering a product. It involves a lot more collaboration and iterative and incremental planning.
It is vital to success that top management embraces the agile mindset to turn their business agile. Although the company’s board may set some of the rules (e.g. working within budgets), they must drop the traditional top-down decision-making and trust that teams know how to do the job and organize themselves.
The constant delivery of business value, both iteratively and incrementally, requires far greater collaboration with all stakeholders, including the firm’s staff and top management. It is key for successful agile program management. Without participation from all the players, agile working is an uphill task.
Program managers must facilitate the delivery of product rather than imposing restrictive rules that may hinder the best results. Program managers see themselves as the servants of the stakeholders, smoothing obstacles from their path, rather than acting as their directors.
Hands-off management is a significant shift in corporate thinking and may meet resistance. Thus, the introduction of agile program management needs to be introduced on an iterative and incremental basis too.
Agile program managers establish an environment that enables departments to align with the enterprise’s strategy. They may put a governance program in place, but only with strictly necessary rules, such as aligning the use of tools across teams to prevent communication problems.
Breaking down strategy into roadmaps that identify quantified outcomes and deliverables over each planning period, helps to align the teams’ actions with the firm’s strategy.
Agile program management seeks to achieve the right outcome — the solution to a problem — and not just output, such as a product that may not be of the right quality.
You probably know the story about buying an electric drill. The purchaser doesn’t want a drill at all; he wants a hole to screw in a hook to hang up his coat.
Similarly, the customer is looking for a solution that is valuable to its end-users and of an appropriate quality. (No gold plated drills!)
Program managers facilitate and optimize the allocation use of resources (people, technology, equipment, etc.) to improve performance and profitability across teams and programs.
For example: LeSS (Large Scale Scrum) considers how many teams are required to develop a product or product group, and that dictates how many people and other resources needed to form and support those teams.
Program managers allocate budgets by considering who is delivering the most value, who needs greater skills, where teams are located, and many other factors.
Teams can plan their work better when they have insight into the resources available to them.
In complex programs, internal dependencies may cause delays. For example: ‘done’ and delivery may be delayed because the testing teams have limited capacity, which increases the waiting time for the product teams.
Visualization tools such as Portfolio Kanban can help to identify and map dependencies for program managers to sequence work optimally, remedy the delaying factors (e.g. divert resources to testing) and improve work flow.
While teams are trusted to organize themselves and deliver their feature or product, the focus for program managers as regards their performance is on the value delivered to the clients and their end users.
Using lean and agile metrics, program managers can measure work flow such as how long it takes to take an idea and put it into the product for delivery to users/clients. They can also keep track of performance by monitoring burn down (or burn up) rates of delivered value or the product backlog.
Agile program managers actively incorporate early feedback from users and clients on the product and its features. This mitigates the risk of delivering a product that ultimately does not work for the customer. It focuses on building the right product rather than focusing on doing it right.
Agile program management focuses on delivering business value to all stakeholders, e.g., employees, contractors, and shareholders, plus the enterprise’s customers and end-users. The aim is to deliver a solution that solves the customer’s problem.
Traditional program management is focused on agreeing upfront on what to deliver and then efficiently delivering that at the scheduled time.
Both break down work into smaller bits so it’s easier to keep tabs on progress. The big difference lies in how the work is broken up.
Agile seeks to deliver value right from the start and build upon what has already been delivered and proven to have value. To accomplish that, it breaks work into small, independent, and testable units that provide value to customers on their own.
Traditional’s focus on efficiency means it breaks down work to maximize efficiency which may delay delivery of any value until all work completes.
Because of the way agile program management breaks down work, it can respond to changes as they arise. Work already done is already delivering value, even if you prefer some changes to it. You’re always free to prioritize what gets done next — changing work already done, or proceeding with work to be done — based on the business value you expect from it.
This is in sharp contrast to how traditional program management doesn’t like changes and goes to great lengths to avoid them.
Because the work breakdown is efficiency-oriented, changes to what was originally agreed upon, often render work already done obsolete or in need of redoing, adding to the program’s cost and timeline, meaning the planned product(s) delivery of value gets delayed too.
The key roles in Agile Program Management are as follows:
In Agile, development teams generally decide themselves how to do their work in alignment with these priorities. However, depending on your Agile Scaling framework of choice, you can also find specific roles such as a System or Chief Architect responsible for high-level technical design of a product (suite).
Many Agile Scaling frameworks also define specific coordination roles such as a Chief Product Owner coordinating specific Product Owners (Scrum at Scale)— or the other way around Area Product Owners helping a single Product Owner (LeSS), a Scrum of Scrums Master (Scrum at Scale) facilitating the Scrum of Scrums team, or a Release Train Engineer (SAFe) coordinating the PI delivery by multiple teams.
Agile Program Management doesn’t define any specific meetings, cycles, or delivery cadences.
The ones that Agile companies do follow usually stem from Agile Planning practices and frameworks to scale agile such as SAFe, Large Scale Scrum (LeSS), Disciplined Agile Delivery, and others.
The main thing to note is that these Scaled Agile frameworks promote synchronization of product development teams into a single cadence. If not across the company, then certainly across a product or product group that’s part of the agile program.
For example, in SAFe you’ll find release trains. In LeSS all teams in all product areas follow the same cadence. In SAFe you’ll also find guidance on quarterly Program/Product Increment Planning and how that follows from the planning at more strategic levels — all the way up to the business owner or top management.
For more on planning, read our article on Agile Planning.
There is a growing body of methods and frameworks that help enterprises with agile program management. Some of them are:
For more on scaled agile frameworks, read our article on Six Scaled Agile Frameworks.
Having an easy-to-use system to find information and track value delivered is essential for program managers.
Kanban and other agile tools that can link the strategic portfolio/program level objectives to the day to day work in teams will help them see obstacles and dependencies restricting the flow of product and value to the customer.
There are many to choose from, but our very own SwiftEnterprise supports all of the tracking of the programs and initiatives in your enterprise!
Here are some of the common pitfalls in transforming your enterprise into agile ways of working:
Dave Thomas, one of the original attendees at the Agile Manifesto conference, says starting agile working is extremely simple. You take the following four steps:
For Agile Program Management, these steps include actions such as:
Dave Thomas also advocates the use of one practice in all your activities:
You now know what agile program management can do for you. And you may be raring to go, or you may be hesitating a bit when you think of the complexity of the road ahead.
Just remember, whatever the size and scope of your programs, every journey starts with a single step. And pivoting from traditional to agile program management is no different.
The trick is to keep taking steps.
And to heed David Thomas’ advice about what those steps are and to always favor the path that makes future change easier.
So, get going, and book your ticket for the journey to an agile business by taking your first steps in adopting agile program management.