IT Projects & Programs
IT program management
An IT program is the coordinated management of related IT projects to deliver value unavailable through separate planning and execution. An IT program is usually created to achieve a specific business outcome within a defined scope. Programs are justified when projects share dependencies, resources, or a common target. Programs pursue value realization, strategic alignment, dependency control, and coordinated delivery across their projects. Program management governs these interdependencies and value realization, along with resources and stakeholders. Without it, the projects fragment into disconnected efforts that duplicate work, contend for resources, and erode the collective value.
Predictive IT project management
The predictive project approach, also referred to as linear development, waterfall, or phased approach, corresponds to traditional project management frameworks. It can be applied to IT infrastructure projects that can include physical equipment, virtualized systems, services, and combinations of these. In predictive projects, all requirements are collected, analyzed, and then fixed as a basis for the scope baseline, the cost plan, and the project schedule.
IT project managers manage the work through every phase, from initiating, planning, and execution to closing. Thereby, they plan, monitor, and control the constraints (scope, cost, time, quality, resources, and risks). Their responsibilities also include stakeholder management, communication, and status reporting.
Agile IT project management
Approaches for software engineering or IT application development are fundamentally different from IT infrastructure projects. In agile software development, requirements may change dynamically in short iterative planning and execution cycles. Requirements and scope are defined and reworked throughout the project, resulting in a higher number of release versions.
Agile software projects are characterized by a high degree of change and a high frequency of delivery. Iterations provide flexibility in view of requirement changes; they allow feedback from customers or users on partially completed deliverables to modify the work and improve the results. The requirements can be refined as more is learned after each iteration cycle (e.g., by prototyping) so that the customers' expectations are met and high quality is achieved. Increments provide finished deliverables that the customer may be able to use immediately. Increments are compiled in product releases, i.e., the actual delivery of a new software version to the customer.
Agile projects are typically organized in timeboxes of constant duration. Scrum, presumably the best-known framework for agile developments, denotes these timeframes as sprints. The duration of a sprint can be two weeks or one month. Depending on the projects, the length of a timebox can be longer or shorter; it can also vary depending on the goals. Sprints can be repeated as needed. A sprint can be viewed as a very short predictive project. Within each sprint, goals are agreed upon, requirements are collected, designs are engineered, codes are programmed, and outputs are tested. Each sprint has to produce at least one increment.

