Presentation is loading. Please wait.

Presentation is loading. Please wait.

A presentation from June 20, 2000 Jim Brosseau The ‘How-To’ of Software Process Improvement.

Similar presentations


Presentation on theme: "A presentation from June 20, 2000 Jim Brosseau The ‘How-To’ of Software Process Improvement."— Presentation transcript:

1 a presentation from June 20, 2000 Jim Brosseau jbros@spc.ca The ‘How-To’ of Software Process Improvement

2 © 2000 Software Productivity Center Inc. 2 Objectives Explain the importance of process 0to the individual 0to the project 0to the organization Introduce the concept of process as a way of life Discuss issues of practicality

3 © 2000 Software Productivity Center Inc. 3 Agenda Background Software development philosophy Process: myths and realities Process benefits at all levels Improvement approach and process models

4 © 2000 Software Productivity Center Inc. 4 Why Develop Software? A hierarchy of different objectives for developing software: Mission-critical systems Product development, custom software development Internal tools development Prototypes, course assignments Hacking, playing, investigating

5 © 2000 Software Productivity Center Inc. 5 Process applied to Development As development motivation matures, there is an increased need for process 0to stabilize the development lifecycle 0repeatability, predictability, manageability A single organization may be driven by all of these objectives at different times 0process needs are very different! Most companies are involved in the last 4 of these categories

6 © 2000 Software Productivity Center Inc. 6 Process Myths: Software Process is......inflexible, doesn’t fit organizational needs...just a documentation nightmare...stifles creativity: writing code is an art...adds overhead, extends project schedules...is not as effective as superstars...is just getting more code out the door …is no substitute for good tools Unfortunately, most of these myths are based on bad process improvement experiences

7 © 2000 Software Productivity Center Inc. 7 Process Realities When applied correctly, process improvement… …reduces software development risk …focuses creativity on the right areas 0design, schedule, coding challenges rather than how to explain to your customer you’re late this time... …pulls in development schedules 0effective oversight catches problems when they occur 0‘do the right things’, at the right time 0reduced rework

8 © 2000 Software Productivity Center Inc. 8 Process Realities Process improvement can… …bolster existing corporate and individual weaknesses 0‘improvement’ implies ‘deficiencies’...be applied across the organization 0through tailoring to meet needs …provide a framework for the injection/assessment of tools

9 © 2000 Software Productivity Center Inc. 9 Benefits for the Individual Reduced interruptions and surprises 0you can work on your planned tasks 0increased productivity Increased awareness of your surroundings 0greater mobility/flexibility 0increased opportunities for learning Improved morale 0more software, fewer bugs -> pride in your work

10 © 2000 Software Productivity Center Inc. 10 Benefits for the Project Improved ability to estimate tasks 0Higher predictability for project planning Reduced risk of surprises: 0‘requirements creep’ 0nasty integration bugs 0schedule breakdown - the 90% syndrome Improved chances of on-time delivery of a quality product

11 © 2000 Software Productivity Center Inc. 11 Benefits for the Organization Improved product stability 0increased customer satisfaction Reduced dependence on key individuals 0to pull projects out of trouble Increased repeatability of success 0facilitates more accurate strategic planning Improved quality and morale 0less staff turnover

12 © 2000 Software Productivity Center Inc. 12 Improving Process for You These benefits assume the IMPROVEMENT of process 0not merely the ADDITION of process Process needs to be applied to fix or avoid problems Needs ownership and commitment from all Is a continuous process, not a one-shot deal Is not a one-size-fits-all solution Is not magic - it is applied common sense

13 © 2000 Software Productivity Center Inc. 13 Typical Pains We’ve Seen Inability to predict ship dates 0poor control and estimation Requirements creep 0poor control Delivery of poor quality 0inadequate focus on review/test

14 © 2000 Software Productivity Center Inc. 14 Typical Improvement Areas Project management fundamentals Improved scope control More focussed quality control Closure on CM issues Measurement -> refined estimation Reviews as an extension of ‘test’

