SOEN4301
Software Project
Management
2024
Maryam Abacha American University of Niger
SOEN4306 Software Project Management 1
Software Project Management
SOEN4306 Software Project Management
INTRODUCTION TO SOFTWARE PROJECT
MANAGEMENT
SOEN4306 Software Project Management
DEFINITION OF SOFTWARE PROJECT
MANAGEMENT (SPM)
DEFINITION:
SPM is a structured approach to planning,
executing, and overseeing a software project
from inception to completion.
It involves coordinating people, resources,
tasks, and technology to ensure project goals
are achieved on time and within budget.
SOEN4306 Software Project Management
WHY SPM IN SOFTWARE
DEVELOPMENT IMPORTANT
Ensuring Project Success: Effective SPM maximizes the
likelihood of completing software projects successfully by
providing structure and defined objectives.
Resource Optimization: SPM helps allocate resources
(personnel, technology, budget) efficiently, avoiding waste
and maximizing productivity.
Stakeholder Satisfaction: Through careful planning and
communication, SPM ensures that the project aligns with
stakeholder expectations and adapts to their changing
needs.
SOEN4306 Software Project Management
Cont…
Enhancing Quality: By enforcing quality standards and
practices, SPM ensures the software meets user
requirements and quality benchmarks.
Mitigating Risks: SPM involves identifying, analyzing,
and managing potential risks throughout the project
lifecycle, reducing the chances of failure.
SOEN4306 Software Project Management
Examples of SPM Impact
Case studies of successful projects where SPM played a
significant role (e.g., delivering within budget, avoiding
delays).
Examples of failed projects due to poor SPM
practices (e.g., budget overruns, scope creep, or
incomplete deliverables).
SOEN4306 Software Project Management
CHALLENGES IN SOFTWARE PROJECT
MANAGEMENT
Common Challenges Faced in SPM:
1. Scope Creep:
Definition: Scope creep is the uncontrolled expansion
of a project’s scope, often leading to delays and
budget overruns.
Example: A client requesting additional features after
project initiation without adjusting timelines or
budgets.
How SPM Addresses It: Effective scope management
and change control processes are essential to keep
projects on track.
SOEN4306 Software Project Management
Cont…
2. Budget Constraints:
Budget overruns occur when the actual costs exceed
planned budgets
SPM's Role: Accurate budgeting, resource estimation, and
cost control techniques help project managers stay
within budget.
3. Time Management:
Delivering projects on time is challenging due to
unforeseen obstacles, resource availability, or task
dependencies.
SOEN4306 Software Project Management
Cont…
SPM's Role: Project scheduling tools like Gantt charts,
Critical Path Method (CPM), and setting milestones assist
in time management.
4. Risk Management:
Risks, including technical failures, stakeholder issues, or
resource availability, can derail a project.
SPM's Role: Identifying potential risks early and
having a mitigation plan is vital for project continuity.
5. Resource Allocation and Team Coordination:
Assigning the right people with the right skills
to tasks and balancing workloads.
10
SOEN4306 Software Project Management
Cont…
SPM's Role: Resource planning and effective team
communication ensure that tasks are executed smoothly
and efficiently.
6. Quality Control:
Ensuring the project meets quality requirements
without compromising on time or cost.
SPM's Role: Implementing quality assurance and
control measures to ensure adherence to standards.
7. Stakeholder Management and Communication:
Managing client expectations, obtaining feedback,
and clear communication across the team and
stakeholders.
SPM's Role: Regular status updates, stakeholder
meetings, and transparent communication channels
help keep all parties informed.
11
SOEN4306 Software Project Management
PROJECT LIFE CYCLE AND PROJECT
MANAGEMENT MODELS
12
SOEN4306 Software Project Management
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
Capability Maturity Model (CMM)
A bench-mark for measuring the maturity of an organization’s
software process.
CMM defines 5 levels of process maturity based on certain Key
Process Areas (KPA)
Level 5 – Optimizing (< 1%) Level 2 – Repeatable (~ 15%)
software configuration management
process change management software quality assurance
technology change management software project tracking and oversight
defect prevention software project planning
requirements management
Level 4 – Managed (< 5%) Level 1 – Initial (~ 70%)
software quality management
quantitative process management
Level 3 – Defined (< 10%)
peer reviews
intergroup coordination
software product engineering
integrated software management
training program
organization process definition
organization process focus
13
SOEN4306 Software Project Management
SDLC MODEL
A framework that describes the activities performed at each
stage of a software development project.
14
SOEN4306 Software Project Management
Waterfall Model
Requirements: Defines needed
information, function, behavior,
performance and interfaces.
Design: data structures, software
architecture, interface
representations, algorithmic
details.
Implementation: Source code,
database, user documentation,
testing.
15
SOEN4306 Software Project Management
Waterfall Strengths
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff,
track)
Works well when quality is more important
than cost or schedule
16
SOEN4306 Software Project Management
Waterfall Deficiencies
All requirements must be known upfront
Deliverables created for each phase are considered frozen –
inhibits flexibility
Can give a false impression of progress
Does not reflect problem-solving nature of software
development – iterations of phases
Integration is one big bang at the end
Littleopportunity for customer to preview the system (until it
may be too late)
17
SOEN4306 Software Project Management
When to use the Waterfall Model
Requirements are very well known
Product definition is stable
Technology is understood
New version of an existing product
Porting an existing product to a new platform.
18
SOEN4306 Software Project Management
V-Shaped SDLC Model
A variant of the Waterfall that
emphasizes the verification
and validation of the product.
Testingof the product is
planned in parallel with a
corresponding phase of
development
19
SOEN4306 Software Project Management
V-Shaped Steps
Project and Requirements Production, operation and
Planning: allocate resources maintenance: provide for
enhancement and corrections
Product Requirements and
Specification Analysis: System and acceptance
complete specification of the testing: check the entire
software system software system in its
environment
Architecture or High-Level
Design: defines how software Integration and Testing: check
functions fulfill the design that modules interconnect
correctly
Detailed Design: develop
algorithms for each Unit testing: check that each
architectural component module acts as expected
Coding: transform algorithms
into software
20
SOEN4306 Software Project Management
V-Shaped Strengths
Emphasize planning for verification and
validation of the product in early stages of
product development
Each deliverable must be testable
Project management can track progress by
milestones
Easy to use
21
SOEN4306 Software Project Management
V-Shaped Weaknesses
Does not easily handle concurrent events
Does not handle iterations or phases
Does not easily handle dynamic changes in
requirements
Does not contain risk analysis activities
22
SOEN4306 Software Project Management
When to use the V-Shaped
Model
Excellent choice for systems requiring high
reliability – hospital patient control
applications
All requirements are known up-front
When it can be modified to handle
changing requirements beyond analysis
phase
Solution and technology are known
23
SOEN4306 Software Project Management
Rapid Application Model (RAD)
Requirements planning phase (a workshop
utilizing structured discussion of business
problems)
User description phase – automated tools
capture information from users
Construction phase – productivity tools,
such as code generators, screen
generators, etc. inside a time-box. (“Do
until done”)
Cutover phase -- installation of the
system, user acceptance testing and user
training 24
SOEN4306 Software Project Management
RAD Strengths
Reduced cycle time and improved
productivity with fewer people means
lower costs
Time-box approach mitigates cost and
schedule risk
Customer involved throughout the
complete cycle minimizes risk of not
achieving customer satisfaction and
business needs
Focus moves from documentation to code
(WYSIWYG).
Uses modeling concepts to capture
information about business, data, and
processes. 25
SOEN4306 Software Project Management
RAD Weaknesses
Accelerated development process must
give quick responses to the user
Risk of never achieving closure
Hard to use with legacy systems
Requires a system that can be modularized
Developers and customers must be
committed to rapid-fire activities in an
abbreviated time frame.
26
SOEN4306 Software Project Management
When to use RAD
Reasonably well-known requirements
User involved throughout the life cycle
Project can be time-boxed
Functionality delivered in increments
High performance not required
Low technical risks
System can be modularized
27
SOEN4306 Software Project Management
THANK YOU
28
SOEN4306 Software Project Management