Program controls are the mechanisms that enable a computer program to execute a set of instructions in a specific order and to make decisions based on the input or state of the program. These controls allow the program to perform a wide range of tasks and to adapt to changing conditions or inputs.
There are several types of program controls that are commonly used in computer programming. These include:
- Sequential control: This refers to the execution of instructions in a predetermined order. In a program with sequential control, each instruction is executed one after the other, in the order in which it appears in the code.
- Conditional control: This refers to the ability of a program to make decisions based on the input or state of the program. Conditional control is often implemented using if-then statements or switch statements.
- Iterative control: This refers to the ability of a program to repeat a set of instructions multiple times. Iterative control is often implemented using loops such as for loops or while loops.
- Subroutine control: This refers to the ability of a program to call and execute a set of instructions from another location in the code. Subroutines are often used to modularize code and make it easier to reuse and maintain.
Program controls are essential for creating programs that can perform a wide range of tasks and adapt to changing conditions. By using these controls, it is possible to create programs that are flexible, efficient, and easy to maintain. The following are common types of program control.
Validating project estimates with techniques such as reference class forecasting.
Financial controls such as a segregation of duties between project accounting and reconciliation processes.
Earned Value Management
Measuring project performance and progress.
Measuring project performance and progress in terms of time.
Identifying and treating risks.
Health & Safety
Health & safety controls such as human error prevention programs.
Procurement processes and segregation of duties in handling requisition, purchase orders and invoices.
Vendor management such as a regular evaluation of vendor performance.
Processes and systems for document control.
Performance management processes for project teams including project managers.
Oversight of project management processes and assurance that methodologies and standards are applied appropriately.
Processes for learning from issues and developing capabilities and knowledge to improve.
Identifying and managing cross-project dependencies.
Measuring and reporting program and project metrics to give program stakeholders visibility.