SPM Unit 1
SPM Unit 1
Unit 1
5. Cost control: Efficient project management helps control costs by tracking and managing
expenses.
6. Stakeholder satisfaction: Meeting the expectations of stakeholders is crucial for the success of
a project, and effective management helps achieve this goal.
Activities of Software Project Management
Software Project Management involves several key activities to ensure the successful planning,
execution, and completion of a software development project. Below are the detailed activities
involved:
Project Planning
Advantages:
1. Simple & Easy to Use – The structured, step-by-step approach makes it easy to understand
and implement.
2. Clear Documentation – Each phase is well-documented, ensuring better clarity and reference
for future modifications.
3. Defined Milestones – Since each phase has a defined start and end, progress tracking is
straightforward.
4. Well-Suited for Stable Requirements – Works well when project requirements are fixed and
not likely to change.
5. Easier Project Management – The sequential approach simplifies planning, scheduling, and
monitoring.
6. Better Quality Control – Testing is performed after development, ensuring a complete and
functional product.
Disadvantages:
1. Rigid & Inflexible – Once a phase is completed, it is difficult to go back and make changes.
2. Late Testing – Bugs and issues are discovered late in the process, leading to higher fixing
costs.
3. Slow Adaptation to Changes – Any changes in requirements require restarting the entire
process, increasing delays and costs.
4. Longer Delivery Time – Since testing and deployment occur at the end, there is no early
working prototype.
5. Not Suitable for Complex or Evolving Projects – It does not work well for projects with
uncertain or frequently changing requirements.
6. High Risk – If any issue arises in the later stages, it can significantly impact the entire
project.
Iterative Waterfall Model
The Iterative Waterfall Model is a modified version of the traditional Waterfall model that allows
limited feedback and revisions between phases. Unlike the rigid sequential approach of the standard
Waterfall model, the iterative version permits some overlap between phases, enabling partial
refinements before finalizing each stage.
Advantages:
1. Improves Quality – Early detection of defects leads to better software quality.
2. Allows Limited Changes – Some flexibility is provided for modifications in earlier phases.
3. Reduces Risk – Problems are identified earlier, minimizing costly late-stage fixes.
4. Better User Satisfaction – Iterations help refine the product before final deployment.
Disadvantages:
1. Still Sequential – Major changes still require restarting phases.
2. Longer Development Time – Multiple iterations may extend project timelines.
3. Higher Cost – Additional reviews and rework may increase development costs.
Prototype Model
The Prototype Model is a software development approach where an initial working version
(prototype) of the system is built, tested, and refined based on user feedback before final
development. This helps in better understanding requirements and reducing risks.
Advantages:
Incremental Model
The Incremental Model is a software development approach where the project is divided into multiple
smaller modules (increments). Each increment undergoes the full development cycle (requirement
analysis, design, implementation, testing, and deployment) and is integrated into the final system step
by step.
Advantages:
1. Early Delivery – Functional software is available earlier for testing and use.
2. Flexibility – Changes can be incorporated in future increments.
3. Lower Risk – Errors are detected early in smaller increments.
4. Better Resource Management – Development efforts can be adjusted as needed.
5. Customer Satisfaction – Users get early versions and can provide feedback.
Disadvantages:
1. Planning Complexity – Requires careful scheduling and integration strategies.
2. Higher Cost – More effort is needed for repeated development and testing cycles.
3. Integration Challenges – New increments must work smoothly with previous ones.
4. Scope Creep – Users may keep requesting new features, leading to delays
Agile methodology
The Agile methodology is a project management and software development approach that emphasizes
flexibility, collaboration, and customer-centricity. It is the latest model used by major companies
today like Facebook, google, amazon, etc. It follows the iterative as well as incremental approach that
emphasizes the importance of delivering of working product very quickly. This article focuses on
discussing Agile Methodology in detail.
Advantages of Agile Methodology
1. Immediate Feedback: It allows immediate feedback, which aids software improvement in the
next increment.
2. Face-to-Face Communication: Agile methodology encourages effective face-to-face
communication.
3. Time-Efficient: It is well-suited for its time-efficient practices, which help in delivering
software quickly and reducing time-to-market.
4. Frequent Changes: It effectively manages and accommodates frequent changes in project
requirements according to stakeholder convenience.
5. Customer Satisfaction: It prioritizes customer satisfaction.
6. Flexibility and Adaptability: Agile methodologies are known for their flexibility and
adaptability.
Setting Objectives
Setting clear and measurable objectives is crucial for project success. Objectives
should be:
• S – Specific: Clearly defined goals.
• M – Measurable: Progress should be trackable.
• A – Achievable: Realistic within given constraints.
• R – Relevant: Aligned with business goals.
• T – Time-bound: Defined deadlines for completion.
Management Principles
Management Principles in software project management provide a structured approach to
ensuring efficiency, productivity, and successful project execution.
Management Control
Management Control is the process of monitoring, evaluating, and adjusting a project's
progress to ensure it stays on track and meets objectives. It helps in identifying deviations
and implementing corrective actions.
Risk Evaluation
Risk Evaluation is the process of identifying, assessing, and prioritizing potential risks that could
impact a project's success. It helps in minimizing uncertainties and ensuring smooth project execution.
1. Risk Identification
• Recognizing potential risks that may affect the project.
• Techniques used:
o Brainstorming – Team discussions to identify risks.
o Checklists – Reviewing common project risks.
o Interviews – Gathering expert opinions.
Risk Evaluation ensures potential threats are identified, analyzed, and managed effectively to
minimize project disruptions. A structured risk management approach leads to successful project
execution.
1. Program Governance
• Establishes a structured framework for decision-making, roles, and responsibilities.
• Ensures proper monitoring, risk management, and compliance.
• Helps maintain alignment with organizational strategy.
• Example: A software company implements governance policies to ensure consistency across
multiple product development projects.
2. Benefits Realization
• Focuses on delivering measurable business benefits rather than just project outputs.
• Ensures the program achieves its intended value and impact.
• Involves continuous tracking of benefits throughout the program lifecycle.
• Example: A digital transformation program enhances efficiency and reduces operational costs
by 30%.
3. Stakeholder Management
• Identifies key stakeholders and their interests.
• Engages stakeholders to gain support and address concerns.
• Ensures clear communication and expectation management.
• Example: A healthcare software program involves doctors, nurses, and IT staff to ensure
successful implementation.
Benefits of Strategic Program Management:
2. Planning
• Develops a detailed project plan covering:
o Schedules – Timeline and milestones.
o Budgets – Estimated costs and funding.
o Resources – Team members, tools, and technology.
o Risk Management – Identifying potential risks and mitigation plans.
• Example: Creating a Gantt chart to visualize project timelines.
3. Execution
• Implements the project plan and allocates resources.
• Ensures smooth team coordination and workflow management.
• Adapts to changes and resolves issues as they arise.
• Example: Developers begin coding based on the approved design.
4. Monitoring & Control
• Tracks project progress using key performance indicators (KPIs).
• Identifies and resolves deviations from the plan.
• Ensures project objectives are met on time and within budget.
• Example: Conducting weekly progress meetings to review status and adjust timelines.
5. Closure
• Completes and delivers the final project output.
• Conducts a post-project review to document lessons learned.
• Formally closes the project with stakeholder approval.
• Example: A software project is deployed, and a final report is shared with stakeholders.