Software Project Management

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

1

1
Lifecycles and Processes - Mapping
Software Project Management
2
Todays Lecture
1. Phases in Detail
Step-by-step of typical software project
2. Choosing Software Project Lifecycle


2
3
Time Allocation by Phase
Remember the 40-20-40 Rule
Specification-Implementation-Test
Planning Code &
Unit Test
Integration &
Test
Commercial
DP
25% 40% 35%
Internet
Systems
55% 15% 30%
Real-time
Systems
35% 25% 40%
Defense
Systems
40% 20% 40%
Bennatan, E.M, On Time Within Budget
4
Time Allocation by Phase
Activity Small Project
(2.5K LOC)
Large Project
(500K LOC)
Analysis 10% 30%
Design 20% 20%
Code 25% 10%
Unit Test 20% 5%
Integration 15% 20%
System test 10% 15%
McConnell, Steve, Rapid Development

3
5
Activities by % of Total Effort
NASAs Managers Handbook for Software Development
6
Potential Deliverables by Phase

4
7
Concept Exploration
The Why phase
Not a mandatory formal phase
Sometimes called the pre-project phase
Collecting project ideas
Then the funneling process
Project Justification
ROI
Cost-benefit analysis
Project Portfolio Matrix
Initial planning and estimates
Software Projects In general
8

5
9
Concept Exploration
Possibly includes Procurement Management:
RFP Process
Vendor selection
Contract management
Gathering the initial team
Including PM if not already on-board
Identify the project sponsor
Primary contact for approval and decision making
Potential Phase Outputs:
Concept Document, Product Description, Proposal,
SOW, Project Charter
10
Requirements
The What phase
Inputs: SOW, Proposal
Outputs:
Requirements Document (RD)
a.k.a.Requirements Specification Document (RSD)
Software Requirements Specification (SRS)
1
st
Project Baseline
Software Project Management Plan (SPMP)
Requirements Approval & Sign-Off
Your most difficult task in this phase

6
11
Analysis & Design
The How Phases
Inputs: Requirements Document
Outputs:
Functional Specification
Detailed Design Document
User Interface Specification
Data Model
Prototype (can also be done with requirements)
Updated Plan (improved estimates; new baseline)
12
Development
The Do It phase
Coding & Unit testing
Often overlaps Design & Integration phases
To shorten the overall schedule
PM needs to coordinate this

7
13
Integration & Test
Evolves from Dev. Phase
Often done as 2 parallel phases
Partial integration & initial test
Starts with integration of modules
An initial, incomplete version constructed
Progressively add more components
14
Integration & Test
Tests
Integration testing
Black & White-box testing
Load & Stress testing
Alpha & Beta testing
Acceptance testing
Other activities
Final budgeting; risk mgmt.; training;
installation preparation; team reduced

8
15
Deployment & Maintenance
Installation strategy
Migration strategy
Deployment as part of project plan
Maintenance
Fix defects
Add new features
Improve performance
Importance of Configuration control
Maintaining documents
16
Lifecycle Planning
Lifecycle Management or SDLC
Greatly influences your chance of success
Three primary lifecycle model components
Phases and their order
Intermediate products of each phase
Reviews used in each phase
Different projects require different approaches
You do not need to know all models by name
You should know how that if given a certain scenario what sort of
SDLC would be appropriate
There are more than covered here
A lifecycle is not a design, modeling or diagramming technique
The same technique (UML, DFD, etc) can be used with multiple
lifecycles


9
17
Pure Waterfall
The granddaddy of models
Linear sequence of phases
Pure model: no phases overlap
Document driven
All planning done up-front
18
Code-and-Fix
Code-like-Hell
Specification (maybe), Code (yes), Release
(maybe)
Advantages
No overhead
Requires little expertise
Disadvantages
No process, quality control, etc.
Highly risky
Suitable for prototypes or throwaways

10
19
Spiral
20
Evolutionary Prototyping
Design most prominent parts first
Usually via a visual prototype
Good for situations with:
Rapidly changing requirements
Non-committal customer
Vague problem domain
Provides steady, visible progress
Disadvantages
Time estimation is difficult
Project completion date may be unknown
An excuse to do code-and-fix

11
21
Staged Delivery
Waterfall steps through architectural design
Then detailed design, code, test, deliver in stages
Advantages
Customers get product much sooner
Tangible signs of progress sooner
Problems discovered earlier
Increases flexibility
Reduces: status reporting overhead & estimation error
Disadvantages
Requires more planning (for you the PM)
More releases increase effort (and possible feature creep)
Hows this differ from Evolutionary Prototyping?
22
V Process Model

12
23
RAD
Rapid Application Development
Popular in the 80s
1. Joint Requirements Planning (JRP)
2. Joint Application Design (JAD)
3. Construction
Heavy use of tools: code generators
Time-boxed; many prototypes
4. Cutover
Good for systems with extensive user input
available
24
COTS
Commercial Off-The-Shelf software
Build-vs.-buy decision
Advantages
Available immediately
Potentially lower cost
Disadvantages
Not as tailored to your requirements
Remember: custom software rarely meets its ideal
(so compare that reality to COTS option)

13
25
XP: eXtreme Programming
Not a Microsoft product
Part of movement called Agile
Development
A Lightweight methodology
A bit counter-culture
Currently in vogue
Motto: Embrace Change
Highly Incremental / Iterative
26
eXtreme Programming