15 © 2000 Software Productivity Center Inc. 15 Success Factors for Process Improvement Projects Keep an open mind 0the old way isn’t always the only way Don’t get personal 0focus on process not people Perceived problems are just as real as actual problems Commit time to the process improvement project

16 © 2000 Software Productivity Center Inc. 16 Productivity Defined Traditional Productivity Improvement 0more widgets produced per minute Software Development Productivity is more than just “programmer productivity” (e.g LOC written per day) Have to measure productivity over the whole lifecycle of a project

17 © 2000 Software Productivity Center Inc. 17 Software Productivity Defined The rate of outputs vs. inputs 0e.g. LOC, function points per person-month Should consider the efficient use of inputs 0e.g. how much time spent finding defects using testing vs. code inspection NOTE: Measure teams, not people!

18 © 2000 Software Productivity Center Inc. 18 Software Productivity Defined A consideration of the quality of outputs 0e.g. number of defects 0Doing things right - avoid rework Time Cost of defect correction

19 © 2000 Software Productivity Center Inc. 19 How to Improve Productivity Optimize the Development Process 0maximize results in time spent 0make development predictable, repeatable 0streamline activities, reduce re-work 0make the job more enjoyable and professional

20 © 2000 Software Productivity Center Inc. 20 How to Improve Productivity? Optimize the Technology 0languages 0tools 0design techniques (e.g. OO) 0specification techniques (e.g. JAD) BUT: Avoid the silver bullet syndrome

21 © 2000 Software Productivity Center Inc. 21 The SEI Capability Maturity Model for Software A roadmap model for establishing improved software engineering process From the Software Engineering Institute (SEI) Has been in use for more than 10 years A framework for understanding industry “best practices”

22 © 2000 Software Productivity Center Inc. 22 SW-CMM : 5 Levels Initial (1) Standard, consistent process Disciplined process Predictable process Continuously improving process Repeatable (2) Defined (3) Managed (4) Optimizing (5)

23 © 2000 Software Productivity Center Inc. 23 SW-CMM Structure

24 © 2000 Software Productivity Center Inc. 24 Initial - “Code & Fix”

25 © 2000 Software Productivity Center Inc. 25 Repeatable - “Milestone-Driven” In Out

26 © 2000 Software Productivity Center Inc. 26 Defined - “Tasks & Milestones” Out In

27 © 2000 Software Productivity Center Inc. 27 Managed - “Measured Tasks and Milestones” Out In

28 © 2000 Software Productivity Center Inc. 28 Optimizing - “Tuned” Out In

29 © 2000 Software Productivity Center Inc. 29 ~ 60% at Level 1 ~ 25% at Level 2 ~ 15% at Level 3 Maturity Levels in Industry Biggest benefits realized in moving from Level 1 to Levels 2 and 3 0Estimated vs. Actual Cost and Schedule have been shown to get very close by Level 3 0Productivity improvement can be 100 - 200% 0Defects are reduced, sometimes dramatically Can take 1-2 years to move up one Level

30 © 2000 Software Productivity Center Inc. 30 Key Process Areas for Levels 2 and 3 Level 2 Requirements Management S/w Project Planning S/w Project Tracking & Oversight S/w Quality Assurance S/w Subcontract Management S/w Configuration Management Level 3 S/w Product Engineering Peer Reviews Integrated s/w Management Inter-group Coordination Organization Process Focus Organization Process Definition Training Program

31 © 2000 Software Productivity Center Inc. 31 Leveraging Assistance Leveraging models: generally accepted breadth of coverage Leveraging expertise: core competency issues objective viewpoint Leveraging peers: Been there, done that

32 © 2000 Software Productivity Center Inc. 32 Key Points in closing Goal is to reduce pain Continuous, gradual improvement Use an established model Leverage wherever possible Measure to provide feedback


Download ppt "A presentation from June 20, 2000 Jim Brosseau The ‘How-To’ of Software Process Improvement."

Similar presentations


Ads by Google