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