SPM Unit-4
SPM Unit-4
Plan-Monitor-Control Cycle
The Plan-Monitor-Control Cycle is a continuous process used in
project management to ensure that the project progresses according to
its plan. This cycle involves three main stages: planning, monitoring,
and controlling. The goal is to keep the project on track, ensure that
objectives are achieved, and make adjustments as necessary.
1. Planning Stage
• Description: The planning phase defines project goals, establishes schedules, allocates resources, and
sets the project budget. It involves detailed mapping of all tasks, milestones, and identifying potential
risks. Careful planning ensures all aspects of the project are covered before execution begins.
• Key Activities: Defining project scope, creating a detailed timeline, allocating resources effectively,
and setting clear project milestones and deadlines.
• Example: In a mobile app development project, planning involves finalizing the app’s features,
estimating the time required for each development phase, assigning team roles for design, coding, and
testing, and defining a release schedule.
2. Monitoring Stage
• Description: The monitoring phase involves tracking the project's progress by measuring performance
against the established plan. Key performance indicators (KPIs) are used to evaluate whether the
project is on track, while any emerging risks or issues are identified and recorded for action.
• Key Activities: Tracking project progress regularly, evaluating performance through KPIs, and
identifying emerging risks or issues during project execution.
• Example: During a web application development project, the project manager tracks the completion
of user stories during sprints, monitors code quality through static code analysis tools, and checks bug
reports to ensure the development process is on track.
3. Control Stage
• Description: The control phase addresses variances between planned and actual performance by
implementing corrective actions. If deviations occur, the project manager adjusts resources, timelines,
or priorities to realign the project with its original goals and objectives.
• Key Activities: Implementing corrective actions to address discrepancies, adjusting project resources,
updating schedules, and modifying priorities to realign with goals.
• Example: In a software development project, if testing reveals critical bugs that affect the release date,
the project manager might extend the timeline for testing, reassign developers to fix bugs, and adjust
the release schedule accordingly to ensure the final product is error-free.
The Plan-Monitor-Control cycle is vital in managing software projects effectively. By setting clear goals and
schedules in the planning phase, tracking progress during monitoring, and making necessary adjustments in
the control phase, project managers can keep software projects on track. Therefore, the cycle enhances the
likelihood of delivering software projects on time, within budget, and meeting client expectations.
2. Ansible : While primarily a configuration management tool, Ansible leverages version control for managing
playbooks and roles:
• Centralized Repository: Ansible playbooks and roles are typically stored in a centralized repository
like Git.
• Version Control Benefits:
o Track changes to configurations and deployments.
o Collaborate on playbooks and roles.
o Roll back to previous versions if necessary.
3. Team Foundation Server (TFS) : Centralized Version Control System (CVCS): A single, centralized
repository stores all project files.
• Key Features:
o Source control: Manage source code, track changes, and revert to previous versions.
o Work item tracking: Plan, track, and manage work items (tasks, bugs, user stories).
o Build automation: Automate the build and deployment process.
o Test management: Plan and execute tests, analyze test results.
Team Structure in a Software Project:
The team structure in a software project defines the roles, responsibilities, communication flow, and
hierarchy within the project team. It is essential for defining how tasks are divided, managed, and executed.
The typical structure can vary depending on the project size and complexity, but it generally includes:
1. Project Manager:
The project manager oversees the entire project, ensuring it aligns with business objectives, is
completed on time, and stays within budget. The manager is responsible for planning, coordinating,
and monitoring the progress of the project.
2. Team Lead:
The team lead is responsible for guiding the development team and ensuring tasks are executed
according to plan. They communicate with the project manager and act as a point of contact between
the team and management.
3. Developers/Engineers:
The development team is responsible for writing code, implementing features, and ensuring that the
software meets the required specifications. Depending on the project, developers may specialize in
front-end, back-end, or full-stack development.
4. Quality Assurance (QA) Engineers:
QA engineers test the software to ensure that it meets quality standards. They write test cases, identify
bugs, and work closely with developers to resolve issues.
5. UI/UX Designers:
UI/UX designers are responsible for designing the user interface and ensuring that the software is user-
friendly. They focus on the usability and aesthetic aspects of the application.
6. Business Analysts:
Business analysts gather requirements from stakeholders and translate them into functional
specifications for developers. They bridge the gap between the technical team and business
stakeholders.
7. Database Administrators (DBAs):
DBAs handle the management and maintenance of databases, ensuring the system's data is efficiently
stored, retrieved, and updated.
8. Support/Operations Team:
The operations team manages the deployment, monitoring, and maintenance of the software once it is
live. They ensure the system remains operational and address any issues that arise in production.