Project Management and Work Breakdown Structure
Project Management and Work Breakdown Structure
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
Software Project:
All technical and managerial activities required to deliver
the deliverables to the client.
Management categories to complete a software project:
▪ Tasks, Activities, Functions
Software Project Management Plan:
The controlling document for a software project.
Specifies the technical and managerial approaches to
develop the software product.
Companion document to requirements analysis
document:
▪ Changes in either document may imply changes in the
other document.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Project
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
GoAhead ScopeDefined
Conception Start
do/FormulateIdea
do/Cost-BenefitAnalysis do/Infrastructure Setup
Definition do/Skill Identification
do/FeasibilityStudy
do/Problem Statement do/Team Formation
do/Review do/Project Kickoff
do/Software Architecture
do/Software Plan
Termination
do/Client Acceptance New Need Infrastructure Setup
New Technology Steady State
do/Delivery Completed
do/Post Mortem do/Develop System && Teams
do/Controlling Assembled
do/Risk Management
System Done do/Replanning
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Document written for a client that defines:
the scope, duration, cost and deliverables for the project.
the exact items, quantities, delivery dates, delivery location.
Client: Individual or organization that specifies the requirements
and accepts the project deliverables.
Can be a contract, a statement of work, a business plan, or a
project charter.
Deliverables (= Work Products that will be delivered to the client:
Documents
Demonstrations of function
Demonstration of nonfunctional requirements
Demonstrations of subsystems
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
What it does:
Specifies the format and contents of software project
management plans.
It provides a standard set of abstractions for a project
manager or a whole organization to build its set of
practices and procedures for developing software
project management plans
Abstractions: Project, Function, Activities, Tasks
What it does not do:
It does not specify the procedures or techniques to be
used in the development of the plan
It does not provide examples .
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Client Manager Project Team
(Sponsor)
Problem
Statement Software Project
Management Plan
Project
Agreement
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
0. Front Matter
1. Introduction
2. Project Organization
3. Managerial Process
4. Technical Process
5. Work Elements, Schedule, Budget
Optional Inclusions
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
Title Page
Revision sheet (update history)
Preface: Scope and purpose
Tables of contents, figures, tables
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
1.1 Project Overview
Executive summary: description of project, product
summary
1.2 Project Deliverables
All items to be delivered, including delivery dates and
location
1.3 Evolution of the SPMP
Plans for anticipated and unanticipated change
1.4 Reference Materials
Complete list of materials referenced in SPMP
1.5 Definitions and Acronyms
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
2.1 Process Model
Relationships among project elements
2.2 Organizational Structure
Internal management, organization chart
2.3 Organizational Interfaces
Relations with other entities (subcontractors,
commercial software)
2.4 Project Responsibilities
Major functions and activities; nature of each; who’s
in charge
Matrix of project functions/activities vs responsible
individuals
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
Client Client Liaison Management Consultants
Documentation
Subsystem 1 Subsystem 4
User Interface
Subsystem 2 Subsystem 5
Subsystem 3 Subsystem 6
Subsystem 7
Infrastructure Team
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
3.1 Management Objectives and Priorities
Describes management philosophy, priorities among
requirements, schedule and budget
3.2 Assumptions, Dependencies and Constraints
External events the project depends on, constraints under
which the project is to be conducted
3.3 Risk Management
Identification and assessment of risk factors, mechanism for
tracking risks
3.5 Monitoring and Controlling Mechanisms
Frequency and mechanisms for reporting
3.4 Staffing Plan
Numbers and types of personnel required to conduct the
project
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
2.1 Methods, Tools and Techniques
Specify the methods, tools and techniques to be used on the
project
2.2 Software Documentation
Describe the documentation plan
2.3 Project Support Functions
Plans for (at least) the following project support
functions.
▪ Plan to ensure quality assurance
▪ Configuration management plan (IEEE Std 1042)
▪ Verification and validation plan
The plans can be included in this section or there is a
reference to a separate document
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15
Work Breakdown Structure (WBS) (Section
5.1)
Hierarchical decomposition of the project into
activities and tasks
Task Activity
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17
Two major philosophies
Activity-oriented decomposition („Functional decomposition“)
▪ Write the book
▪ Get it reviewed
▪ Do the suggested changes
▪ Get it published
Result-oriented („Object-oriented decomposition“)
▪ Chapter 1
▪ Chapter 2
▪ Chapter 3
Which one is best for managing? Depends on project type:
Development of a prototype
Development of a product
Project team consist of many unexperienced beginners
Project team has many experienced developers
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18
What are the activities that
are needed to build a house?
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19
Surveying Install Wallboard
Excavation Paint Interior
Request Permits Install Interior Doors
Buy Material Install Floor
Lay foundation Install Roof
Build Outside Wall Install Exterior Doors
Install Exterior Plumbing Paint Exterior
Install Exterior Electrical Install Exterior Siding
Install Interior Plumbing Buy Pizza
Install Interior Electrical
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20
Building the house consists of
Prepare the building site
Building the Exterior
Building the Interior
Build Roof
Install Electric
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22
The work breakdown structure does not show any
temporal dependence among the activities/tasks
Can we excavate before getting the permit?
How much time does the whole project need if I know the
individual times?
▪ What can be done in parallel?
Are there any critical actitivites, that can slow down the
project significantly?
Temporal dependencies are shown in the
dependency graph
Nodes are activities
Lines represent temporal dependencies
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23
Install Install Install
Interior Interior Wallboard
The activity Plumbing Electrical
„Lay foundation“
Install
Interior
Install Doors
Flooring
Lay Build
START Survey Excava Buy FINISH
Founda Outside
ing tion Material
tion Wall Install
Roofing
Install
Exterior
Doors
Request
Paint
Exterior
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24
Resource Requirements (5.3)
Estimates of the total resource (Personnel, Computer
Time, Support Software) required to complete the project
Numbers and types of personnel
Computer time
Office and laboratory facilities
Travel
Maintenance and training requirements
Budget (5.4)
Schedule (Section 5.5)
Estimate the duration of each task
Label dependency graph with the estimates
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25
Work
*
Task Activity
Çinv ariantÈ
Project Function duration = project.duration
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26
Bernd Bruegge & Alllen H. Dutoit- Object
Oriented Software Engineering- Using UML,
Patterns and Java
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27