Software Project Development Best Practices, Managing Risk - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Software Project Development Best Practices, Managing Risk

Description:

Difficulty of dividing labor between design and production (coding) ... Free Press 2004 Chapter 4: Best Practices in Software Development. ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 32
Provided by: mahmood
Category:

less

Transcript and Presenter's Notes

Title: Software Project Development Best Practices, Managing Risk


1
Software Project Development Best Practices,
Managing Risk
  • By
  • Mahmood Yassin

2
Outlines
  • Best Practices in Software Development
  • Risk Management
  • Managing Risks In Enterprise Systems

3
Best Practices in Software Development
Beyond the Software Factory
4
Software Development
  • A review of common problems and solutions
  • Synch-and-stabilize approach
  • The Water fall process
  • Infinite Defect Loops

5
Common Problems and SolutionsSome Facts
  • The same problems that ware common in the 1960s
    have reappeared with disturbing regularity in the
    1980s-2000s.
  • 75-80 of software projects are typically late
    and over budget.

6
Common Problems and SolutionsExamples of Problems
  • Lack of understanding in system requirements on
    the part of customers and designers
  • Large gaps between estimates of costs and time
    with actual expenditures
  • Difficulty of dividing labor between design and
    production (coding)
  • Difficulty in monitoring progress in a software
    projects
  • Rapid growth in size of software systems
  • Poor communication among groups working on the
    same project

7
Common Problems and SolutionsExamples of
Problems (Continue)
  • Writing systems, not for practical use
  • Insufficient numbers of adequately trained and
    skilled programmers
  • Difficulty of achieving sufficient reliability in
    large software systems
  • Dependence of software on hardware
  • Lack of inventories of reusable software
    components to aid in the building of new programs
  • Software maintenance costs often exceeding the
    cost of the original system development

8
Common Problems and SolutionsCapabilities
Maturity Model (CMM)
  • The Software Engineering Institute (SEI) at
    Carnegie Mellon University incorporates the CMM
  • The CMM provides a framework for organizing
    processes
  • Evolutionary steps into five maturity levels that
    lay successive foundations for continuous process
    improvement
  • A maturity level is a well-defined evolutionary
    plateau toward achieving a mature software
    process. Each maturity level comprises a set of
    process goals that, when satisfied, stabilize an
    important component of the software process
  • Organizing the CMM into the five levels
    prioritizing improvement actions for increasing
    software process maturity

9
Common Problems and SolutionsCMM - Continue
  • Initial Process
  • Repeatable Process
  • Software quality assurance
  • Software project planning
  • Requirements management
  • Defined Process
  • Intergroup coordination
  • Software product engineering
  • Integrated software management
  • Training program

10
Common Problems and Solutions CMM - Continue
  • Managed Process
  • Software quality management
  • quantitative process management
  • Optimizing Process
  • Process change management
  • Technology change management
  • Defect prevention

11
Common Problems and SolutionsThe Software
Factory Solution
  • Purposes
  • To make software development more tractable
  • To manage software projects better and apply good
    practices more consistently
  • Building hybrid solutions based on
    well-understood requirements with many external
    constraints
  • Most fundamentally, software development is not a
    manufacturing activity it is more a form of
    product design, where the design is the product
    and replication is trivial
  • Example http//www.numbersix.com/solutions/softwa
    reFactory.html

12
Common Problems and SolutionsExcerpts from a
Recent Software Assessment
  • Firms can gain significant savings by following
    the SEI recommendations.
  • The lack of risk management measures was a
    problem in that the company had no buffer time in
    the schedule and no Plan B in case the project
    ran into trouble, which it did.
  • Late design changes without a good process for
    handling the changes can cause too much rework in
    development as well as in all other affected
    areas.
  • It is difficult to allocate time to reviewing
    designs and code is changing all the time.

13
The Waterfall process
  • Waterfall process, moving in sequence from
    high-level design to detailed design, functional
    design, programming, and testing.
  • The Japanese organized projects mostly by
    following a sequential waterfall process.

14
Synch-and-stabilize approach concepts
techniques
  • synch-and-stabilize, as applied at Microsoft,
    Netscape and many other PC software firms, is
    both philosophy of product development as well as
    a set of specific concepts and techniques.
  • The core of the idea is to encourage programmers
    to innovate and experiment but frequently
    synchronize their designs with other team members
    by creating builds (working versions) of the
    product as often as possible, and then
    periodically stabilize (debug and integrate)
    their code before proceeding to the next set of
    development tasks.