14
27
Rational Unified Process
28
Choosing Your Lifecycle
Varies by project
Opt for iterative or incremental
How well are requirements understood?
What are the risks?
Is there a fixed deadline?
How experienced is the team or customer?

15
PROCESS GROUPS
AND
KNOWLEDGE AREAS
.
29
PM Knowledge Areas & Process Groups
PM Process
Groups /
Knowledge Area
Processes
Initiating Process
Group
Planning Process Group Executing Process Group Monitoring & Controlling
Process Group
Closing
Process
Group
Project
Management
Integration
Develop Project Charter
Develop Prelim Project
Scope Statement
Develop Project Management Plan Direct and Manage Project
Execution
Monitor and Control Project Work
Integrated Change Control
Close Project
Project Scope
Management
Scope Planning
Scope Definition
Create WBS
Scope Verification
Scope Control
Project Time
Management
Activity Definition & Sequencing
Resource Estimating
Duration Estimating
Schedule Development
Schedule Control
Project Cost
Management
Cost Estimating
Cost Budgeting
Cost Control
Project Quality
Management
Quality Planning Perform Quality Assurance

Perform Quality Control
Project HR
Management
Human Resources Planning Acquire Project Team
Develop Project Team
Manage Project Team
Project
Communications
Management
Communications Planning Information Distribution Performance Reporting
Manage Stakeholders
Project Risk
Management
Risk Management Planning
Risk Identification
Qualitative / Quantitative Risk
Analysis
Risk Response Planning
Risk Monitoring and Control
Project Procurement
Management
Plan Purchases and Acquisitions
Plan Contracting
Request Seller Responses
Select Sellers
Contract Administration Contract Closure



16
Knowledge Areas
31
Project Management Knowledge Areas
An area of project management defined by its knowledge
requirements and described in terms of its associated process,
practices, inputs, outputs, tools and techniques
Identified knowledge areas (the things)
1. Project Integration Management
2. Project Scope Management
3. Project Time Management
4. Project Cost Management
5. Project Quality Management
6. Project Human Resource Management
7. Project Communications Management
8. Project Risk Management
9. Project Procurement Management
32

17
Project Management Framework
From A Guide to the Project Management Body of Knowledge (PMBOK

Guide) 3
rd
Edition
From A Guide to the Project Management Body of Knowledge (PMBOK

Guide) 3
rd
Edition

18
Process Groups
35
Project Management Process Groups
A process is a series of actions directed toward a
particular result.
Project management can be viewed as a number of
interlinked processes.
The project management process groups include:
Initiating processes
Planning processes
Executing processes
Monitoring and controlling processes
Closing processes

36

19
PMI Process Groups

Source: Project Management Institute
Taken from PMI handbook
Project Initiation
Initiating a project includes recognizing and starting a new
project or project phase.
Some organizations use a pre-initiation phase, while others
include items such as developing a business case as part of the
initiation.
The main goal is to formally select and start off projects.
Key outputs include:
Assigning the project manager.
Identifying key stakeholders.
Completing a business case.
Completing a project charter and getting signatures on it.

20
Project Planning
The main purpose of project planning is to guide
execution.
Every knowledge area includes planning information
Key outputs included:
A team contract.
A scope statement.
A work breakdown structure (WBS).
A project schedule, in the form of a Gantt chart with all
dependencies and resources entered.
A list of prioritized risks (part of a risk register).
Project Executing
Project execution usually takes the most time and
resources.
Project managers must use their leadership skills to handle
the many challenges that occur during project execution.
Many project sponsors and customers focus on deliverables
related to providing the products, services, or results
desired from the project.
A milestone report can keep the focus on completing major
milestones.

21
Project Monitoring and Controlling
Involves measuring progress toward project
objectives, monitoring deviation from the plan,
and taking corrective action to match progress
with the plan.
Affects all other process groups and occurs
during all phases of the project life cycle.
Outputs include performance reports, requested
changes, and updates to various plans.
Project Closing
Involves gaining stakeholder and customer
acceptance of the final products and services.
Even if projects are not completed, they should
be formally closed in order to reflect on what
can be learned to improve future projects.
Outputs include project archives and lessons
learned, which are part of organizational process
assets.
Most projects also include a final report and
presentation to the sponsor or senior
management.

22
Difference between knowledge areas &Process Groups
The process groups divide up the processes by function.
Knowledge areas divide the same processes up by subject matter.
Process groups concerned with actions you take on your project,
Knowledge areas with the things you need to understand.
Knowledge areas are more about helping you understand the
PMBOK Guide material than about running your project.
But that doesn't mean that every knowledge area has a process in
every process group, e.g., the Initiating process group only has two
processes, and they both show up in the Integration Management
knowledge area.
The Risk Management knowledge area only has Planning and
Monitoring & Controlling processes.
So process groups and knowledge areas are two different ways to
think about all of the processes, but they don't really overlap
Project Management Knowledge
Areas and Process Groups

with respect to

Software Projects
44

23
PMI: Process Links

Taken from PMI handbook
PMI Phase Interactions

Initiating
Processes
Planning
Processes
Controlling
Processes
Executing
Processes
Closing
Processes
Design Phase
Initiating
Processes
Planning
Processes
Controlling
Processes
Executing
Processes
Closing
Processes
Implementation Phase

24
Conclusion

47

You might also like