Organizational methods allow businesses to observe practices and activities from a granular level. Understanding where to prioritize the allocation of time and resources can help a business operate more efficiently and effectively.
Strong program management is vital to ensuring that your organization excels and meets its strategic goals. We’ve talked to top Yalantis program managers and created an article where you can find tips, best practices, and approaches to program management.
This expert material will be useful if you:
- plan to prepare a large product in a certain time frame with a large number of people and unclear processes
- need to develop and/or scale a product with a large number of components
- have a project where are already more than two teams
What is program management?
Program management is a strategic management approach to executing and controlling multiple related projects. It aims to drive benefits to the entire program by sharing project resources, costs, and activities.
The key value of program management is in effectively managing resources among projects within a program and achieving your company’s overall strategic goals.
Program management involves the following focus areas:
- Risk management
- Stakeholder management
- Performance management
- Organizational change management
- Communication management and governance
The program management framework does not exclude the project management framework but rather complements it. However, program management consolidates all components and has additional tools and mechanisms that allow you to keep and manage multiple projects as one entity.
Let's take a brief look at what the program management framework is all about.
What is a program in program management?
A program can develop in two ways. First, a large company can create a program from the very beginning of developing a product and fill it with small connected projects. The second way, which Yalantis often encounters in practice, is that a program grows out of a project, passing through certain stages which we will describe below. Either way, the golden rule is that a program is always much bigger than a project.
What a program is at Yalantis
It’s important to note that the definition of a program will differ between companies and program management offices (PgMOs).
At Yalantis, we distinguish two basic principles of a program in program management:
- A program necessarily contains several subprojects, i.e. components united by a certain principle: a common code base, a common client, etc.
- A program is never defined by the number of people.
It is easiest to demonstrate what a program is at Yalantis by comparing a program to a project. First, it is always more difficult to manage resources in a program, as a program always involves more teams than a project. Second, when managing a program at Yalantis, we are more directly managing business development. That means we ask ourselves what benefits the program brings to the client and the client’s company.
Using various stakeholder management techniques while working with stakeholder groups, we determine how to achieve the program’s benefits. At the project level, project management is only about the schedule, scope, and cost.
When working on a program at Yalantis, our experts give our clients the opportunity to develop the product faster due to our ability to distribute the work across large teams and work on fast-tracking and crashing methods, which involves fast scaling if needed.
All in all, Yalantis program managers understand how to make a big product with a large team in a relatively short time.
You may also be interested in our expert material on how to deal with strict project limitations.
What is the value of a program manager?
Program managers possess a flexible set of skills that can be adapted to different business environments over time. They usually offer firm strategic advice to ensure every project in a program can be successfully executed. With extensive knowledge banks, the practices they decide to execute determine the blueprint for program management and its overall success.
Let’s demonstrate the program manager’s responsibilities by considering how they differ from the responsibilities of a project manager. A project manager generally thinks about current project goals, while a program manager thinks about the program strategy, the future, the number of program components, and how to allocate resources correctly if there are new components.
The program manager synchronizes projects that are managed by individual project managers.
Read also: What a project manager does at each stage of the software development process
We can summarize a program manager’s responsibilities as follows:
- Understand the big picture without going into details
- Focus on future goals
- Pay much attention to the integration of program components
- Work with the program budget
- Be responsible for daily management through the life cycle of the program
- Plan the overall program and monitor progress to ensure that milestones are met across various projects and programs
- Manage program risks and issues that might arise over the course of the program life cycle and takes measures to correct them when they occur
- Coordinate projects and their interdependencies between various projects in the program
At Yalantis, we exceed our clients’ expectations by taking into account business needs. We determine why the client desires to create particular functionality. Thus, we better serve the business development processes on the client’s side and efficiently cover the client’s needs.
Program management at Yalantis
Below, we describe our approach to building successful program management.
Our approach involves using a hybrid of classical and agile management techniques. Namely, we keep the feedback loops and quick releases of agile while achieving the budget and schedule predictability of classical techniques. Let’s take a closer look at this approach:
Creating a program approach
#1. Defining goals and benefits is the very first step we start a program with. Stakeholders and executives come together to produce a program strategy (program charter) covering the vision, scope, minimum objectives, budget estimation, resource management, and benefits. The brief is passed to the program manager to identify program contributors, project dependencies, risk factors, scheduling, and technical requirements.
#2. Collecting customer requirements is our next step towards successful management of the program, and this is what we focus on most. Collecting requirements allows us to understand the needs, expectations, and constraints of the client at the very beginning. This, in turn, allows us to form the program scope.
Read also: What role a business analyst plays at our company
#3. Choosing the framework and the actual approach to program management is the step we take after we collect all the client’s requirements. Yalantis chooses among several commonly used frameworks including the Scaled Agile Framework (SAFe) framework, Nexus framework, and Scrum@Scale framework.
An experienced program manager selects a framework that meets the client’s needs, and the main task of the program manager is to adjust program processes to the framework.
When Yalantis program managers see that no classical framework will work for a particular program, they are able to create their own custom approach based on existing frameworks and adapt knowledge to the specific needs of a particular client.
Building the structure
Once the program scope has been defined, a program manager, together with a business analyst and a solution architect, can efficiently distribute the entire scope of work across program streams.
At Yalantis, there are always project teams and design teams. A project team does what is needed now, while a design team does what will be needed in the future.
The program manager leads the design team, and together they figure out how to build processes so that all components and all stakeholders work as a united mechanism.
In addition, a design team has its own specific workflow. For example, a project team has the following workflow: to do – in progress – in review – done. A design team is focused on working with requests and on interacting with stakeholders. Below, you can see an example of a workflow for a design team.
By using a program board with all requests throughout the program, we can allocate requests to different projects in the program. What projects receive within the program is a well-established process, with a clear impact, which is predefined by the program manager.
Work with dependencies, intersections, and limitations of projects is carried out at the stage of creating the program board. Yalantis managers always work to minimize project dependencies.
Decision-making in program management
The decision-making stage is one of the main stages of program management. In order to identify the main decision-maker in the program, we use the concept of a technical lead. After the design team has developed a backlog for the release, it should be reviewed by the frontend, backend, QA, and mobile technical leads.
Below, we can see part of the internal SDLC of the design team:
A tech lead’s responsibilities as a decision-maker at the stage when the backlog is still on the design team’s side are the following:
- Make sure all backlog tasks are possible to execute
- Simplify the solution as much as possible
- Make sure that product backlog items (PBIs) will really bring the value the client needs
- Check what can be reused to save resources (third-party products, libraries, company’s developments)
After validating all the tasks with technical leads, a program manager makes a high-level release estimate, after which the estimate is approved by the client.
Creating program documentation
Program documentation differs from project documentation because the focus of the program is on strategy, communication with stakeholders, and the RAID log ((R)Risks, (A)Assumptions, (I) Issues, and (D) Dependencies). Also, the program is more focused on resource planning and road mapping. Accordingly, the must-have documentation is the following:
- Program strategy (program charter)
- Program RACI matrix
- Communication plan
- Program RAID log
- Resource allocation and budget
- Program roadmap
Yalantis tips on documentation in program management:
- Keep checklists flexible. Unlike a project, there is a constant release cadence in a program. Accordingly, there is a constant need for checklists and constant checks.
We use no strict and inflexible rules. All teams have templates and knowledge bases for introducing checklists for processes. We also reserve the right for teams to adjust the writing of documentation themselves in a way that is convenient and customized for a particular project.
- Master the roadmap. Our roadmap allows each team to see its workload as needed while allowing stakeholders and program managers to see the whole picture and all dependencies, and to catch problems within the program.
It’s worth noting that we have a rather flexible format for the roadmap, not the classic orthodox format. This allows us to immediately make changes and new inputs if they arise in the process of program management.
Yalantis’ key principles for successful program management
Yalantis program managers create custom processes in the program workflow. At the same time, there are many best practices that managers are constantly implementing, adjusting, and improving. Some examples we can mention below without using the information from projects covered by NDAs:
- Decentralizing the program to eliminate vertical management in the team. Formally, the vertical exists, but in practice, each project manager within the program is isolated. In reality, this means that each project manager has their own context and priorities. They interact with other projects only when they go to release some feature, and only to the level that is critically necessary.
We delegate everything that can be trusted to the discretion of the project team. Only when there is an intersection of teams or complex milestones do we enable program management tools. Due to this, each team is able to make its delivery without dependence on the central office, which would slow down processes.
- Improving release management includes:
- Separating the release manager role. This is a technical specialist who ensures the accuracy of the development team.
- Using release calendars. By doing this, we see all tasks that are already scheduled by releases, with dates and progress bars.
- Developing on cadence, releasing on demand. Our release calendars are based on the principle that a release should occur every two weeks. Thus, the team knows that in two weeks there will be a release in any case — and it is up to the team what they put in the release and what they do not.
- Implementing a core team into the workflow. The scope of work for every program includes work with innovations and a proof of concept (POC). We have the option to prioritize this scope as a backlog in existing teams or to separate teams that will focus solely on the abovementioned tasks.
At Yalantis, we use the second approach. We have core teams that mostly consist of backend engineers, DevOps, and QA specialists. This allows us to guarantee the client regular releases and regular deliveries within a large, scalable program.
- Focusing on dependency management. In order not to have a situation where a manager is burdened with all the tasks, we build effective communication between project managers, leaving the program manager as a facilitator and a decision-maker in conflict situations.
- Establishing a program management office (PgMO). Due to the program’s complexity and scope, this requires the support of a centralized responsible entity: the program management office. The PgMO generally has several members. Normally, more than one program manager is needed to handle all the demands.
Mature PgMO in Yalantis
At Yalantis, our PMO (Project Management Office) is responsible for working with programs. The Yalantis PMO is a large structure that establishes organizational process assets (OPA) and shares with managers essential knowledge in the form of templates, best practices, and lessons learned.
Each of the Yalantis program managers modernizes the processes in their program as needed. After that, audits on processes are conducted to improve skills. There is also a peer review at the level allowed by the NDA, enabling managers to adopt new best practices.
The strategic role of the PgMO is vital, as adjusted sustained processes allow us to solve the needs of the client rapidly and efficiently.
Program management is about focusing on delivering strategic benefits to your company. Hiring a program manager ultimately means taking care of your product’s success.
Seeking a reliable management team or an experienced program manager?
We can help you with improving the management of project interdependencies and the impact of the program on business goals.