15
Infinite Defect Loops
  • One potential consequence of not synchronizing
    and not frequently stabilizing a software product
    under development is that the project may fall
    into what Microsoft people used to call Infinite
    Defect Loops.

16
Infinite Defect Loops (Continue)
If modules change a lot you can experience an
infinite defect loop.
17
Project Risk
!
  • "Project Risk" is an uncertain event or condition
    that, if it occurs, has a positive or negative
    effect on at least one objective, such as time
    cost, scope or quality.
  • Why to be in risk?
  • Bad management and unskilled staff.
  • Insufficient budget and unreliable resources.
  • Bypassing!

18
Project Risk Management
  • Categories that will need to be considered
    include the following
  • Risk Management Planning
  • Risk Identification
  • Qualitative Risk Analysis
  • Quantitative Risk Analysis
  • Risk Response Planning
  • Risk Monitoring and control

19
Boehms risk engineering task breakdown
Above all, the techniques are designed to
increase risk visibility!
This based on the breakdown presented by Barry
Boehm in his Tutorial on Software, Computer
Society IEEE 1989.
20
Risk Management Planning
  • Inputs
  • Enterprise environmental factors
  • Organizational process assets
  • Project scope statement
  • Project management plan
  • Tools and Techniques
  • Planning meetings and analysis
  • Outputs
  • Risk management plan

21
Risk Identification
  • Inputs
  • Enterprise environmental factors
  • Organizational process assets
  • Project scope statement
  • Risk management plan
  • Project management plan (RBS)
  • Tools Techniques
  • Documentation reviews
  • Information gathering techniques (Brainstorming,
    Delphi, SWOT)
  • Checklist analysis
  • Assumptions analysis
  • Diagramming techniques
  • Outputs
  • Risk register

22
Example of a Risk Breakdown Structure (RBS)
Back
23
Qualitative Risk Analysis
  • Inputs
  • Organizational process assets
  • Project scope statement
  • Risk managing plan
  • Risk register
  • Tools Techniques
  • Risk probability and impact assessment
  • Probability and impact matrix
  • Risk data quality assessment
  • Risk categorization
  • Risk urgency assessment
  • Outputs
  • Risk register (updates)

24
Probability and Impact Matrix
Each risk is rated on its probability of
occurring and impact on an objective if it does
occur.
Back
25
Quantitative Risk Analysis
  • Inputs
  • Organizational process assets
  • Project scope statement
  • Risk management plan
  • Risk register
  • Project management plan
  • Project schedule management plan
  • Project cost management plan
  • Tools Techniques
  • Data gathering and representation techniques
  • Quantitative risk analysis and modeling
    techniques
  • Outputs
  • Risk Register (updates)

26
Risk Response Planning
  • Inputs
  • Risk management plan
  • Risk register
  • Tools Techniques
  • Strategies for negative risk or threats
  • Strategies for positive risks or opportunities
  • Contingent response strategy
  • Outputs
  • Risk register (updates)
  • Project management plan (updates)
  • Risk-related contractual agreements

27
Risk Monitoring and control
  • Inputs
  • Risk management plan
  • Risk response plan
  • Project communication
  • Additional risk identification and analysis
  • Scope changes
  • Tools Techniques
  • Project risk response audits
  • Periodic project risk reviews
  • Earned value analysis
  • Technical performance measurement
  • Additional risk response planning
  • Outputs
  • Workaround plans
  • Corrective action
  • Project change request
  • Updates to the risk response plan
  • Risk database
  • Updates to risk identification checklists

28
Managing Risks In Enterprise Systems
29
Model of risk factors in ES implementations
30
Interrelationships in the risk factor model
31
Bibliographic List
  • Managing Risks, JE Scott, I Vessey
    Communications of the ACM, April 2002
  • ??? ???? ?????? ???????? ?????? ????? ?????
    ??????, ?? ???, ????? ??? 2003
  • The Business of Software Michael A. Cusumano.
    Free Press 2004 Chapter 4 Best Practices in
    Software Development.
  • Software Project Management Bob Hughes and Mike
    Cotterell. Third Edition.
  • Quality Software Project Management Robert T.
    Futrell, Donald F. Shafer, Linda I. Shafer.
Write a Comment
User Comments (0)
About PowerShow.com