Lecture 3: Project management methods and related software

advertisement
Lecture 3:
Project management methods and
related software development
lifecycle approaches
Project lifecycles
Project management lifecycle
Manage the
project
Systems development lifecycle
Modify the
system
System Lifecycle
Project Start
Project End
Project lifecycles
Project management lifecycle
Manage the
project
Systems development lifecycle
Modify the
system
System Lifecycle
Project Start
Project End
Project management lifecycle
•
•
•
•
Concept
Definition
Implementation
Handover and closeout
(APM BoK 2006)
Project management lifecycle
Select
Project
Proposal
Determine
Business
Case
Commence
Project
Manage
Project
Close
Project
Evaluate
Project
Adapted from
Marchewka 2003
Project Management Methods
• PRINCE2
• Scrum ?
• Process-based management
– PMI’s PMBOK Guide
– APM BoK
– CMMI (Capability Maturity Model Integration)
– SPICE (SW Process Improvement & Capability dEtermination)
Project Management Methods
• PRINCE2
• Scrum ?
Later – PRINCE2 Lectures
Later – Agile Lectures
• Process-based management
– PMI’s PMBOK Guide
– APM BoK
– CMMI (Capability Maturity Model Integration)
– SPICE (SW Process Improvement & Capability dEtermination)
Project lifecycles
Project management lifecycle
Manage the
project
Systems development lifecycle
Modify the
system
System Lifecycle
Project Start
Project End
Project management lifecycle
Select
Project
Proposal
Determine
Business
Case
Commence
Project
Manage
Project
Close
Project
Evaluate
Project
Systems
Development
Lifecycle
Adapted from
Marchewka 2003
Systems development lifecycle
approaches
• Sequential
• Incremental
• Prototyping
• Iterative / Evolutionary
Sequential
• Linear
• No / Little feedback
• Widely discredited for systems where the
requirements are unknown upfront and/or
complex and/or are changing. However, if the
requirements are known upfront, then it
works!
System
Requirements
The Waterfall Model
Winston Royce 1970
Software
Requirements
Analysis
Program
Design
Coding
Testing
Operations
System
Requirements
The Waterfall Model
Winston Royce (1970)
Software
Requirements
Royce actually believed in
incremental and iterative models.
An accident that people picked
up on his Page 1 diagram
Larman (2004)
Analysis
Program
Design
Coding
Testing
Operations
System
Requirements
The Waterfall Model
Winston Royce (1970)
Software
Requirements
Analysis
Leaves systems
integration and
testing too late
Program
Design
Client / Market
only see the
system when
resources almost
all used up
Coding
Testing
Operations
V-Process Model
Basically a waterfall model
Level of
Abstraction
More
Detailed
Design
User requirements
Increasing
Levels of
Testing
Field testing
User acceptance testing
System specification
System testing
System design
Function testing
Systems architectural design
Code
Integration testing
Unit testing
Time
Example of a Waterfall Method:
Structured System Analysis and Design Method (SSADM)
Analysis of the Current System / Feasibility Study
Outline Business Specification
•Existing Environment
•Business System Options
Detailed Business Specification / Requirements Specification
Logical Data Design
Logical Process Design
Physical Design
Incremental / Phased Delivery
Waterfall Models
Increment 1
Increment 2
Increment 3
Increment 4
Increment 5
Phase 1
Phase 2
Delivery to
Customer
of Increment 1
Phase 3
Delivery to
Customer
of Increment 2
Phase 4
Delivery to
Customer
of Increment 3
Phase 5
Delivery to
Customer
of Increment 4
Delivery to
Customer
of Increment 5
Crashed Increments
Increment 1
Increment 2
Increment 3
Increment 4
Increment 5
Delivery to customer
on completion of each increment
Prototyping
• Build a throw-away version of some aspect of the system for
demonstration to the stakeholders
• Testing out some aspect of risk: for example the user interface or maybe
technical feasibility
• Aim to get rapid feedback before committing too much effort/resources
• Problem is that often prototypes end up becoming the system........
• Take care over the term ‘prototype’!
DSDM (Dynamic Systems Development Method) uses the term
‘prototype’, but you can argue it is a different kind of prototyping as
not throw-away. Similar with Boehm’s Spiral Model
• Link with RAD (Rapid Application Development) which involved use of data
dictionaries and automated tools to build systems
Recap: Systems development lifecycle
approaches
• Sequential
Linear – one pass / one delivery
Waterfall
• Incremental
Increment 1
• Prototyping
Throw–away
version of
some system
aspect
• Iterative / Evolutionary
...
Increment n
Prior to
building the
real system
Build and deliver
the system,
increment by increment
Systems development lifecycle models
• Sequential: waterfall model
• Incremental: multiple waterfall models
• Incremental phased delivery
• Prototyping
• Iterative / Evolutionary:
•
•
•
•
•
•
•
Evolutionary delivery (Evo)
Spiral model
RUP (Rational Unified Process)
DSDM (Dynamic Systems Development Method)
XP (Extreme Programming)
Scrum
Lean
Systems development lifecycle models
• Sequential: waterfall model
• Incremental: multiple waterfall models
• Incremental phased delivery
• Prototyping
• Iterative / Evolutionary:
•
•
•
•
•
•
•
Today
Evolutionary delivery (Evo)
Spiral model
RUP (Rational Unified Process)
DSDM (Dynamic Systems Development Method)
XP (Extreme Programming)
Scrum
Lean
Later – Agile
Lectures
Some Timelines
Waterfall 1970
SSADM Early 1980s
RAD Prototyping Early 1980s
DSDM 1994
Iterative 1970 IBM FSD Harlan Mills
Gilb’s Evo 1976
Boehm’s Spiral mid 1980s
Unified Process (UP) mid 1990s
Agile Manifesto 2001
1970
1980
1990
2000
2010
‘Iterative’ / Evolutionary
Terminology Issues:
– Larman (2004) sometimes uses “Incremental and
Iterative”, sometimes shorter “Iterative”
– Gilb (1988) uses “Evolutionary”
– ‘Incremental’ means building in steps
– ‘Iterative’ means repeating/going round again
– But there is also learning from feedback
– ‘Evolutionary’ not in the biological sense of small
random mutations or survival of the fittest (though
parallel builds a possibility
‘Iterative’ / Evolutionary
Terminology Issues:
– Larman (2004) sometimes uses “Incremental and
Iterative”, sometimes shorter “Iterative”
– Gilb (1988) uses “Evolutionary”
There are issues
– ‘Incremental’ means building in steps
with the
– ‘Iterative’ means repeating/goingterminology:
round again
none
of the terms is quite
– But there is also learning from feedback
right!
– ‘Evolutionary’ not in the biological sense of small
random mutations or survival of the fittest (though
parallel builds a possibility
‘Iterative’ / Evolutionary
• Based on the Shewhart Cycle from 1930s. Also known as the
Deming Cycle (Deming worked with Shewhart).
•
•
•
•
•
•
•
Involves increments/iterations
Time-boxing (varying durations)
Delivery to market or client
Incorporates feedback (learning)
Being prepared to retreat
Not ‘freezing’ the requirements
Decide what to do in the next increment/iteration using the
feedback from the last increment/iteration and the current set
of requirements
The Shewhart Cycle or Deming Cycle
Decide Actions
Needed
Plan Actions
Act
Study Results
of Actions Taken
Study*
Plan
Do
Execute Plans
* Deming finally decided to use ‘Study’ instead of ‘Check’ (Gilb 2005)
Iterative Result Cycle
Based on the Shewhart Cycle
For each Iteration:
Requirements
Act
Actual Results
Feedback
Study
Deliver
Increment
Designs
Stakeholder Value
Plan
Do
Plan
Increment
Sequence for delivery
Estimated value known
Slightly modified from
(Brodie and Woodman 2008)
Evolutionary Project Management
(Evo)
• Developed by Tom Gilb (2005) in the 1960s
(published from 1976)
• Principles
– Small Steps (2%-5% of project time and money budget)
– Early High Value
– Actual Benefits
– Evaluation of High Risk
– Frequent Delivery
– Use Feedback
– Allow Requirements to change
Evo
Result
Cycle
Feedback
Strategic
Management
Cycle
‘Go’
‘The Head’
Development
Cycle
Backroom
Production
Cycle
‘The Body’
Backroom
Delivery
Cycle
Frontroom
Result Cycle
(Gilb 2005)
Evo Step Development and Delivery
Backroom
‘KITCHEN’
Frontroom
‘RESTAURANT’
A
Potential Next Step
(Step 4)
B
B
C
C
Development
Delivery
& Production Cycles
Cycle
F
D
H
Step 3
D
E
A
G
F
Implementation Cycle for F
Step 2
G
E
H
Step 1
Step 1 Step 2 Step 3
Time
Step 1 Step 2 Step 3
From (Gilb 2005)
Evo Step Development and Delivery
Backroom
‘KITCHEN’
Frontroom
‘RESTAURANT’
Think how a
restaurant
prepares food in
A
the kitchen and
Potential Next Step A
then
delivers it to
(Step 4)
D
B
the table. Total
preparation can
B
C
take weeks, but
H
Step 3 courses delivered
D
as customers want
C
E
them!
G
Development
Delivery
You don’t have to
& Production Cycles
F
Cycle
F
build everything
Implementation Cycle for F
only in the
Step 2
duration of one
G
E
increment. But
focus must be on
H
Step 1
early delivery and
early feedback!
Step 1 Step 2 Step 3
Step 1 Step 2 Step 3
Time
(Gilb 2005)
Factors influencing project failure
Yardley (2002)
Technical Failure
Human Failure
Process Failure
Lure of the leading edge
Lack of executive support
Absence of any project
management methodology
Poor technical design
Lack of leadership
Absence of any systems
development methodology
Technical solution to a non-technical
problem
Uncommitted project team
Absence of any benefits
management methodology
Dependence on software packages to
satisfy requirements
Dysfunctional project team
Failure to identify and mitigate
project risks
Lack of tools throughout development
lifecycle
Failure to manage third parties
Failure to manage
requirements
Technology-led development
Lack of a project ‘champion’
Lengthy project timescales
Lack of project ownership
Insufficient testing
Stakeholder conflict
‘Big-bang’ approach to
computerization
Resistance to change
Hostile organizational culture
Inexperienced project managers
Lack of business justification
Unclear or ambiguous business
priorities
Lack of user training
Misaligned stakeholder motivation
Summary
• Project management lifecycle
• Systems development lifecycle approaches
• Systems development lifecycle models
Recap: Systems development lifecycle
approaches
• Sequential
Linear – one pass / one delivery
Waterfall
• Incremental
Increment 1
• Prototyping
Throwaway
version of
some system
aspect
• Iterative / Evolutionary
...
Build and deliver
the system,
increment by increment
Increment n
Prior to
building the
real system
Act
Plan
Study
Do
Use feedback
References
•
•
•
•
•
•
•
•
•
Yardley, D. (2002), Successful IT Project Delivery, Addison-Wesley, ISBN
0201756064.
Association for Project Management (2006), Project Management Body of
Knowledge (5th Edition) (APM BoK 2006), ISBN 1903494133. www.apm.org.uk
Project Management Institute (2008), A Guide to the Project Management Body of
Knowledge (4th Edition) (PMBOK Guide), ISBN 193069945X. www.pmi.org
Marchewka, J. T. (2003), Information Technology Project Management: Providing
Measurable Organizational Value, Wiley, ISBN 0471392030.
Royce, W. (1970). Managing the Development of Large Software Systems:
Concepts and Techniques. Proceedings of IEEE WESCON. August 1970. Originally
published by TRW.
Larman, C. (2004), Agile and iterative Development: A Manager’s Guide, AddisonWesley, ISBN 0131111558.
Gilb, T. (2005), Competitive Engineering: A Handbook For Systems Engineering,
Requirements Engineering, and Software Engineering Using Planguage,
Butterworth-Heinemann. ISBN 0750665076.
Dalcher, D. & Brodie, L. (2007), Successful IT Projects, Thomson, ISBN 1844806995.
Brodie, L. & Woodman, M. (2009), Using Metrics to Express Quality, Proceedings of
the Seventeenth International Conference on Software Quality Management (SQM
2009), The British Computer Society, ISBN 9781906124229, pp 93-104.
Download