...

Which project management methodology? A guide for the perplexed.

by user

on
Category: Documents
6

views

Report

Comments

Transcript

Which project management methodology? A guide for the perplexed.
Which project
management
methodology?
A guide for the perplexed.
BCS London (South) branch
Wednesday 6th May 2015
1

Because someone says so

To provide guidance to novices

To identify ‘best practice’

To impose a common approach
◦ Improves communication – common language
◦ Can add/change staff without massive retraining
◦ Simplifies project interfaces
Why project management
methods?
2

Ensures consistency of work – quality
does not depend purely on who does the
work

Quality benchmarks
◦ Encourage/enforce quality within your own
team
◦ Encourage/enforce it with contractors
Why project management
methods?
3
Orientation
Types
Examples
Personal (project
manager)
Bodies of Knowledge
PMI, APM
Projects
Standard procedures
PRINCE2
Processes
Project organisation
Waterfall, V-process
model, DSDM etc
Quality assessment
Organisations
Process quality
Product quality
CMMI, ISO 900x
ISO 9126
Kinds of ITPM standards
4
Focus on project manager:
Project management ‘Bodies of Knowledge’
5

PMI-BOK
Project Management Institute Body of Knowledge
A US-based PM professional body with individual
membership with a UK chapter
BOK can be seen as a syllabus
PMI runs examinations leading to PM professional
qualifications

APM-BOK
Association for Project Management
Similar to above but UK-based
Project manager - Bodies of
knowledge
6

BS 6079
Guide to Project Management
British Standard published by British Standards
Institution
No examinations/qualifications for this one

Note: all these are related to general PM
not just IT PM.
Bodies of knowledge - continued
7
Focus on project management
processes
8

PRINCE2
Emphasis on practical procedures and
information system needed to manage a
project
UK-based generic PM approach – but origins
in IT
Although focused on procedures which an
organisation would have to set up, it runs
examinations/qualifications for individual
practitioners
Procedure/ project manager PRINCE2
9
Product
Activity
Product
Activity
Product
•e.g.
Specification
•e.g. coding
•e.g.
Software
component
•e.g. Test
component
• e.g.Tested
component
Activities vs Products
10
Identify deliverable and intermediate
products – create Product Breakdown
Structure
2. Identify dependencies between products
e.g. Code needs a specification – create
a Product flow diagram
3. Dependencies are effectively activities –
draw up Activity Network
1.
Other key PRINCE2 feature – project stages
PRINCE2 product-driven approach
11
How activities and products in a project
are arranged for execution
 Processes – standard ways of doing
things; are repeatable e.g. Design and
write code using UML
 Project – defined, one-off undertakings
which use processes e.g. Implement UK
Universal Credits system

process
<<<<repeated
one-off>>>>
project
Process models
12
1.
The age of order – waterfall
2.
The age of uncertainly reduction
3.
The age of efficiency
The three ages of project process
models
13
The age of order
14
requirements
analysis
design
build
test
install
Waterfall or once-through or one
shot
15
 Perceived
advantages
◦ An orderly approach
◦ Each stage supplies intermediate products used
by next
◦ Quality control at the end of each stage
◦ User knows what is to be delivered – agreed at
requirements stage
Waterfall
16
feasibility
study
requirements
analysis
corrections
corrections
system design
software design
Another way of
looking at the waterfall
model
corrections
corrections
review
user acceptance
system test
unit test
code
V-process model
17
During progress through the waterfall
processes
Effort/duration estimates tend to
become more accurate
Defects tend to accumulate
Waterfall – project progress
18
The age of uncertainty
reduction
19
◦ Designed for high-risk innovation projects
◦ At the beginning of the project
 Identify areas of uncertainty
 Design learning activities e.g. Prototypes to reduce
uncertainty - these become extra initial stages
 Could have more than one iteration of a prototype
◦ At end of each waterfall stage
 Assess amount of uncertainty remaining in project
 If too high, abandon the project
Boehm’s spiral model
20
delivered
system
design build install evaluate
increment
1
first incremental delivery
design build install evaluate
second incremental delivery
design build install evaluate
increment
2
increment
3
third incremental delivery
Incremental delivery
21
IF uncertainty HIGH
THEN use evolutionary approach
If complexity is HIGH
THEN use an incremental approach
IF uncertainty and complexity both LOW
THEN use one-shot/ waterfall
IF schedule is TIGHT
THEN use evolutionary or incremental
Euromethod/ISPL heuristics
22

‘Dynamic System Development Method’

