CMT3342_Lec3_Online

advertisement
CMT3342
Computing Project Management
Week 3
Pirkko Helena Harvey
Associate Professor
Computer Science
School of Science and Technology
1
Project management methods and
related software development
lifecycle approaches – Part 2
2
Project management lifecycle
•
•
•
•
Concept
Definition
Implementation
Handover and closeout
(APM BoK 2006)
3
Project lifecycles
Project management lifecycle
Manage the
project
Systems development lifecycle
Modify the
system
System Lifecycle
Project Start
Project End
4
Project lifecycles
Project management lifecycle
Manage the
project
Systems development lifecycle
Modify the
system
System Lifecycle
Project Start
Project End
5
Project lifecycles
Project management lifecycle
Manage the
project
Systems development lifecycle
Modify the
system
System Lifecycle
Project Start
Project End
6
Project management lifecycle
Select
Project
Proposal
Determine
Business
Case
Commence
Project
Manage
Project
Close
Project
Evaluate
Project
Adapted from
Marchewka 20037
Project management lifecycle
Select
Project
Proposal
Determine
Business
Case
Commence
Project
Manage
Project
Close
Project
Evaluate
Project
Systems
Development
Lifecycle
Adapted from
Marchewka 20038
Systems development lifecycle
approaches
• Sequential - introduction last week
• Incremental - introduction last week
• Prototyping
• Iterative / Evolutionary
9
Sequential
• Traditional approach based on sequential design
• Referred to as the waterfall model
• Fixed requirements
– Design tasks only begin after requirement are completely
defined
•
•
•
•
•
•
Limited client involvement
Sometimes referred to as command and control approach.
Structured, linear approach
No / Little feedback
Works well if requirements are known upfront
Problematic if requirements are unknown upfront and/or
are changing.
10
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
11
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
12
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 13
Crashed Increments
Increment 1
Increment 2
Increment 3
Increment 4
Increment 5
Use of two teams
Delivery to customer
on completion of each increment
14
Prototyping
• Take care over the term ‘prototype’
• Can be used in different context
• Design prototypes: engineering, construction etc.
– Physical models, architectural blueprints, engineering
drawings
• Can be a sample or model of a product built to test a
concept or process
• Can be something to be replicated or learned from
• Can provide specifications for a real, working system
rather than a theoretical one
15
Prototyping
• Prototyping has several benefits
• Can be a throw-away version of some aspect of
the system for demonstration to the stakeholders
• Testing out some ideas or aspect of risk: for
example the user interface or maybe technical
feasibility
• Aim to get rapid feedback before committing too
much effort/resources
• Evolutionary prototypes have an advantage over
throwaway prototypes - they are functional
systems
16
Prototyping
• Prototyping has several benefits
• Can be a throw-away version of some aspect of
the system for demonstration to the stakeholders
• Testing out some ideas or aspect of risk: for
example the user interface or maybe technical
feasibility
• Aim to get rapid feedback before committing
too much effort/resources
• Evolutionary prototypes have an advantage over
throwaway prototypes - they are functional
systems
– Read more on different types of prototypes
17
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
18
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
Later – Agile
Lectures
19
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
20
‘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
21
‘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
22
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)
23
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
25
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)
26
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)
27
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)
28
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
Test ideas
Get feedback
Use feedback
29
Which of these lifecycles need to be considered e.g.
in a student project? What activities do they
involve? DISCUSS
Project management lifecycle
Systems development lifecycle
System Lifecycle
Project Start
Project End
30
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
31
Summary
• Project management lifecycle
• Systems development lifecycle approaches
• Systems development lifecycle models
• http://www.projectsmart.co.uk/
– Provides many easy to read articles of various project
management topics, whitepapers etc.
32
IMPORTANT - next week
Assessment Preparation Week
Week 4: NO lecture and NO labs
Week 4: Complete searches for publications for the Essay
• Further guidance online: “Information; Resources and
Relevance of Publications”
• Handout “The Rise and Fall of the Chaos Report Figures” by J.
Laurenz Eveleens and Chris Verhoef
Week 5 labs (w/c 3 November) :
• Group Project team formation
• Formative feedback on the Essay ‘Overview’ Section. You must
bring a draft into labs
33
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.
34
Download