Software Process Improvement - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Software Process Improvement

Description:

Slogans for Designing a Process. Productivity is correlated with being in control. ... Mailing lists, web pages. Local groups (SPIN, ACM, Java user group) ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 27
Provided by: Ralp47
Category:

less

Transcript and Presenter's Notes

Title: Software Process Improvement


1
Software Process Improvement
2
SPIN
  • Software Process Improvement Network
  • http//www.sei.cmu.edu/collaborating/spins/spins.h
    tml
  • SEI - Software Engineering Institute
  • Managing the Software Process - Watts Humphrey

3
Keys to a project
  • People
  • Product
  • Process

4
How do you improve your process?
  • Understand it
  • Decide something needs to be improved
  • Make a plan to improve it
  • Execute the plan
  • Evaluate results

5
Principles of Change
  • Major changes to the software process start at
    the top
  • Ultimately, everyone must be involved
  • Must have a goal and know current process
  • Change is continuous
  • Changes will not be retained without effort and
    reinforcement
  • Process improvement is an investment

6
Stages of change
  • Installation
  • Learning the basics
  • Practice
  • Proficiency
  • Becoming good enough to be successful
  • Naturalness
  • No longer thinking about it

7
Stages of change
  • All change is disruptive
  • Until you are proficient, performance is worse
    than before
  • Dont decide whether change is good until people
    have a chance to become proficient

8
Change is disruptive
  • Dont make too many changes at once
  • Dont punish failure
  • A change that is good for me might not be good
    for you
  • A change that is easy for me might not be easy
    for you

9
Effort to improve the process
  • Someone must evaluate, decide, plan
  • Manager
  • XP coach
  • Process improvement team
  • Make small changes and test them
  • Train!

10
Capability Maturity Model
  • CMM describes the practices of an organization at
    a particular level.
  • Can be used to
  • Guide process improvement
  • Assess software process capability
  • Provides an orderly framework in which to do good
    engineering
  • Describes what an organization should be
    practicing

11
CMM Maturity Levels
  • 5 Optimizing Continuous process improv.
  • 4 Managed Product and process quality
  • 3 Defined Engineering Process
  • 2 Repeatable Project Management
  • 1 Chaotic

12
Level 2 - Repeatable
  • Requirements management
  • Software project planning
  • Software project tracking
  • Software subcontract management
  • Software quality assurance
  • Software configuration management

13
SQA
  • Monitors product quality and adherence to plan
  • Monitors process quality and adherence to plan
  • Does not ASSURE quality
  • Developers create quality
  • Managers make tough decisions about quality

14
SQA
  • In small groups, performed by manager and/or by
    entire team
  • In large groups (maybe gt20, certainly gt50),
    performed by SQA team
  • Testers often considered part of SQA team

15
IVV
  • Independent verification and validation
  • Checks on work of subcontractors
  • Testers that work for your customer
  • SQA works for the producing organization

16
Level 3 - Defined
  • Organization process focus
  • Organization process definition
  • Peer reviews, testing, SCM plans
  • Training program
  • Integrated software management
  • Software product engineering
  • Intergroup coordination

17
Level 4 - Managed
  • Quantitative process management
  • Process metrics
  • Software quality management
  • Product metrics

18
Level 5 - Optimizing
  • Defect prevention
  • Technology change management
  • Process change management

19
Optimizing
  • Periodically look at the data
  • What are our biggest problems?
  • How could we solve them?
  • How much would that cost? Is the benefit worth
    the cost?
  • How are we going to implement this change?

20
Optimizing
  • Happens on many levels
  • Managers optimize the whole process
  • Each developer optimizes his own job
  • Each developer optimizes work of team
  • Managers/SQA meet to review entire project
  • Design/Code reviews review products and make
    suggestions

21
Optimizing
  • Collect data
  • Store all bug reports in a database
  • Analyze data
  • What is the cause of each bug? What category
    causes the most bugs? What could we do to
    prevent that bug?
  • Make a plan for improvement
  • Implement the plan

22
Slogans for Designing a Process
  • Productivity is correlated with being in control.
  • Design your own process
  • Having a standard is more important than which
    standard
  • Everyone must agree to it

23
Slogans for Designing a Process
  • If it isnt broken, dont fix it.
  • Dont make a change unless people are
    dissatisfied.
  • Kick the nearest wolf from the door.
  • Change one thing at a time. Pick the worst
    problem and try to solve it.

24
How to get ideas for improvement
  • Magazines
  • Mailing lists, web pages
  • Local groups (SPIN, ACM, Java user group)
  • External consultant
  • Internal consultant

25
How to get ideas
  • Every group needs someone who is outwardly
    focused, who brings in new ideas.
  • A good manager periodically brings in an outsider
    for a review
  • Hire young people from UIUC

26
Software Process Improvement
  • Must know what is happening now
  • Requires data
  • Requires management commitment to change
  • Change is expensive!
  • Change can be valuable
  • Continuous small changes are better than
    irregular big changes
Write a Comment
User Comments (0)
About PowerShow.com