Essentially a codification of incremental/
evolutionary principles

Has developed a DSDM Atern vocabulary

UK-based

Offers examinations/qualifications
DSDM Atern
23
The age of efficiency
24

Key concern of these approaches – the reduction
of the length of communication paths e.g.
between specification and software delivery

Examples: XP (eXtreme programming) Crystal
technologies, features-driven development,
DSDM Atern, Scrum

The viewpoint is very much that of software
development

Agile Alliance (http://www.agilealliance.org/)
acts as an umbrella organisation
Agility
25

All these focus on the immediacy of
communication
◦
◦
◦
◦
◦

Talk directly with users
Provide very frequent working increments
Create test plans as you identify requirements
Daily integration of components
Programming in pairs
These need
◦ Collocation
◦ User participation
Examples of XP practices
26

More widely applicable than XP – origins in
product development than design

Product owner is key stakeholder – authority on
design requirements

Development done in a number of one to two
week sprints
Scrum
27
 Group meeting to identify
requirements - recorded in a
product backlog
 Also identifies tasks needed to
implement product backlog in a
sprint backlog
 Identifies tasks/products for first
sprint, i.e. Increment
 Estimates effort for each task and
allocates tasks to developers
Scrum planning meeting
28
Sprint meetings – daily
15 minute ‘stand-up’
meeting of the
development team



Each developer reports:
◦ Progress since last meeting
◦ Planned activities for next meeting
◦ Any inhibitions of further progress
Sprint terminates with a sprint review
meeting – presentation of products to product
owner
Followed by planning meeting for the next sprint
Sprint execution
29
Software projects as production
lines
30
PROCESSES <<<<repeated
one-off>>>> PROJECT
Where time to delivery is crucial increments can be
over-lapped
TIME>>>>
Inc 1
Inc 2
Inc 3
design
build
test
design
build
test
design
build
test
Need for careful coordination as stages not same length
The project as production line
31
code B
feeder
specify
design
create
tests
code C
test
buffer
feeder
Critical chain projects
32





TWO estimates produced for each
activity: most likely (50% chance of being
achieved), and a safety margin
Most likely estimates are targets for all
activities
Critical chain activities: 50% of sum of
safety margins in chain are used in the
project buffer at end
Feeder buffers where sub-chains feed in
All activities started as late as possible
Critical chain
33



Central idea of lean manufacturing is ‘just in
time’ – only make components when actually
needed. This saves having large expensive
inventories
Japanese companies have reputation for
effective Quality Circles in industry focussing
on process improvements – groups of
workers identify/implement improvements
Attempts made to apply ideas to software
development with mixed results
Lean and Kanban
34
Suitable for where there is a group of software
intensive systems sharing common features and
assets and/or supplying a specific market e.g.
Where there are product lines.
Software product lines
35

Focus on the identification of reusable
software components and other assets.
Core
Asset
Development
Product
development
Management
Software product lines
36
Delivery quality
37
How do you know that your suppliers are of good
quality?
How do you persuade your customers you are good?

ISO 900x a generic standard for quality management
systems

CMMI Capability Maturity Model

ISO 9126 Software Quality Standard
Delivery quality standards/
methods
38
A company is at level 1 by
5. optimizing
default i.e. there is no level
zero
process
4. managed
control
3. defined
2. repeatable
1. initial
process
management
process definition
basic management
control
ISO 15504 is an international standard which implements
a CMM Approach
Process maturity levels
39
a
managed
process
requirements
directives
design &
define
manage
system design
tools, staff etc
inspection
criteria
code & unit
test
tested modules
system errors
design methods
design defects
tools, staff etc.
test plans
tools, staff etc.
integrate/
system test
system
software
40
ISO 9126 Software product quality
Attributes of software product quality
◦ External qualities i.e apparent to the user of
the deliverable
◦ Internal qualities i.e. apparent to the
developers of the deliverables and the
intermediate products
ISO 14598 Procedures to carry out the
assessment of the product qualities
defined in ISO 9126
ISO standards
41
ISO 9126 software qualities
functionality
does it satisfy user needs?
reliability
can the software maintain its level
of performance?
how easy is it to use?
usability
efficiency
relates to the physical resources
used during execution
maintainability
relates to the effort needed to
make changes to the software
portability
how easy can it be moved to a
new environment?
42

Need for organisational commitment/
motivation

Danger of lip service only e.g. ‘PINO’

Danger of means-end inversion

Need for the tailoring of methods

Judgement about level of detail
Some discussion points
43
Fly UP