In a recent webinar, we hosted, Sudipta (Sudi) Lahiri, Head of Engineering and Products at Digité guides us on what Agile Program Management really is and how Kanban can effectively aid in managing a program. This article summarizes the ideas he shared and we hope you learn something valuable after reading it.
Program management is a complex task. It requires a macro perspective of every operation to ensure that an organization is being run smoothly. A well-managed program ensures a smooth flow of work with little to no delays. With modern tools and frameworks like Kanban, Program Management is done in a completely different manner than in years past.
Before we learn what modern Program Management is like, we must first understand what a program is.
What is a Program?
A program is a collection of endeavors that a business is currently undertaking. It is a set or suite of individual projects and/or applications based on different dimensions. These dimensions can be categorized by geography, customer, vertical, and more.
Img Src: expertprogrammanagement
There is no industry standard for how endeavors are grouped together. How programs are assembled depends entirely on how the business wishes to operate them. The focus of a program is to deliver or execute a set of related projects, which may have some dependencies between them, successfully.
Shifting Towards Agile
In today’s markets, outcomes cannot be guaranteed. It is almost impossible to accurately predict exactly what the market wants because of how volatile they are. Traditional business models attempt to predict market changes, however, these predictions usually turn out to be inaccurate. This would then force organizations to rely on contingencies, and use even more resources.
Agile is built around this reality. This methodology emphasizes building and releasing products quickly, and improving them iteratively based on customer feedback. Agile allows product development teams to discover exactly what the customer wants so that they can provide it. Currently, Agile is popular in IT and software functions, but we are starting to see it used in other functions.
What leaders expect from program management has not changed in terms of either qualitative or quantitative objectives. These are some of the things that one would expect when shifting to Lean-Agile program management:
- Reduced lead times
- Lower costs (inventory, storage, overall)
- Improved productivity and efficiency
- Better quality products
- Higher customer satisfaction
How is Program Management different from Portfolio Management?
While Program Management and Portfolio Management are two entirely different ideas, they were both changed by Agile. Traditionally, Portfolio Management would demand a prioritization process that would help the organization allot their budget to specific initiatives or projects for the next few years. What these initiatives are would depend on the objectives that the company has. For example, a service company can have profitability as a goal whereas an IT company might have new market capture as a priority. This was the way most companies would manage their portfolios until the Agile movement.
Lean-Agile changed Portfolio Management by introducing a new perspective on how to achieve those goals. Companies cannot know whether the outcomes that they decide to pursue will be the most beneficial to them because there are too many dynamic variables in modern systems. Instead, Portfolio Management is done by funding a team rather than a project.
Teams would then start working on the ideas based on their priorities and assess whether or not they’re prioritizing the correct goals. This would allow teams to pivot towards other projects as necessary. This makes Lean-Agile Portfolio Management the preferred method for modern-day systems.
In contrast, a program has a wider perspective. While the goal of portfolio management is to deliver value, Program Management has to balance both qualitative objectives and quantitative objectives to ensure that they meet their stakeholders’ expectations. Portfolio Management is about prioritizing the right projects at the right time, with stakeholder agreement, ensuring that they have the right level of budgets and resources that they need to succeed.
Program Management on the other hand, is focused on ensuring that the prioritized projects are executed successfully, ensuring that dependencies between related projects that form the program are resolved speedily and overall program objectives are met in the most optimal manner – of lowest cost and highest value delivery.
Why the Change in Program Management?
Traditional Program Management is a rigid, linear process. It was based on up-front estimations and was appropriate for the markets of years past. Companies would spend a lot of time making these estimations as success would depend on how accurate they were. When they would inevitably fail, organizations would resort to their contingencies.
The expectations for Program Management have not changed, but the metrics that organizations are trying to track have. Today’s markets are much more volatile and challenging to estimate. No longer can businesses take a rigid approach to Program Management as what markets want today may not be the same the next day. Organizations have to be fluid if they want to succeed in modern systems.
New age planning cannot be based on estimates. If an organization only has a rough idea of what to build, but doesn’t know whether or not to build it, then there will be nothing to estimate. This means organizations must fall back to using velocity.
For example, when the organization requires 200 points to be delivered per month, but the team can only provide 100 points in that timeframe, the company now understands what they need to change to meet their goal. However, it must be remembered that it is a relative sizing model where it relates to the capacity of specific teams.
Agile Program Management requires a clear understanding of what tasks need to be done. There are many modern tools and frameworks that can assist with this, and one of them is Kanban.
How does Program Management Benefit from Using Kanban?
Kanban is a method of visualizing and managing work that helps Agile teams communicate work. It is a tool that focuses on managing the flow of work and helps keep track of tasks. Despite being seen as one of the new ways of working, Kanban has actually been used since the 1940s. It is only now that functions outside of IT and software are starting to adopt it.
As mentioned previously, modern Program Management requires a broad perspective of the entirety of an organization’s operations. Having all of this information in an organized Kanban system can help key stakeholders within the organization monitor everything.
Kanban allows us to visualize where we are in terms of progress and gives us the wider perspective we need to do Program Management effectively. It helps us identify what tasks have or haven’t been completed. Most importantly, it helps us identify if we have areas of slippage.
Once we know that we’re slipping, we can then identify the area we’re slipping in. Just because there is slippage within the program does not mean that the whole program is slipping. Usually, there are a few pockets of capabilities that you are wanting to build which is where the bulk of the problem is. Once we focus on these, we can then identify the appropriate solution.
Kanban can also help quantify the problem and its respective solution. For example, if there is slippage because your delivery team is currently behind schedule, Kanban can help identify how much the team is delayed. Then, you can identify what adjustments need to be made to ensure that nothing else within the flow gets affected.
For Agile teams, velocity is an important aspect of a program to track. If one project is delayed, then the rest of the program will likely follow. One way you can track velocity with Kanban is through monitoring card aging. Kanban can help visualize cards within a swimlane that are aging without progress and can help program managers identify how to fix this.
Using a composite picture like the one shown above, program managers can decide whether to try and adjust the team’s velocity or to adjust scope to decide how to make the right delivery that is of value to business.
In addition, using a framework such as Enterprise Services Planning (ESP), management can also establish probabilistic forecasting techniques to ensure that the organization is taking on the right level of risk while setting or accepting forecasts of what can be delivered in a given amount of time, say a market launch of a product.
In addition to all the quantitative measures and techniques Kanban provides, you can use it for qualitative aspects such as Issues, Risks and Action Items. Using a simple board such as the one shown below, one can track all such aspects very easily and ensure that the program stays on track.
One thing to keep in mind is to avoid implementing WIP Limits on the Risk management lane! As a program manager, you WANT to ensure that you are aware of any and every risk that has been identified! Accepting risks is a viable strategy as it means that the team is aware of it and taking the appropriate mitigating actions.
Using Kanban, you can also visualize dependencies between various qualitative aspects of the program. Dependencies allow us to identify the issues that come with a task being delayed or unachievable. If a task with dependencies fails, then you can immediately identify what to do to address it.
Program Management in today’s market is a challenge, but Agile and Kanban can make things easier. With these two, you can create and manage programs and respond to market volatility and uncertainty far more effectively.
If you are interested to learn more about how SwiftKanban can help you do Agile Program Management more effectively, signup for a Free Trial – or contact our Kanban experts for an in-depth personalized demo of the capabilities discussed in this webinar. To watch the full webinar, please click here.