Software Project Management [ BOE 068]
Unit – 4
Framework of Management in Software Project Management
The Software Project Management (SPM) framework is a set of structured guidelines that
help managers plan, organize, execute, and control software projects efficiently. The goal is
to deliver high-quality software within time, cost, and scope constraints.
1. Initiation Phase
This phase focuses on starting the project by defining its objectives and assessing feasibility.
Key Activities:
Project identification: What is to be built and why?
Feasibility study: Technical, economic, operational feasibility
Project Charter: A formal document outlining objectives, scope, stakeholders, and
constraints
Example:
A company wants to build a mobile app for food delivery. In initiation, they define the app’s
purpose (connect users with restaurants), estimate costs, and create a project charter.
2. Planning Phase
This is the most critical phase. Detailed planning ensures the project has a clear roadmap.
Key Activities:
Scope planning: Define features and functions of the software.
Time planning: Develop a work breakdown structure (WBS) and Gantt chart.
Cost estimation: Estimate resources and budget.
Risk planning: Identify potential risks and plan mitigation strategies.
Resource planning: Assign roles and responsibilities.
Example:
For the food delivery app, tasks like “user registration,” “restaurant listing,” “payment
integration,” etc. are broken down, assigned timelines and budgets, and linked to specific
developers and testers.
3. Execution Phase
This phase is where actual development begins, and the plan is put into action.
Key Activities:
Team coordination and communication
Task assignment
Code development
Testing of modules
Progress tracking
Example:
Developers start building the login module, restaurant interface, and payment gateway.
Regular stand-up meetings are held to track progress and resolve blockers.
4. Monitoring and Controlling Phase
Throughout the project lifecycle, it is essential to monitor performance and make adjustments
as necessary.
Key Activities:
Performance measurement (e.g., schedule variance, cost variance)
Quality assurance
Risk monitoring
Change management
Issue tracking
Example:
If the restaurant listing feature is delayed by 2 weeks, the manager may reassign resources or
extend the timeline while keeping stakeholders informed.
5. Closure Phase
This is the final phase where the project is formally completed.
Key Activities:
Final product delivery
Project documentation
Team performance review
Post-mortem analysis
Release of resources
Example:
The food delivery app is successfully launched on the App Store and Play Store. Feedback is
collected, and lessons learned are documented for future projects.
Area Description
Scope Management Ensuring the project includes all required work
Time Management Timely completion of the project
Cost Management Estimating and controlling the project budget
Quality Management Delivering high-quality outputs
Risk Management Identifying and mitigating project risks
Human Resource Managing the project team
Management
Communication Management Ensuring timely and effective communication
Procurement Management Handling contracts and purchases
Stakeholder Management Managing stakeholder expectations
A well-structured framework in software project management ensures that every phase of
the project is controlled and directed toward success. By aligning planning, execution, and
monitoring with objectives, software projects can be delivered effectively and efficiently.
Control, Collection of Data & Visualization of Progress in SPM (within
Framework of Management)
In the Monitoring and Controlling phase of the management framework, it’s essential to
track project performance to ensure everything is on schedule, within budget, and aligned
with project goals. This is achieved through control mechanisms, data collection, and
visualization tools.
1. Control in Software Project Management
Control means keeping the project on track and making adjustments when necessary.
Key Aspects:
Comparing actual progress with the planned progress
Managing deviations
Taking corrective or preventive actions
Example:
If a task was planned to be completed in 5 days but is still in progress on day 7, the project
manager may allocate more developers or revise the timeline.
2. Collection of Data
To control the project effectively, managers need accurate and timely data.
Types of Data Collected:
Time logs (actual hours worked)
Task completion status
Bug reports and defect counts
Test results
Budget tracking
Resource utilization
Tools for Data Collection:
Jira
Trello
Microsoft Project
GitHub (for commits and contributions)
Example:
In a food delivery app project, data like the number of completed modules, current sprint
velocity, and unresolved bugs is collected daily.
3. Visualization of Progress
Visualization helps stakeholders understand project health at a glance.
Common Visualization Tools:
Gantt Charts: Show task timelines and dependencies
Burn-down Charts: Track remaining work in a sprint
Dashboards: Provide real-time status of various KPIs
Progress Bars & Pie Charts: Represent percent completion
Tools Used:
Microsoft Power BI
Jira Dashboards
Tableau
[Link]
Asana Timeline
Example:
A dashboard shows 80% of the app features completed, 5 open bugs, and a 3-day delay in the
payment module—this visual insight helps managers take quick decisions.
Relation to Management Framework
Framework Phase Control/Data/Visualization Role
Planning Define KPIs, set up tools and templates
Execution Record actual progress and resource usage
Monitoring & controlling Compare planned vs actual, visualize progress, act
Closure Analyze final metrics and document lessons learned
In software project management, control, data collection, and progress visualization are
integral to the Monitoring and Controlling phase. They enable informed decisions, early
problem detection, and ensure project delivery is on track. These elements make the
management framework dynamic and responsive.
Cost Monitoring and Earned Value Analysis in Software Project
Management
In software project management, cost monitoring is a vital process under the broader
umbrella of cost management and the monitoring and controlling phase of the project
management framework. It involves continuously tracking and comparing the actual
expenditures of a project against the planned or budgeted costs. The goal of cost monitoring
is to ensure that the project does not exceed its budget and that any deviations from the
financial plan are identified early enough to implement corrective actions. Effective cost
monitoring enables project managers to keep stakeholders informed, manage resources
wisely, and maintain the financial health of the project.
To support this, a more advanced method known as Earned Value Analysis (EVA) is often
used. EVA is a powerful project performance measurement technique that integrates scope,
schedule, and cost metrics to provide a comprehensive view of project performance and
forecast future outcomes. EVA works by calculating three key values: Planned Value (PV),
which represents the budgeted cost of work scheduled to be completed by a certain date;
Earned Value (EV), which represents the budgeted value of the work actually completed;
and Actual Cost (AC), which is the amount of money actually spent on the work done. From
these values, several performance indicators are derived.
Two critical metrics are Cost Variance (CV) and Schedule Variance (SV). CV is the
difference between EV and AC, and it tells whether the project is under or over budget. A
negative CV indicates that the project has spent more than planned. SV, calculated as EV
minus PV, shows if the project is ahead or behind schedule. Additionally, two indices—Cost
Performance Index (CPI) and Schedule Performance Index (SPI)—are used to assess
efficiency. A CPI below 1 indicates poor cost efficiency, while an SPI below 1 suggests
schedule delays. EVA also allows managers to forecast the Estimate at Completion (EAC),
which predicts the total cost of the project based on current performance, calculated as the
total budget (known as Budget at Completion or BAC) divided by CPI.
Objectives:
Ensure financial discipline
Detect cost overruns early
Make informed decisions to control budget
Key Elements of Cost Monitoring:
Element Description
Planned Cost (Budget) The estimated cost of the project or tasks
Actual Cost (AC) The real amount spent so far
Cost Variance (CV) Difference between budgeted and actual cost
Forecasting Estimating future costs based on current trends
Tools Used:
Microsoft Project
Primavera
Jira (with cost tracking add-ons)
Excel with tracking templates
Cost dashboards in Power BI or Tableau
Example:
A project budgeted ₹10,00,000 for app development. After 2 months, ₹6,50,000 is already
spent, though only 40% of the work is complete. This raises a red flag—indicating potential
cost overrun.
2. Earned Value Analysis (EVA)
Earned Value Analysis is a performance measurement technique that integrates scope,
schedule, and cost to assess project performance and predict future outcomes.
Core Metrics in EVA:
Metric Formula Meaning
Planned Value (PV) Budgeted cost of work What should have been done by
scheduled now
Earned Value (EV) Budgeted cost of actual Value of work actually completed
work performed
Actual Cost (AC) Cost actually incurred for Money spent
the work done
Cost Variance (CV) EV - AC If negative → over budget
Schedule Variance (SV) EV - PV If negative → behind schedule
Cost Performance EV / AC CPI < 1 → over budget; CPI > 1
Index (CPI) → under budget
Schedule Performance EV / PV SPI < 1 → behind schedule; SPI >
Index (SPI) 1 → ahead of schedule
Estimate at Completion BAC / CPI Forecasted total project cost
(EAC)
Example Calculation:
Let’s say:
Planned Value (PV) = ₹5,00,000
Earned Value (EV) = ₹4,00,000
Actual Cost (AC) = ₹6,00,000
Budget at Completion (BAC) = ₹10,00,000
Calculate:
CV = EV - AC = 4,00,000 - 6,00,000 = -₹2,00,000 → Over Budget
SV = EV - PV = 4,00,000 - 5,00,000 = -₹1,00,000 → Behind Schedule
CPI = EV / AC = 0.67 → Poor cost performance
SPI = EV / PV = 0.80 → Behind schedule
EAC = BAC / CPI = ₹10,00,000 / 0.67 ≈ ₹14,92,537 → Project will likely cost
almost ₹5 lakh more
Why Is EVA Important?
Provides quantitative insights
Helps forecast future costs
Assists in risk management
Gives early warning signals for corrective actions
Cost Monitoring tracks actual vs. planned expenses in real-time.
Earned Value Analysis (EVA) is a powerful forecasting tool that blends cost and
schedule data to assess project health and predict completion behaviour.
Prioritizing Monitoring
In Software Project Management (SPM), prioritizing monitoring means identifying and
focusing on the most critical aspects of a project that can impact its success, and giving
these areas extra attention and resources throughout the monitoring and controlling phase.
Monitoring every minor detail equally is neither practical nor efficient—especially in
complex software projects. Therefore, project managers must prioritize which elements to
monitor more closely based on their risk level, importance to stakeholders, potential
impact on the schedule or budget, and dependency on other tasks.
The goal of prioritizing monitoring is to ensure that key performance areas—such as cost,
schedule, quality, scope, and risks—are consistently tracked and any issues are detected early.
For instance, if a particular module in a software system is both high-risk and on the critical
path, it should be monitored more frequently than other less critical modules. This allows
managers to act proactively rather than reactively.
Let’s take an example of a project developing an online banking application. This project
includes features like user authentication, fund transfers, loan processing, and customer
support chatbots. Not all modules require the same level of monitoring. User authentication
and fund transfers are high-priority features due to their sensitivity and importance in the
functioning of the system. A delay or defect in these could impact the credibility and security
of the entire system. These modules should be monitored closely for:
Adherence to deadlines,
Compliance with security protocols,
Code quality, and
Integration success.
Project managers also use monitoring tools and techniques such as dashboards, risk
registers, and earned value reports to identify areas needing attention. For example, if a
dashboard shows a delay in the integration of the payment gateway with the backend, and this
task is a dependency for three other tasks, this becomes a high-priority monitoring item.
Similarly, if a risk log indicates a potential licensing issue with third-party software, that too
becomes a high-priority item to monitor until resolved.
Another way to prioritize monitoring is through stakeholder expectations. If a stakeholder
places heavy emphasis on system performance under high load, then performance testing and
load management should become a monitoring priority—even if other aspects are technically
more complex.
In summary, prioritizing monitoring in software project management helps managers
allocate their focus, time, and resources to the areas that matter most to project success. It
leads to better risk management, faster decision-making, and a greater chance of meeting
project objectives. Prioritization is typically based on project criticality, risk levels, task
dependencies, and stakeholder interests. By doing so, teams ensure that high-impact issues
are addressed early, and the project stays on track in terms of time, cost, quality, and scope.
Purpose
Ensure early detection of problems in high-risk areas
Improve decision-making and risk response
Allocate monitoring resources efficiently
Keep the project on track in cost, time, scope, and quality
What to Prioritize in Monitoring?
1. High-risk components
2. Tasks on the critical path
3. Modules with stakeholder emphasis
4. Areas prone to delays or cost overruns
5. Dependencies between tasks
Techniques for Prioritized Monitoring
Use dashboards to track KPIs
Maintain a risk register
Perform Earned Value Analysis (EVA)
Monitor critical modules more frequently
Conduct regular stand-up meetings for key teams
Example: Online Banking Application
Module Monitoring Priority Reason
User Authentication High Security-sensitive, critical path
Fund Transfers High Financial core, high impact
Loan Processing Medium Regulatory compliance
Customer Support Low Low impact if delayed initially
Chatbot
Factors Influencing Monitoring Priorities
Business impact
Technical complexity
Dependency on other tasks
Visibility to users or clients
Potential to delay project milestones
Benefits
Early problem detection
Better resource usage
Enhanced stakeholder satisfaction
Improved project performance
Project Tracking
Project tracking is a critical process in software project management that involves
monitoring the progress of a project against the project plan. It enables managers and
teams to assess whether the project is advancing as expected in terms of time, cost, quality,
and scope. The main goal of project tracking is to identify deviations from the plan early, so
corrective actions can be taken to prevent delays, cost overruns, or quality issues.
In software development, project tracking starts once the planning phase is complete and the
execution begins. It is a continuous process that provides real-time insights into the status of
individual tasks, modules, and overall project milestones. Project tracking involves gathering
data related to task completion, resource utilization, budget expenditure, issue resolution, and
testing outcomes. This data is then compared with the original project schedule and budget to
determine if the project is on track or not.
Project tracking uses various tools and techniques. Common tools include Gantt charts,
Kanban boards, burndown charts, and dashboards provided by project management
software like Jira, Microsoft Project, Trello, Asana, or [Link]. For example, a Gantt
chart can help visualize task timelines and dependencies, while a burndown chart shows
how much work is left in a sprint and whether the team is progressing fast enough to meet
deadlines. In Agile projects, daily stand-up meetings are also used as a form of verbal
tracking to quickly understand what has been done, what’s in progress, and what is blocked.
Let’s consider an example: A software team is building a hotel booking application with
multiple modules like login, search, booking, payment, and notifications. The project
manager uses Jira to assign tasks and deadlines. Every week, the team reviews their progress.
The Gantt chart shows the "payment gateway integration" is behind schedule by 4 days. At
the same time, the budget dashboard shows the team has already spent 60% of the allocated
budget, but only 45% of the total work is completed. These tracking indicators help the
manager flag the issue, call a meeting, and possibly reallocate resources or revise deadlines.
In addition to time and cost, tracking also involves quality assurance metrics like defect
rates, test coverage, and the number of bugs reported and resolved. It also involves tracking
risks, such as identifying new risks, assessing their impact, and updating the risk mitigation
plan.
In summary, project tracking is a dynamic and essential activity in software project
management that ensures project goals are being met efficiently. It provides early warnings of
potential issues, supports better decision-making, and increases transparency and
accountability within the team. By keeping all stakeholders informed and aligned, project
tracking contributes to the timely and successful delivery of software projects.
Key Elements of Project Tracking
Element What It Tracks
Time Task start/end dates, duration
Cost Budget usage vs. actual expenses
Quality Bug rates, test results, code reviews
Scope Features completed vs. planned
Resources Team workload, availability
Risks Risk status, mitigations, new threats
Tools Used
Jira – Agile tracking with sprints & boards
Microsoft Project – Gantt charts, timelines
Trello/Asana – Task-based visual boards
[Link] – Timeline and budget visualization
Power BI/Tableau – Real-time dashboards
Common Tracking Techniques
Technique Purpose
Gantt Chart Track task progress over time
Burndown Chart Shows remaining work in a sprint
Kanban Board Visualize work status (To Do → Done)
Progress Real-time updates to stakeholders
Dashboards
Daily Stand-ups Verbal updates in Agile teams
Benefits
Early issue detection
Better resource and time management
Continuous improvement
Higher transparency and accountability
On-time project delivery
Change Control & Software Configuration Management (SCM)
Change control is the process of managing changes to the project’s software, documents,
requirements, or system components in a controlled and organized way. In software projects,
changes are common—clients may request new features, developers may suggest
improvements, or bugs may need fixing.
The main goal of change control is to:
Make sure every change is tracked
Ensure changes are approved before being implemented
Avoid confusion or conflict between different versions of files or features
Steps in Change Control Process:
1. Change Request Raised – A stakeholder/developer/tester requests a change (e.g., new
feature, bug fix).
2. Impact Analysis – The team checks how the change will affect cost, time, and
functionality.
3. Approval/Review – The change is reviewed by a Change Control Board (CCB) or
project manager.
4. Implementation – If approved, the change is assigned and applied to the codebase.
5. Testing and Verification – Ensure the change works and doesn't break other parts.
6. Documentation Update – Update code comments, user manuals, or system diagrams if
needed.
Example of Change Control:
Suppose you're building a library management software, and the client requests to add a
barcode scanner feature after the project is already halfway done.
A change request is submitted.
The project team does an impact analysis: It will delay the project by 5 days and cost
₹20,000 more.
The manager and client review it and approve the request.
Developers implement the feature and test it.
Documentation is updated to reflect this new feature.
What is Software Configuration Management (SCM)?
SCM is the broader system that tracks, controls, and manages all changes to software
throughout its development and lifecycle. It includes not just code, but also requirements, test
cases, documents, and tools.
Key Functions of SCM:
1. Version Control – Tracks different versions of files (e.g., Git, SVN).
2. Change Control – Manages requests and approvals for changes.
3. Build Management – Ensures the software is built consistently and correctly.
4. Release Management – Packages and delivers finished versions to customers.
5. Configuration Identification – Defines what items are part of the system (source code,
docs, databases, etc.)
Example of SCM in Action:
Let’s say your team uses Git to manage your codebase. A developer makes a change to a
module, but before merging it to the main branch, the team:
Reviews the change (Pull Request)
Confirms it doesn’t conflict with others’ work
Merges the change only after approval
Meanwhile, the SCM system keeps track of:
Who made the change
What was changed
When it was changed
Which version is currently deployed
This avoids problems like:
Two developers overwriting each other’s work
Losing track of older stable versions
Deploying buggy or unapproved changes
Why Change Control & SCM Are Important:
Prevent chaos in code and documentation
Maintain quality and consistency
Help with team collaboration
Ensure traceability of who changed what and why
Enable rollback if something breaks
Contract Management
Contract management in software engineering involves the process of creating,
negotiating, monitoring, and managing contracts between a software development
company and its clients. It ensures that both parties agree on clear terms and conditions
before, during, and after the project. These contracts typically outline important aspects like
the scope of work (what the software will do), project deadlines, costs, payment schedules,
intellectual property rights, and how changes will be handled.
For example, if a company is hired to build a mobile app, the contract will specify the
project’s timeline, the features to be included, and the price. If the client asks for additional
features later on, the contract will include a process for handling these changes, known as
change control.
Good contract management helps prevent misunderstandings and protects both the developer
and the client. It ensures that the software is delivered as promised, on time, and within
budget. Moreover, it also provides a clear roadmap for resolving any issues that might arise,
such as delays or quality concerns. Overall, contract management is crucial for making sure
that both the client’s and the developer's expectations are met and that the project stays on
track.
Purpose of Contract Management
Protect both parties legally and financially
Ensure all project deliverables are clear
Reduce risks of disputes and misunderstandings
Track compliance throughout the project lifecycle
Key Stages of Contract Management
Stage Description
1. Contract Creation Drafting a contract with terms, deliverables, timelines, costs
2. Negotiation Both parties discuss and agree on terms
3. Approval & Legal and project leads approve and sign the document
Signing
4. Execution The software project is carried out as per contract
5. Monitoring Progress, payments, milestones, and quality are tracked
6. Amendments If scope or timeline changes, the contract is updated
7. Closure Project ends, all dues cleared, IP rights transferred if applicable
Common Types of Contracts in Software Projects
Contract Type Description
Fixed Price Total cost is fixed; best for clear scope
Time & Material Billing is based on time and effort spent
Milestone-Based Payment tied to delivery of specific stages
Retainer Monthly fixed payment for continuous work
Service-Level Agreement (SLA) Defines performance metrics and support terms
Why Contract Management Is Important
Prevents misunderstandings and legal issues
Keeps both sides accountable
Ensures deliverables are met as agreed
Helps manage scope creep through formal change control
Builds long-term trust and business relationships
Example of Contract Management
Suppose a hospital hires a software company to develop a custom patient record system.
The contract includes:
o Project duration: 6 months
o Cost: ₹10 lakhs
o Deliverables: Login module, data entry form, report generation
o Payment terms: 30% advance, 40% on mid-delivery, 30% on completion
o Clause for penalty: ₹1,000/day if delayed beyond the deadline
During development, the hospital requests a new reporting feature. This is not in the
original contract, so the team initiates a change request, negotiates an amendment,
and adds ₹50,000 to the cost with 2 weeks extension.
The project completes on time, and final payment is processed after successful
testing and handover.
This whole process is contract management in action—it makes sure everything is official,
fair, and trackable.