RAPID PROCESS IMPROVEMENT - OXFORD SOFTWARE ENGINEERING SPIN UK

advertisement
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
RAPID PROCESS IMPROVEMENT
SPIN UK
- 28 September 1999
Slide 1.1
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Contents
1. The Business Environment
2. Software Development
3. Rapid Process Improvement
4. Tools and Techniques
5. Getting Started
Slide 1.2
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.3
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
The Business Environment...
• Dynamic (unpredictable)
• You will encounter:
–
–
–
–
–
–
–
economic fluctuations
currency fluctuations
mergers
re-organizations
changes in strategy
new management
‘initiatives’
• Look-ahead more than 18 months / 2 years is of limited value
Slide 1.4
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...The Business Environment
• Rapid change and uncertainty are facts of business life
• Timing is of the essence - sequencing and co-ordination, not just
speed
Slide 1.5
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.6
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Software Development*...
• Software development processes in business:
– are increasingly seen as just one of many business processes
– are not clearly distinguished from other business processes
– have the same expectations are placed on them as on other processes
• Software processes should be:
– robust enough to cope with:
• merger / take over
• new business
• re-structuring
• changed business / new business
– available as required
– be managed as assets
• they are often ‘lost’
(* developing software or systems in commerce or industry to sell or support business)
Slide 1.7
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• Software Development is not usually ‘development’, it can be:–
–
–
–
–
–
–
business analysis/requirements elicitation
enhancement
bug fix
support
integration
migration
acquisition
• bespoke
• COTS
– etc…
– or any variety or combination
• Development activity changes to support activity as the product
matures - management approaches should reflect this
Slide 1.8
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• Software Development is usually managed as a project*
• This management approach is often not the most appropriate
– enhancement, and bug fix are repeated and low risk activities
– service or production line models are more appropriate
(these types of activities have properties that genuine projects aspire
to…repeatable, low risk)
– overloads these activities with inappropriate and unnecessary activities
• Strong project orientation has hindered understanding and
development of software processes
– “…but our project is different…”
* A project is a unique, complex, intrinsically risky piece of work
Slide 1.9
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• Ways of working:
– often very well understood by those performing them
– difficult to communicate to others
• documentation correct but unusable (esp. to new hires)
• documentation is user view narrative
– unique to ‘project’ or organization (and idiosyncratic)
– does not differentiate business, management and technical practices
Slide 1.10
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• There have been a number of attempts to make software
development better meet business need:
–
–
–
–
–
–
–
software methods, tools
quality approaches (e.g TQM)
management methods
QA
standards,
metrics
….
Slide 1.11
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• Software Process Improvement (SPI) is one of the more successful
(influential) approaches
• SPI effectively means the application of the Capability Maturity Model
(CMM)
• Takes many of the lessons learned from earlier work
–
–
–
–
Scientific Management - Taylor
Statistic Process Control - Shewhart
Quality Management - Deming, Juran, Crosby
Software Development Models - Royce, Fagan, Boehm, Mills
Slide 1.12
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• SPI Assumptions:
– software development processes are to be improved
– improvement is incremental or evolutionary (grow the process to build the
software)
– improvement takes time
– ‘institutionalization’ makes processes robust
• There are good reasons for these assumptions
– ignoring these reasons may lead to failure to develop a software
development capability
– …but they are not necessarily correct….
Slide 1.13
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• Often…
– there is nothing to improve
• typical response - “...here’s one from my last project / job / employer”
– there is not the time
• typical response - “...it takes time”
Slide 1.14
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• Lessons we have learned...
– ongoing long term commitment* to develop process understanding and
capability is important
– ...but long term plans are of little use - outmanoeuvred by events
– SPI often takes far too long to deliver real benefits to developers or
managers (and benefits are frequently never explicitly identified)
– tends to focus on model requirements rather than solving real problems
– predicting the effects of change is difficult
– large scale SPI is difficult to manage
– large scale SPI can be inefficient and expensive
– many benefits arise from small changes made rapidly
– some software engineering techniques are fundamental
* senior management scrutiny and feedback - but not big budgets
Slide 1.15
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development...
• It is most effective to:
– think strategically*, but act tactically
• act locally
• deliver many small simple improvements
• evaluate actual results
• discard cheap fast failures, build on successes - and learn from
failures
* Deming’s ‘constancy of purpose’
Slide 1.16
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Software Development
• Our response to this is to develop techniques and tools that enable
Rapid Process Improvement...
Slide 1.17
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.18
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Rapid Process Improvement...
• What is Rapid Process Improvement?
• There are subtle but important differences to SPI...
Slide 1.19
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Rapid Process Improvement...
• Characteristics - are required and consciously designed in
–
–
–
–
–
–
–
–
–
–
clearly focussed on solving real problems
desired results stated explicitly and measurably
results driven - not activity driven, then act on data
speed (scaled to be manageable and time boxed)
perhaps guided by model - but not model driven
highly visible
structured - (how, how good, when…)
local ownership - effective resource models and motivation
local accountability
opportunistic
• To achieve these characteristics you need the right tools
(These characteristics should be self evidently desirable.)
Slide 1.20
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Rapid Process Improvement
• Benefits
– speed
• 80 / 20 - know which is the 20
• Time boxed
– visibility
• results driven - there are results
• learn - from successes and affordable (therefore admissible) mistakes
• success is the best motivator
– low cost
• rapid ROI
• short BET
• no generic training
– NO LEAD TIME...
Slide 1.21
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.22
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Tools and Techniques
• Lots of anecdotal SPI reporting and evidence but few tools
• We have worked to identify and develop tools for RPI:
• Three classes…
– Visibility
– Frameworks
– Construction
Slide 1.23
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Visibility...
shows what is actually happening
• FOCUSSED QUALITY ASSURANCE
• MEASUREMENT
• ASSESSMENT
• ‘POST IMPLEMENTATION REVIEWS’
• EVIDENCE/RECORDS
Slide 1.24
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Visibility...
• FOCUSSED QUALITY ASSURANCE
– Provides objective visibility of the performance of work
• as required by senior management
• and stated in published policies
– confirms quality controls operate by sampling and scrutiny of records
– also may support development activities and improvement
Slide 1.25
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Visibility...
• MEASUREMENT
– (re)definition of measures identifies important process and product
characteristics - GQM
– quantitative targets focus on performance essentials
– data provides real time information to developers and trends for longer
term understanding
(will require critical validation and verification)
Slide 1.26
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Visibility...
• ASSESSMENT
– high profile investigation of development activities
– can provide a valid and accurate diagnostic
– critical to act on information provided:
• relate to business issues
• translate into effective actions (DevPIP)
Slide 1.27
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Visibility...
• POST IMPLEMENTATION REVIEWS
– at the end of project - or phase
– opportunity to informally review how things went - or view as a process
inspection
– generally welcomed, easy to perform, generate buy in
– valuable information from developers
– may indicate business issues
Slide 1.28
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Visibility...
• EVIDENCE/RECORDS
– project / process / records / reports
– consistent
– available
– integrity
Slide 1.29
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Visibility
• others?...
Slide 1.30
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Frameworks...
to provide structure and help communications*
• TACTICAL CHANGE MANAGEMENT (TCM)
• PIRL
• PROCESS IMPROVEMENT TEMPLATES
• PROCESS INFRASTRUCTURE
• PROCESS ARCHITECTURE
• others…
(* which is critical in changing expectations and behaviour)
Slide 1.31
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Frameworks...
• TACTICAL CHANGE MANAGEMENT (TCM)
– provides common structure for change
– rigorous time boxing
– structured
– involves those affected
– makes resource available
– explicit deliverables
– visible
Slide 1.32
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Frameworks...
• POST IMPLEMENTATION REVIEW LED IMPROVEMENT (PIRL)
– used PIRs to identify issues and trends
– provides information to process group
– process group acts
Slide 1.33
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
business objectives
trends and issues
Development
Focus for PI
(e.g. SEPG)
PIR’s
‘quick fixes’
process improvement
Slide 1.34
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Frameworks...
• PROCESS IMPROVEMENT TEMPLATES
– process improvements vary in nature:
• new
• resurrection
• change
• best practice
– know the difference and apply the correct tools.
Slide 1.35
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Frameworks...
• PROCESS INFRASTRUCTURE
– describes explicitly how process elements function in the organization
– provides a shared mental model and stability
– an example...
Slide 1.36
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
reports
Senior
Management
reports
states
directs
responds
Process
Group
monitors
and
support
Software
Policies
references
Quality
Assurance
justifies
‘own’
and
refine
Standards and
Procedures
support
responds
‘defends’
monitors
and
support
Projects
Slide 1.37
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Frameworks...
• PROCESS ARCHITECTURE
– also provides a shared mental model
– and provides process stability
– some examples...
Slide 1.38
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
allocated requirements
Manage
Requirements
1
FTR &
library
Plan Work
approval to
change
requirements
change authorities
change requests
requirements to be refined
requirements for planning
SQA approval of plans
Change Control
4
Plan Work
approval to change plans
(replan)
draft plans to SQA for
approval
plans
Track and Report
Work
2
3
FTR &
library
reports to senior management
decision
to
proceed
change request (replan)
corrective action requests
to Produce Software
to Do Work
from Do Work and Store Work Products
progress reports, issues
and status reports
SQA project reports
Milestone
Review
5
Slide 1.39
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
ABC PROJECT MANAGEMENT PROCESS
Life Cycle
PIF Review
PDR Review
Project Initiation
Business
Analysis of
Requirements
Detailed Analysis
and Design
PIF
PDR
Functional
Specs
Plan for Bus.
Analysis of
Req'ts phase
Plan for
Analysis
phase
Technical
Designs
System Test
Exit
Reviews
System Test
Entry
Reviews
Project Plan
Review
SIT Exit
Review
SIT Entry
Review
BIT Entry
Review
Pre Implementation
Review
System
Integration Test
Business
Integration Test
Implementation
Release
Authority
Construction
System Test
Code
Strategy &
Criteria
Strategy &
Criteria
Strategy &
Criteria
Test Cases &
Scripts
Test Cases &
Scripts
Test Cases &
Scripts
Test Results &
Downtime Log
Test Results &
Downtime Log
Test Results &
Downtime Log
Unit Test
Results
Release Notes
Post Implementation
Review
BIT Exit
Review
Software
Release
Project
Closedown
Updated Cost
Benefit
Analysis
Investment
Return
Analysis
Support
Weekly
Support
Summaries
Detailed Project
Planning
GL Test
Implementation
Schedule
Detailed
Project Plan
Business
Procedures
Summary &
Approach
New &
Updated
Procedures
Training
Training
Approach
Presentation
Materials
Data Quality and
Conversion
Project
Management
Estimating
Version 1.9a
Production
Incident
Management
Data
Conversion
Plan
Risk
Management
Requirements
Tracking
Phase Plan &
Budget
Tracking
Issue and
Action
Management
QA
Change
Control
Configuration
Management
Project Query
Tracking
Call & Defect
Tracking
12th March 1999
Slide 1.40
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Frameworks
• others…?
Slide 1.41
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Synthesis and Construction...
• PROCESS DEFINITION
• PREFABRICATED PROCESS COMPONENTS
• PROCESS WORKSHOP
Slide 1.42
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Synthesis and Construction...
• PROCESS DEFINITION
– a framework and guidance for process capture,
definition and documentation
•
•
•
•
•
modelling
information capture
technical definition
user documentation
publication and support
Slide 1.43
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Synthesis and Construction...
• PREFABRICATED PROCESS COMPONENTS - ‘Flat Pack’...
– rapid deployment of a capability
• define / design / install / operating - 8 to 12 weeks
– QA, SCM, Project Office, Risk Management, Requirement Management
– well defined interfaces - interoperable
– three levels of capability to match ‘maturity’
– enables evaluation of performance rapidly
– Leads to SOFTWARE PRODUCTION ENGINEERING
Slide 1.44
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Synthesis and Construction...
• ...PREFABRICATED PROCESS COMPONENTS - ‘Flat Pack’
– revisit the business need...
– how do you
• replicate
• relocate
• scale up
• cost for limited run
a software development capability?
– Requires a SOFTWARE PRODUCTION ENGINEER
Slide 1.45
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Synthesis and Construction...
• PROCESS WORKSHOP
– to train and deal with change requests
– an example...
Slide 1.46
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Process Workshops used with PIRL
business objective
trends and issues
Focus for PI
(e.g. SEPG)
improvement reqs.
‘know how’
Development
Process
Workshop
PIR’s
‘quick fixes’
process improvement
Slide 1.47
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Process Workshop
improvement
reqs.
‘know how’
Preparation
Workshop
process
definition
Review
and
Approval
improvement
developers
Slide 1.48
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Synthesis and Construction...
• others…?
Slide 1.49
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Techniques...
• WORK UPSTREAM
– users have a problem
– determine source (testers perhaps) ‘upstream’ and fix
– identify cause at next source (coders perhaps)
– determine next source upstream…
not the most potentially efficient, but actually effective, fast and cheap.
Slide 1.50
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Techniques...
• RESOURCE MODELS
– tasking
– cross project support
– TCM
Slide 1.51
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
...Techniques
• SOFTWARE FUNDAMENTALS
– quality control
– change control
– lifecycle / management reviews
Slide 1.52
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.53
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
…Getting Started or Re-orienting Improvements...
Start Tomorrow…
• for example:
– draft and get endorsement for your software improvement strategy - not
plan
– conduct PIR’s and use effective action tracking
– do an assessment (next week!)
– develop and issue s/w policies and use QA to monitor and enforce
– install prefabricated process components (‘flat pack’)
Slide 1.54
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.55
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
OXFORD
S O FTWAR E E N G I N E E R I N G
LIMITED
9 Spinners Court, 53 West End,
Witney,
Oxfordshire
OX8 6 NJ
www.osel.co.uk
Tel. +44 (0) 1993 700878
Slide 1.56
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Slide 1.57
Download