A project is defined as both unique, in that it is not a recurring operation, and finite, given it has a beginning and an end.
A program, on the other hand, is defined as a group of related projects managed in a coordinated way so that benefits not available from managing the projects individually can be realized.
For example, a technical network maintenance program may contain specific projects related to software upgrades, data migration, hardware upgrades, licensing, procurement, and quality assurance. Each of these projects meets a specific goal and together they make up the overall maintenance program. While projects can exist without programs, programs are always made up of related projects.
Structure: A project is well defined, having a Project Charter that spells out in exact detail the project’s scope and objectives. A program, on the other hand, tends to have greater levels of uncertainty. The team is also bigger. The program team supervises and coordinates the work on a number of projects, so while the core team may have only a few members the wider team includes the project managers and all the project team members.
Effort: This is the most significant difference between projects and programs. A project represents a single effort. The project team works towards a common goal. A program is different; it is a collection of projects. Together all the projects form a cohesive package of work. The different projects are complementary and help the program achieve its overall objectives. There are likely to be overlaps and dependencies among the projects, so a program manager must assess these and work with the project managers concerned to make sure the overall program progresses smoothly.
Duration: Some projects do go on for several years, but most will be shorter in duration. On the other hand, programs are definitely longer. They have a wider range and it takes longer to achieve their objectives. Programs tend to be split into tranches or phases. Projects can also be split in this way, but they often don’t last long enough to be delivered in multiple phases.
Benefits: A project team works towards achieving certain outputs (i.e., what is realized at the end). These outputs could be a set of deliverables that form a software package, a new retail branch, or whatever it is that you are working on. The benefits of a project tend to be tangible in terms of what is achieved in the end. A program team works towards delivering outcomes. These outcomes can be tangible but they often are not. The benefits of a program are the sum of the benefits of all the different projects. These could, in fact, result in a policy or cultural change or a shift in the way an organization works.
Finance: Programs are tied to the organization's Financial Calendar. Program managers are often driven by quarterly results, as is the rest of the business. Furthermore, Programs have greater scope of Financial Management. Projects typically have a straightforward budget. Project financial management is focused on spending that is within the budget range. Program Managers may be responsible for revenues and costs that are critical to an organization's financial results. Budget planning, management, and control are significantly more complex in the context of a program.
Program Management is the coordinated management of interdependent projects over a finite period of time with the purpose of achieving a set of business goals.
Coordinated management of multiple projects means that the activities of each project team are synchronized through the framework of a common lifecycle, which is executed at the program level by the program’s core team.
Interdependent projects are those projects that are dependent on the output of other projects to achieve success. Program management ensures the dependencies between the multiple projects are managed in a concerted manner.
A finite period applies to programs that are temporary in nature, with a definite beginning and ending. A program is of limited duration, a one-time venture; it begins with clearly defined business objectives and ends when these objectives are attained.
Accomplishment of the stated business goals is the overriding objective of a program, and the ultimate responsibility of the program manager. Business goals include some of the following: capturing additional market share, increasing profit through sales and gross margin growth, and strengthening brand value through quality, features, and customer support.
For program planning, most Program Managers will typically use a bottom-up approach that identifies and executes planning iterations for the program's individual component projects.
First, each Project Manager constructs a plan that estimates and allocates the resources required to deliver the project's products or results. In this step, the managers use the same techniques and practices that are employed when planning a standalone project.
Then, in the next planning iteration, Project Managers identify connections and dependencies among the program's projects, and refine and rework their project plans so that each project can be integrated with others.
Often this integration effort requires adjustments be made to the products planned for each project and also to the number and types of resources required; changes, naturally, are made to the schedule as well. The Program Manager’s ability to continuously manage and adjust to inter-project dependencies is a significant determinant of a program’s success. It is also a major differentiator between the requirements of project planning and program planning.
In the above example:
“Project A” is the Source Object
“Project A” of “Program X” is the Target Object
On the other hand, the Program steering committee might regularly meet to define the expected targets/delivery dates of the sub-projects.
Using a Top-down approach, these targets would then be allocated to the corresponding projects. The project managers would have to implement them.
In the above example:
“Mst 1X” of “Program X” is the Source Object
“Mst 1X” of “Project A” is the Target Object
To manage programs, a consistent top-down and bottom-up communication should be established to pass on targets and current milestone dates. This communication will enable Program managers to better control project performances.
In Sciforma, this communication will be done through the Dependencies feature.