Software Project Management
Software Project Management
Sc Computer Science
Unit-II:
Managing Domain Process – Project Solution Model – Project Portfolio Management – Financial
Processes – Selecting a Project Team – Goal and Scope of the Software Project - Project
Planning – Creating the work Breakdown Structure – Approaches to Building a WBS – Project
Milestones – Work Packages – Building a WBS for Software.
Unit-III
Tasks and Activites – Software size and Reuse Estimating – The SEICMM – Problems and risks
– Cost Estimation – Effort Measures – COCOMO: A Regression Model – COCOMOII – SLIM:
A Mathematical Model – Organizational Planning – Project Roles and Skills Needed.
Unit-IV
Unit-V
Text book
Robert T.Futrell, Donald F. Shafer, Linda I. Safer, -Quality Software Project Management,
Pearson Education Asia 2002.
Reference Book
Introduction to Competencies:
Software Project Management (SPM) involves planning, executing, and overseeing software
development projects to meet specific objectives such as scope, time, cost, and quality. To
manage these projects effectively, professionals need a diverse set of competencies, which can
be broadly categorized into technical, managerial, and interpersonal skills.
1. Definition of Competency
a. Technical Competencies
Project planning and scheduling (e.g., Gantt charts, work breakdown structures)
Budgeting and cost estimation
Resource allocation and management
Monitoring and control mechanisms
d. Methodological Competencies
Ensure Project Success: Competent managers increase the likelihood of meeting goals
on time and within budget.
Risk Reduction: Proper skills help identify and mitigate potential risks early.
Team Motivation: Strong leadership and communication foster team morale and
productivity.
Stakeholder Satisfaction: Effective management ensures alignment with client and
stakeholder expectations.
_______________________________________________________________________
1. Requirements Engineering
Techniques:
o Stakeholder interviews
2. Agile Methodologies
3. Waterfall Model
Phases:
o Requirements → Design → Implementation → Testing → Deployment →
Maintenance
Purpose: Suitable for projects with well-defined requirements and low uncertainty.
4. Prototyping
Types:
o Throwaway prototyping
o Evolutionary prototyping
Purpose: To build a model of the system quickly for early user feedback before full-scale
development.
5. Spiral Model
Principles:
o Eliminate waste
o Build quality in
o Deliver fast
o Empower the team
Techniques: Value stream mapping, Just-in-time development
7. DevOps Practices
Techniques:
o Continuous Integration (CI)
o Continuous Deployment (CD)
o Infrastructure as Code (IaC)
o Automated Testing
Purpose: To bridge the gap between development and operations for faster and more
reliable releases.
8. Risk Management
Techniques:
o Risk identification and assessment
o Risk mitigation planning
o Monitoring and control
Purpose: To anticipate, reduce, and manage project risks throughout the lifecycle.
Techniques:
o Code reviews
o Unit, integration, system, and acceptance testing
o Test-driven development (TDD)
o Automated testing
Purpose: To ensure the product meets quality standards.
Techniques:
o Function Point Analysis (FPA)
o Constructive Cost Model (COCOMO)
o Expert judgment
o PERT (Program Evaluation and Review Technique)
Purpose: To predict project timelines and budget accurately.
2. Communication Skills
3. Negotiation Skills
6. Time Management
7. Risk Management
8. Conflict Resolution
9. Problem-Solving Skills
11. Adaptability
1. Idea Generation
2. Requirement Analysis
3. Product Design
Creating system architecture and design documents.
UI/UX design for user interaction.
Preparing technical specifications.
4. Product Development
5. Testing
6. Deployment
7. Maintenance
2. Requirement Gathering
In this step, the team of software developers holds discussions with various stakeholders from
the problem domain and provides as much as information possible for the requirement of the
software product. The requirements can be of different forms like user requirements, system
requirements, functional requirements, etc.
3. Feasibility Study
After requirement gathering, with the help of many algorithms, the team analyzes that if the
software can be designed to fulfil all requirements of the user and also analyzes if the project
is financially, practically and technologically feasible for the organization or not.
5. Software Design
Software design whole knowledge of requirements and analyses are taken together to plan up
design of software products. It takes input from the user and information gathered in the
requirement-gathering phase. It gives output in the form of logical and physical design.
6. Coding
This step is also known as the programming phase. The implementation of software design
starts in the form of writing code in suitable programming and developing error-free programs
efficiently.
7. Testing
Software testing is done while coding by the testers' developing team members. Testing is
done at various levels i.e. module testing, product testing, program testing and user-end
testing.
8. Integration
After writing all the codes for the software such as frontend, backend, and databases, The
software is integrated with libraries, databases and other programs.
9. Implementation
In this step, the software product is finally ready to be installed on the user's machine.
Software is tested for profitability, integration, adaptability, etc.
Models
The models specify the various stages of the process and the order in which they are carried
out. The most used, popular and important SDLC models are given below:
Waterfall model
V model
Incremental model
RAD model
Agile model
Iterative model
Spiral model
Prototype model
Waterfall Model
The waterfall model is a breakdown of project activities into linear sequential phases, where
each phase depends on the deliverables of the previous one and corresponds to a specialisation
of tasks. The approach is typical for certain areas of engineering design.
V Model
The V-model represents a development process that may be considered an extension of the
waterfall model and is an example of the more general V-model. Instead of moving down in a
linear way, the process steps are bent upwards after the coding phase, to form the typical V
shape.
Incremental model
The incremental build model is a method of software development where the model is
designed, implemented and tested incrementally (a little more is added each time) until the
product is finished. It involves both development and maintenance.
Iterative Model
An iterative life cycle model does not attempt to start with a full specification of requirements
by first focusing on an initial, simplified set user features, which then progressively gains
more complexity and a broader set of features until the targeted system is complete
RAD model
RAD is an incremental prototyping approach to software development that end users can
produce better feedback when examining a live system, as opposed to working strictly with
documentation.
Spiral model
A spiral model looks like a spiral with many loops. The exact number of loops of the spiral is
unknown and can vary from project to project. This model supports risk handling, and the
project is delivered in loops. Each loop of the spiral is called a Phase of the software
development process.
Agile model
Agile is an umbrella term for a set of methods and practices based on the values and
principles expressed in the Agile Manifesto that is a way of thinking that enables teams and
businesses to innovate, quickly respond to changing demand, while mitigating risk.
Organizations can be agile using many of the available frameworks available such as Scrum,
Kanban, Lean, Extreme Programming (XP) and etc.
Agile software development approach is typically operated in rapid and small cycles. This
results in more frequent incremental releases with each release building on previous
functionality. Thorough testing is done to ensure that software quality is maintained.
The SEICMM
Well defined process and framework for assessing or evaluating the maturity level of an
organization
Organizations may receive a formal assessment from SEI licensed assessors DoD and
other organizations may require a formal assessment rating for contractors and partners
Organizations may use the SEI/CMM materials to perform internal evaluations and as a
basis for improvement
Describes an evolutionary improvement path to migrate an organization from an ad-hoc,
immature organization to mature, disciplined organization
Evolves from one level to next
Each level forms the foundation of the next
Level 1 – Initial
Level 2 - Repeatable
Level 3 – Defined
Management and engineering processes are standardized and documented across the
organization
Projects use approved, tailored versions of the standard process definitions
A training program exists
Level 3 focuses on organization wide issues
1. A formal focus for process improvement exists
2. Processes are documented and maintained
Level 4 – Managed
______________________________________________________________________________
Overview :
The mission of the International Standard Organization is to market the development of
standardization and its related activities to facilitate the international exchange of products
and services. It also helps to develop cooperation within the different activities like spheres of
intellectual, scientific, technological, and economic activity.
ISO 9000: 2000: contains Quality management systems, fundamentals, and vocabulary.
This series of standards includes Quality management systems and Quality assurance
standards. It also includes some guidelines for selection and use .
This series contains Quality management systems, Quality assurance standards and also
includes guidelines for the application of ISO 9001 to 1994 to the development, supply,
installation, and maintenance of computer installation.
This series of standards has Quality systems and a Quality assurance model. This model helps
in design, development, production, installation, and service.
This series of standards also includes some Quality systems. This Quality assurance model
used in the final inspection and test .
This series of standards include some Quality management systems. It also includes some
guidelines for performance improvements.
UNIT- II
a. Domain Understanding
c. Stakeholder Analysis
Identify all parties involved in the domain (e.g., users, managers, regulators).
Understand their needs, expectations, and influence on the project.
d. Requirement Elicitation
e. Gap Analysis
Modify or redesign business processes for efficiency and better software integration.
________________________________________________________________________
Project Selection Models help organizations decide which projects to undertake when resources
(time, money, personnel) are limited. These models provide a systematic approach to evaluate,
prioritize, and select the most beneficial projects.
A. Non-Numeric Models
1. Sacred Cow
2. Operating Necessity
Chosen because it is essential to keep the business running.
Example: Upgrading a failing server system.
3. Competitive Necessity
Numeric Models
1. Payback Period
where RtR_tRt = net cash inflow, rrr = discount rate, ttt = time period, C0C_0C0 = initial
investment.
5. Scoring Model
Projects scored against multiple weighted criteria (e.g., ROI, risk, strategic alignment).
Most flexible numeric model.
Final score = ∑ (Weight × Score)
6. Cost-Benefit Analysis
Objectives of PPM
a. Portfolio
b. Governance
c. Resource Management
d. Risk Management
e. Performance Monitoring
Regular tracking of project progress, value delivery, and alignment with business goals.
4. PPM Process Steps
Approve projects that best align with strategic goals and available resources.
Benefits of PPM
Financial Process:
A well-structured financial process helps ensure that the software product is viable, profitable,
and strategically aligned with business goals.
1 .Budget Planning
2. Cost Estimation
4. Pricing Strategy
5. Revenue Forecasting
7. Profitability Analysis
9. Cost Optimization
________________________________________________________________________
Build a cross-functional team tailored to the product needs. Typical roles include:
Role Responsibilities
Product Manager (PM) Defines the product vision, roadmap, and user needs.
Project Manager (optional) Handles timelines, resources, risk, and coordination.
Role Responsibilities
Software Engineers Write code, implement features, and fix bugs.
________________________________________________________________________
The goal describes the purpose, outcome, or value the project aims to deliver. It answers:
"Why are we building this product?"
Build a mobile app to let users track their fitness activities in real time.
Develop a SaaS platform for small businesses to manage payroll and invoices.
Redesign an e-commerce site to reduce cart abandonment by 20% in 6 months.
This project will deliver a web-based inventory management system for small retailers. The
system will allow product entry, real-time stock tracking, supplier management, and generate
basic reports. The initial release will include web access only, with mobile support deferred to a
later phase. Integration with QuickBooks is out of scope for version 1.
Focus Why the project exists What the project will include
_____________________________________________________________________
Project Planning:
Definition and Importance
Key Purposes:
1. Project Scope
2. Requirements Gathering
4. Scheduling
6. Budgeting
7. Risk Management
8. Quality Planning
9. Communication Plan
Requirements
UI/UX Design
Frontend Development
Backend/API Development
Integration
Testing
Release
Product Marketing
Decompose each major deliverable into smaller, manageable work packages (Level 2 and
Level 3).
pgsql
CopyEdit
1. Requirements & Planning
1.1 Market research
1.2 Stakeholder interviews
1.3 User stories and personas
1.4 Product roadmap
2. Design
2.1 Wireframes
2.2 UI design mockups
2.3 Prototypes
2.4 Design system creation
3. Frontend Development
4. Backend Development
4.1 Database schema design
4.2 API development
4.3 Authentication system
4.4 Role-based access control
5. Testing
5.1 Unit tests
5.2 Integration tests
5.3 End-to-end tests
5.4 Usability testing
6. Deployment
6.1 Staging environment setup
6.2 Production deployment
6.3 Monitoring setup
8. Post-launch Activities
8.1 Bug fixes
8.2 Feature enhancements
8.3 Support and maintenance
Example:
markdown
CopyEdit
1. User Registration
2. Ride Booking
3. Payment Integration
4. Driver Tracking
5. Notification System
2. Phase-Based Approach
Break down based on project lifecycle phases, aligning with the Software Development Life
Cycle (SDLC).
🔹 Example:
markdown
CopyEdit
1. Requirements Gathering
2. Design
3. Development
4. Testing
5. Deployment
6. Maintenance
Functional/Team-Based Approach
Divide the work according to teams or departments (e.g., frontend, backend, design,
QA).
1. UI/UX Team
1.1 Wireframes
1.2 Prototypes
2. Frontend Team
2.2 Dashboard
3. Backend Team
Cross-functional teams
Agile environments
Team accountability
Example:
markdown
CopyEdit
1. Product Catalog
2. Shopping Cart
3. Checkout & Payment
4. Order Management
5. Customer Support
Modular architecture
MVP (Minimum Viable Product) planning
Prioritizing core features
Use epics, user stories, and sprints to create a flexible WBS that evolves over time.
Example:
pgsql
CopyEdit
1. Epic: User Management
1.1 User Login (Story)
1.2 User Profile (Story)
2. Epic: Order Processing
2.1 Place Order (Story)
2.2 Order Tracking (Story)
Iterative development
Prioritized backlogs
6. Hybrid Approach
Combine multiple approaches—for example, phase-based at the top level and feature-based
at the next
Example:
yaml
CopyEdit
1. Development Phase
1.1 Feature: User Onboarding
1.2 Feature: Payment Gateway
2. Testing Phase
2.1 Feature: Unit Tests
2.2 Feature: UAT
Project Milestones:
In software project management, project milestones are significant checkpoints or events used
to track progress and ensure the project is on schedule. They are not tasks themselves but rather
markers that indicate the completion of a group of tasks or a key phase.
Project Initiation
2. Requirements Gathering
3. Design Phase
4. Development Phase
Milestones:
o Completion of Key Modules or Sprints (for Agile)
o Code Freeze
Details: Major features or components are developed and integrated.
5. Testing Phase
Milestones:
o Unit Testing Completed
o Integration Testing Completed
o User Acceptance Testing (UAT) Sign-off
Details: Quality assurance phases are completed to verify the product meets
requirements.
6. Deployment
7. Post-Deployment
Milestones:
o Warranty Period Completed
o Project Closure
Details: Support provided post-launch, and a project retrospective is conducted.
Agile-Specific Milestones
Work Packages:
A work package is a well-defined task or group of related tasks within a project that has:
Suppose you're developing a mobile banking application. Your WBS might include:
Create wireframes
Design UI mockups
Conduct user reviews
2. Backend Development
3. Authentication Module
4. Quality Assurance
Each of the above can be further broken down into work packages with estimated timelines,
resource allocations, and dependencies.
______________________________________________________________________________
Answer: B
2. Which of the following is NOT considered a core competency for a software project
manager?
A) Communication skills
B) Technical knowledge
C) Physical strength
D) Leadership ability
Answer: C
Answer: A
4. Which competency helps a project manager to understand the big picture and align
the project with organizational goals?
A) Technical skills
B) Conceptual skills
C) Time management skills
D) Coding skills
Answer: B
Answer: B
Answer: B
Answer: B
8. Which of the following techniques is used to quickly build a working model for user
feedback?
A) Prototyping
B) Waterfall
C) V-Model
D) Critical Path Method
Answer: A
Answer: B
Answer: C
Answer: A
Answer: C
13.Which management skill is most important for effectively resolving conflicts within a
project team?
A) Technical expertise
B) Conflict resolution and negotiation
C) Financial management
D) Coding skills
Answer: B
Answer: B
15.What type of management skill involves understanding the project goals and seeing
how different parts interrelate?
A) Technical skill
B) Human skill
C) Conceptual skill
D) Administrative skill
Answer: C
16.Which skill is crucial for motivating and leading a software project team?
A) Leadership and interpersonal skills
B) Programming skills
C) Financial auditing skills
D) Database management skills
Answer: A
17.Effective communication in project management helps to:
A) Reduce misunderstandings and improve collaboration
B) Increase coding speed
C) Replace the need for documentation
D) Avoid meetings
Answer: A
Answer: B
Answer: C
20.Which phase of the Product Development Life Cycle involves defining the system’s
functionalities and user expectations?
A) Design
B) Requirements Gathering and Analysis
C) Development
D) Testing
Answer: B
21.During which phase of the PDLC is the actual coding of the software product
performed?
A) Testing
B) Deployment
C) Development/Implementation
D) Maintenance
Answer: C
Answer: B
23.Which phase involves delivering the software product to the end-users and
preparing the environment for use?
A) Deployment
B) Development
C) Maintenance
D) Requirements Gathering
Answer: A
24.In the Product Development Life Cycle, which phase is responsible for fixing bugs
and adding enhancements after release?
A) Testing
B) Maintenance
C) Design
D) Deployment
Answer: B
25.Which PDLC model is best suited for projects with well-defined and fixed
requirements?
A) Agile
B) Spiral
C) Waterfall
D) Incremental
Answer: C
26.Which of the following is NOT a typical phase in the Product Development Life
Cycle?
A) Concept/Idea Generation
B) Market Sales
C) Design
D) Deployment
Answer: B
27.The iterative and incremental PDLC model that allows continuous customer
feedback is called:
A) Waterfall
B) Agile
C) V-Model
D) Spiral
Answer: B
28. Which software development model follows a strict linear and sequential approach?
A) Agile
B) Waterfall
C) Spiral
D) Incremental
Answer: B
29. In which software development model are requirements gathered at the beginning and
changes are minimized during the project?
A) Agile
B) Waterfall
C) Spiral
D) RAD (Rapid Application Development)
Answer: B
30. Which development model focuses on risk analysis and iterative refinement through
multiple cycles?
A) Waterfall
B) V-Model
C) Spiral
D) Agile
Answer: C
Answer: C
Answer: B
Answer: B
Answer: B
35. Which of the following is NOT a benefit of using software development models?
A) Better project planning and control
B) Clear milestones and deliverables
C) Complete elimination of all risks
D) Improved communication among stakeholders
Answer: C
Answer: C
Answer: B
39.At which CMM level are basic project management processes established to track
cost, schedule, and functionality?
A) Initial
B) Managed
C) Defined
D) Quantitatively Managed
41.At which maturity level are processes standardized and documented across the
organization?
A) Initial
B) Repeatable
C) Defined
D) Optimizing
Answer: C (Level 3)
42.Which CMM level emphasizes the use of statistical and quantitative techniques to
manage processes?
A) Defined
B) Quantitatively Managed
C) Optimizing
D) Initial
Answer: B (Level 4)
Answer: B
Answer: B
Answer: B
Answer: B
49.Which ISO standard would help an organization improve its software development
and maintenance processes?
A) ISO/IEC 12207
B) ISO 14000
C) ISO 9000
D) ISO 31000
Answer: A
Answer: B
5mark Questions:
9mark Questions:
Answer: B
Answer: B
Answer: B
Answer: B
5. What is typically used to understand and model the domain in a software project?
A) Use case diagrams and domain models
B) Software patches
C) File compression tools
D) Programming language syntax
Answer: A
Answer: B
Answer: B
Answer: C
Answer: B
Answer: C
Answer: B
Answer: C
13.Which of the following would not typically be considered when evaluating solution
models?
A) System scalability
B) Budget limitations
C) User training needs
D) Employee birthdays
Answer: D
Answer: B
15.The process of comparing multiple solution models to select the best one is often
called:
A) Risk aversion
B) Solution evaluation
C) Quality testing
D) Deployment control
Answer: B
Answer: B
17.What is the primary goal of Project Portfolio Management (PPM)?
A) Managing software bugs
B) Optimizing resource allocation across multiple projects
C) Writing code for multiple modules
D) Designing system architecture
Answer: B
Answer: C
Answer: B
Answer: C
21.Project Portfolio Management is most useful when an organization:
A) Has only one project
B) Has no deadlines
C) Manages multiple concurrent projects
D) Uses no planning tools
Answer: C
22.Which tool is commonly used in PPM for visualizing project progress and resource
use?
A) UML Diagram
B) Gantt Chart
C) Photoshop
D) Debugger
Answer: B
Answer: C
Answer: B
25.What is the main purpose of financial planning in a software project?
A) To assign programming tasks
B) To estimate and control project costs
C) To evaluate software design
D) To update code repositories
Answer: B
Answer: B
Answer: C
Answer: B
29.A financial risk in a software project might include:
A) Team conflict
B) Lack of technical skills
C) Budget overrun
D) Network latency
Answer: C
30.What is the most important factor when selecting team members for a software
project?
A) Hobbies and interests
B) Availability of internet
C) Skills and experience relevant to the project
D) Time zone
Answer: C
31.Which of the following roles is typically not part of a core software project team?
A) Project Manager
B) Business Analyst
C) Software Developer
D) Interior Designer
Answer: D
Answer: C
33.During team selection, which process ensures a good match between task
requirements and individual capabilities?
A) Conflict resolution
B) Skills mapping
C) Market analysis
D) Code optimization
Answer: B
34.Who is responsible for selecting the project team in most software projects?
A) Database Administrator
B) Human Resources
C) Project Manager
D) End Users
Answer: C
35. What is the primary purpose of defining the project goal in software project
management?
A) To write source code
B) To define the overall direction and success criteria of the project
C) To set up network connections
D) To hire the development team
Answer: B
Answer: C
37.What happens if a project's scope is not well-defined?
A) It leads to faster delivery
B) It increases clarity and reduces documentation
C) It may result in scope creep and misaligned expectations
D) It lowers budget requirements
Answer: C
38.Which document typically contains the defined project goals and scope?
A) Test Plan
B) Project Charter
C) Change Request Form
D) Debugging Guide
Answer: B
Answer: C
Answer: B
Answer: B
Answer: C
Answer: C
Answer: C
Answer: B
Answer: C
47.In which WBS approach do you start with the final product and decompose it into
sub-tasks?
A) Bottom-Up
B) Mind Mapping
C) Top-Down
D) Agile
Answer: C
48.Which approach to WBS creation begins by identifying detailed tasks first, then
grouping them into higher-level deliverables?
A) Waterfall
B) Top-Down
C) Bottom-Up
D) Incremental
Answer: C
Answer: C
Answer: C
Answer: B
Answer: C
54.Which of the following is most likely to be the top-level item in a WBS for a software
development project?
A) Programming languages
B) Software Development Project
C) Database queries
D) Sprint backlog
Answer: B
55.Which WBS level usually includes design, development, testing, and deployment?
A) Level 0
B) Level 1
C) Level 4
D) Level 5
Answer: B
Answer: C
5marks:
1. Explain in detail about Project solution model.
2. Describe in detail about Project Portfolio Management.
3. Write a notes on Selecting a Project Team.
4. Explain in detail about Goal and Scope of the software project.
5. Describe in detail about Creating the Work Breakdown Structure.
6. Write a note on Approaches to Building a WBS .
9Marks:
1.Explain in detail about Managing domain Process.
2.Describe in detail about Financial Process
3. Write a notes on Project Planning.
4. Explain in detail about Project Milestones.
5. Describe in detail about Work Packages.
6. Write a notes on Building aWBS for software.