PROJECT MANAGEMENT

advertisement
PROJECT MANAGEMENT
Ioan Despi
1
Reading:
1. Project Management Institute - “Guide to the Project Management
Body of Knowledge”, 1996 http://www.pmi.org
2. Burrill, Claude W., and Ellsworth, Leon W. - Modern Project
Management, Burrill and Ellsworth Associates, 1980.
3. De Marco, T.- Controlling Software Projects: Management,
Measurement and Estimates, Yourdon Press, 1982.
4. Londeix, Bernard - Cost Estimation for Software Development,
Addison-Wesley, 1987.
5. Charette, Robert N.- Software Engineering Risk Anaysis and
Management, McGraw-Hill, 1989.
6. Cotterell, M. and Hughes, B. - Software Project Management,
Thompson Publishing, 1995
2
World Wide Web Resources:
1. Software Program Managers’ Network
http://www.spmn.com
2. Software Productivity Research
http://www.spr.com
3. Software Engineering Institute
http://www.sei.cmu.edu
4. Quantitative Software Measurement
http://www.qsm.com
5. Atlantic Systems Guild
http://www.atlsysguild.com/
6. PostMortem Process
http://www.wildfire.com/research/postmortems.html
3
What is a Project?
A project is a temporary endeavor undertaken to create a
unique product or service.
Distinguish between projects and operations:
•
operations are ongoing and repetitive
•
projects are temporary and unique
What is Project Management?
Project management is the application of knowledge, skills,
tools, and techniques to project activities in order to meet or
exceed stakeholder needs and expectations from a project
4
The Context for Project Management
A.The Project Management Environment
The Project Life Cycle
Project Stakeholders
Organizational Influences
Key General Management Skills
B. The Project Management Process
C. Knowledge areas for project management
5
A1. The Project Life Cycle
The project life cycle serves to define the beginning and the
end of a project
The life cycle is normally divided into a number of phases
(initial phase, intermediate phases, final phase)
Each project phase is marked by completion of one or more
deliverables (a feasibility study, a detail design, or a working
prototype)
6
A2. Project stakeholders
1. Project manager =
the individual responsible for managing the project.
2. Customer =
the individual or organization who will use the project
product
3. Performing organization =
the enterprise whose employees are most directly
involved in doing the work of the project.
4. Sponsor =
the individual or group within the performing organization
who provides the financial resources, in cash or in kind,
for the project.
7
A3. Organizational Influences
Conduct of Projects is influenced by:
1. Organizational Structure
range from fully functional to totally project oriented
2. Organizational Culture
Conservative or Aggressive
Participative or Authoritarian
3. Organizational Systems
Suitability of support functions such as finance, human
resource management or strategic planning for project
work
8
A4. Key General Management Skills
General management encompasses
planning, organizing, staffing, executing, and controlling
the operations of an ongoing enterprise.
Also includes supporting disciplines:
computer programming, law, statistics and probability
theory, logistics, and personnel.
General management skills:
Leading, Communicating, Negotiating, Problem Solving
Influencing the Organization
9
B. Project Management Process
The purpose of the project management process is to identify,
establish, and coordinate and monitor activities, tasks, and
resources necessary for a project to produce a product and/or
service meeting the agreed requirements.
Outcomes of Project Management
As a result of successful implementation of the process:
1. the scope of the work for the project will be defined;
2. the feasibility of achieving the goals of the project with
available resources and constraints will be evaluated;
10
3. the tasks and resources necessary to complete the work
will be sized and estimated;
4. interfaces between elements in the project, and with other
projects and organizational units, will be identified and
monitored;
5. plans for execution of the project will be developed and
implemented;
6. progress of the project will be monitored and reported;
7. actions to correct deviations from the plan and to prevent
recurrence of problems identified in the project, will be taken
when project targets are not achieved.
11
C. Knowledge Areas for Project Management
• Project Integration Management
• Project Scope management
• Project Time Management
• Project Cost Management
• Project Quality Management
• Project Human Resource Management
• Project Communications Management
• Project Risk Management
• Project Procurement Management
12
The Software Life Cycle
The period of time between the initial concept and the
retirement of a software product or software based system
Different models of the software life cycle can be developed
and used as the basis for managing software development
All of the models involve one or other form of phased
development
Life Cycle Models: Waterfall Model, “V” Model
Rapid Prototyping Model,
Spiral Life Cycle Model
Incremental Development Model
13
The Waterfall Model
•First formulated by Royce in the early 70’s
•Further developed by Boehm (Software Engineering
Economics)
•Based upon a series of discrete phases, with clear phase
termination events and limited feedback between phases
•Dependent on a clear understanding of the initial
requirements for the system
Concept
Analysis
Design
Construction
Testing
Operation
14
Typical Phases
1. Concept
The initial requirements for the system are defined
and the feasibility of development is demonstrated
2. Analysis
The requirements are analysed to identify the
parameters of the system
3. Design
A detailed specification of the design of individual
modules is developed
4. Construction
The design is implemented in executable code
5. Testing
The built modules are integrated and tested
6. Operation
The software system becomes operational
15
The “V” Model
•Developed in the UK
•An extension of the Waterfall Model making the relationship
between analysis and synthesis clear
•Verification and validation oncepts are built in to the model
V Process Model
Feasibility Study
User Acceptance
Systems Analysis
System Testing
ProgramDesign
Program Testing
Construction
16
Prototyping
•Basic phased models require a degree of certainty about
the initial requirements for the product to be developed
•In software this certainty is rarely present: Prototyping is
one means for addressing uncertainty
A prototype is a working model of one or more aspects of a
projected system
It is constructed and tested quickly and inexpensively in order to test our
assumptions
Different classes of prototypes can be distinguished:
Throw-away prototypes
Evolutionary prototypes
Different aspects of the system can be prototyped
Human Computer Interface
System Functionality
Iteration is the essential characteristic of prototyping approaches
17
Evolutionary Prototyping
• The prototype is designed to form the basis for development
of the final system
NOT a Throw-away
• Prototyping is performed in a defined time constraint
Limit on the number of prototype reviews
• Prototyping replaces the conventional phases of analysis
and design
The final prototype defines the agreed requirements
and design
• A new “tuning” phase follows the completion of prototyping
NEVER deliver the prototype
18
Evolutionary Rapid Prototyping
Design derivation
Prototype iteration
Rapid
Analysis
User
Approval
Functions
Project
Plan
Database
Tuning
Creation
Menus
Operation & Maintenance
19
Spiral Model
• Developed by Barry Boehm
• Designed to address the risks associated with developing
large systems
• Makes extensive use of prototyping
• Development proceeds in a spiral manner
• Risk assessment is a formal phase in each stage of the
spiral
20
1. Business Requirements
5. System Requirements
2. Conceptual Design
6. Logical Design
3. Proof of Concept
7. First Build
4. Risk Analysis
8. Evaluation
13. Unit Requirements
9. Subsystem Requirements
14. Final Design
10. Physical Design
15. Final Build
11. Second Build
16. Test
12. Evaluation
17. Deploy
18. Operation & Production
Support
21
Incremental Development
• Identify separate elements of functionality in the initial
requirements
• Prioritise and develop a plan for progressive development
• Different life cycle models may be used for different
increments
•Benefits of Incremental Development
Feedback from operation of early delivery can help to refine the
requirements for later stages
Possibility of major changes in requirements is lower
Users get benefits from early implementation
Return on investment comes earlier, improving cash flow
Smaller projects are easier to manage
“Gold plating” is reduced
Developers get greater satisfaction from visible results
22
Summary
•Software development follows a life cycle from initial
concept to operation and eventual retirement
•The life cycle can be broken down into a series of phases
•Different models can be employed to define different types
of life cycle
•The choice of life cycle model will depend on:
the nature of the system
the risks for the organization
the current understanding of the requirements
23
Software Lifecycle PROCESSES
Projects are composed of processes = A set of interrelated
activities, which transform inputs into outputs( ISO 12207)
ISO 12207: Software Life Cycle Processes
•Establishes a common framework for software life cycle
processes that can be referenced by the software industry
•Lists processes that can be applied
• Project processes are performed by people and generally
fall into one of two major categories:
1.Project management processes are concerned with
describing and organizing the work of the project
2. Product-oriented processes are concerned with
specifying and creating the project product
24
Software Life Cycle Processes
PRIMARY PROCESSES
SUPPORTING PROCESSES
Aquisition
Documentation
Supply
Configuration Management
Operation
Development
Maintenance
Quality Assurance
Verification
Validation
Joint Review
Audit
Problem Resolution
Organisational Processes
Management
Improvement Infrastructure
Training
25
How Processes are Defined
The Structure of a Process:
A Process is made up of Activities
An Activity is made up of Tasks
Process
Activity
task
...
task
Activity
...
task
...
task
26
The Nature of a Task
An Action with Inputs and Outputs
Inputs
a requirement (shall)
a recommendation (should)
a permissible action (may)
TASK
Outputs
a self-declaration (will)
no mandatory (must)
WHAT to do NOT HOW to do
27
Success Factors
The root causes of software success and failure included
1. technicalfactors,
2. social and cultural factors, and
3. management factors.
The study found that there is an almost infinite number of ways to
fail in building software applications and only a few ways to succe
The attributes most strongly associated with successful software
projects included the usage of
1. automated software cost estimating tools,
2. automated software project management tools,
3. effective quality control, and
4. effective tracking of software development milestone
28
Shewhart cycle: (basics of Process Improvement)
Do
Plan
Check
Act
29
Applying the Process Model
Start Solicit
Start
inputs
Select
processes,
Identify project environment & characteristics
activities
and tasks
Solicit Inputs
Select Processes, Activities & Tasks
Document Decisions & Rationale
End
30
Review
A project is a temporary endeavor undertaken to create a
unique product or service.
Projects follow a life cycle from concept to completion
Different models have been developed for the software life
cycle (Waterfall / V-Process, Prototyping, Spiral, Incremental)
A defined set of processes comprise and support the software
life cycle (Primary, Supporting and Organizational)
31
Project Scope Management
Project Scope Management includes the processes required
to ensure that the project includes all the work required, and
only the work required, to complete the project successfully.
It is primarily concerned with defining and controlling what is
or is not included in the project.
32
Managing Project Scope
Initiation
Scope Planning
Scope Definition
Scope Verification
Scope Change Control
33
Initiation
Product Description
Strategic Plan
Selection Criteria
Historical Information
The project charter is a document that
formally recognizes the existence of a
project.
Initiation
Initiation is the process of formally
recognizing that a new project exists or
that an existing project should continue
into its next phase
Project Charter
Project Manager
Constraints
Assumptions
34
Scope Planning
Product description
Project charter
Constraints
Assumptions
The scope statement include:
Project justification,
Project product,
Project deliverables,
Project objectives:
cost,
schedule,
quality measures.
Scope
Planning
Scope planning is the process of developing
a written scope statement as the basis for
future project decisions including, in
particular, the criteria used to determine if the
project or phase has been completed
successfully.
Scope statement
Supporting detail
Scope management
plan
35
Scope statement
Constraints
Assumptions
Other planning outputs
Historical information
Scope Definition
Scope
Definition
Scope definition involves subdividing the
major project deliverables (as identified
in the scope statement) into smaller,
more manageable components
Work Breakdown
Structure
36
Work Breakdown Structure
• Is a deliverable-oriented grouping of project elements that
organizes and defines the total scope of the project:
work not in the WBS is outside the scope of the project.
•As with the scope statement, the WBS is often used to
develop or confirm a common understanding of project scope.
•Each descending level represents an increasingly detailed
description of the project elements.
37
Model Work Breakdown Structure
Project
Phase 1
Activity 1.1
Activity 1.2
Task2.1.1
Phase 2
Activity 2.1
Task2.1.2
Phase 3
Activity 2.2
Activity 3.1
Activity 3.2
Task2.1.3
38
Scope Verification
Work results
Product documentation
Scope
Verification
Scope verification is the process of
formalizing acceptance of the project
scope by the stakeholders (sponsor,
client, customer, etc.).
Formal acceptance
39
Scope Change Control
Work breakdown structure
Performance reports
Change requests
Scope management plan
Scope
Change Control
Scope change control is concerned with
(a) influencing the factors which create scope
changes to ensure that changes are beneficial,
(b) determining that a scope change has
occurred, and
(c) managing the actual changes when and if
they occur.
Scope changes
Corrective action
Lessons learned
40
Summary
•
Scope management is concerned with defining and
controlling the scope of the project
•
The project scope includes the product description,
together with any known constraints or assumptions
•
Project Scope is defined in the Project Charter
•
The project scope is the basis for development of the
Work Breakdown Structure for the project
•
Project scope must be verified and controlled
throughout the life of the project
41
Developing a Work Breakdown
Structure
Review
The project scope includes the product description, together
with any known constraints or assumptions
The project scope is the basis for development of the Work
Breakdown Structure (WBS) for the project
A work breakdown structure is a deliverable-oriented grouping
of project elements that organizes and defines the total scope
of the project:
work not in the WBS is outside the scope of the project.
42
The WBS in the Project
•The WBS is central to the development of a realistic schedule
for the project
•The WBS consists of an ordered set of activities and tasks,
based upon a hierarchical decomposition of the phases of
the Project Life Cycle
•The starting point for the WBS is thus the chosen life cycle
model
•A work breakdown structure from a previous project can
often be used as a template for a new project but need to
be tailored for use in an individual project
43
Functional Decomposition
Decomposition involves subdividing the major project
deliverables into smaller, more manageable components until
the deliverables are defined in sufficient detail to support future
project activities (planning, executing, controlling, and closing).
Decomposition
•Identify the major elements of the project.
•Decide if adequate cost and duration estimates can be
developed at this level of detail for each element.
•Identify constituent elements of the deliverable.
•Verify the correctness of the decomposition
44
Unit Tasks
Interfaces with
other tasks
Quantifiable
Inputs
Finite known
duration task
Quantifiable
Outputs
Needs
Task
precedences
45
Principles for Decomposition
Basic Purpose
Clear Deliverables
Feasible Tasks
Minimum Interface
Related Skills
Levels of Control
Relation to other Management Systems
Traditional Tasks
Employee Satisfaction
46
Proofing the Breakdown
For each of the lowest level elements:
inputs are among the inputs for the parent element;
OR
inputs are outputs of a previous element at the same level
outputs are among the outputs of the parent element
OR
outputs are inputs of a subsequent element at the
same level
47
Ordering Tasks
T
T1
WBS
T2
Input
T3
T4
T5
Sequential Ordering
Output
Element
Task T
A
B
SubTask T1 A
W
SubTask T2 W
X
Subtask T3
X
Y
SubTask T4 W
Z
SubTask T5 Y, Z
B
B
A
T1
T2
T3
T4
T5
Unsequential Ordering
T3
T2
B
A
T1
T4
T5
48
Representing an Activity Network
1. Precedence diagramming method
Nodes represent the Activities
Connections show the dependencies
A
B
C
D
E
F
49
2. Arrow diagramming method
Arrows represent the activities
Connections at the nodes show dependencies
B
A
C
Start
D
F
Finish
E
3. Conditional diagramming methods
Allow for non-sequential activities (such as loops)
50
The Activity Network Diagram
•The Activity Network Diagram is the end-product of the
task decomposition process
It should be accompanied by narrative to
explain any dependencies
•It shows the relationships between the tasks that have to
be performed, but says nothing about how long it will take
to perform them
To go further we need to be able to estimate
the effort, cost and elapsed time
for each task or activity
51
Summary
A Work Breakdown Structure contains the tasks and activities
needed to perform the project
The WBS is based upon the life cycle model selected for the
project
Standard WBS templates are commonly used for tailoring to
develop a suitable list of activities for individual projects
The lowest level components of the WBS comprise activities or
tasks with clearly defined inputs and outputs
From examining the inputs and outputs a sequence or ordering
of tasks can be determined
This sequence can be represented in an Activity Network
Diagram
52
Download