Software Project
Management
Walker Royce
MS. MUNAZZA MAH JABEEN
ASSISTANT PROFESSOR – COMPUTER SCIENCE
The Old Way and The New:
 Make quality #1:
 High-quality software is possible:
 Give products to customers early:
 Determine the problem before writing the requirements
 Evaluate design alternatives:
 Use an appropriate process model:
 Use different languages for different phases:
 Minimize intellectual distance:
 Put techniques before tools:
 Get it right before you make it faster:
…
 Inspect the code:
 Good management is more important than good technology:
 People are the key to success:
 Follow with care:
 Take responsibility:
 Understand the customer’s priorities:
 The more they see, the more they need:
 Plan to throw one away:
 Design for change:
 Design without documentation is not design:
…
 Use tools, but be realistic:
 Avoid tricks:
 Encapsulate:
 Use coupling and cohesion:
 Use the Tom McCabe complexity measure:
 Don’t test your own software:
 Analyse causes for errors:
 Realize that software’s entropy increases:
 People and time are not interchangeable:
 Expert excellence:
The Principles of
Modern Software
Management:
…
 Base the process on an architecture-first approach: (Central design element)
 Establish an iterative life-cycle process: (The risk management element)
 Transition design methods to emphasize component-based development: (The technology element
 Establish a change management environment: (The control element)
 Enhance change freedom through tools that support round-trip engineering: (The automation element)
 Capture design artefacts in rigorous, model-based notation:
 Instrument the process for objective quality control and progress assessment:
 Use a demonstration-based approach to assess intermediate artefacts:
 Plan intermediate releases in groups of usage scenarios with evolving levels of detail:
 Establish a configurable process that economically scalable:
Modern Process
Approach
For Solving Conventional
Problems:
Transitioning to an Iterative Process:
 Application precedent.
 Process flexibility.
 Architectural Risk Resolution
 Team Cohesiveness.
 Software Process Maturity.

Software Project Management - Chapter 4

  • 1.
    Software Project Management Walker Royce MS.MUNAZZA MAH JABEEN ASSISTANT PROFESSOR – COMPUTER SCIENCE
  • 2.
    The Old Wayand The New:  Make quality #1:  High-quality software is possible:  Give products to customers early:  Determine the problem before writing the requirements  Evaluate design alternatives:  Use an appropriate process model:  Use different languages for different phases:  Minimize intellectual distance:  Put techniques before tools:  Get it right before you make it faster:
  • 3.
    …  Inspect thecode:  Good management is more important than good technology:  People are the key to success:  Follow with care:  Take responsibility:  Understand the customer’s priorities:  The more they see, the more they need:  Plan to throw one away:  Design for change:  Design without documentation is not design:
  • 4.
    …  Use tools,but be realistic:  Avoid tricks:  Encapsulate:  Use coupling and cohesion:  Use the Tom McCabe complexity measure:  Don’t test your own software:  Analyse causes for errors:  Realize that software’s entropy increases:  People and time are not interchangeable:  Expert excellence:
  • 5.
    The Principles of ModernSoftware Management:
  • 6.
    …  Base theprocess on an architecture-first approach: (Central design element)  Establish an iterative life-cycle process: (The risk management element)  Transition design methods to emphasize component-based development: (The technology element  Establish a change management environment: (The control element)  Enhance change freedom through tools that support round-trip engineering: (The automation element)  Capture design artefacts in rigorous, model-based notation:  Instrument the process for objective quality control and progress assessment:  Use a demonstration-based approach to assess intermediate artefacts:  Plan intermediate releases in groups of usage scenarios with evolving levels of detail:  Establish a configurable process that economically scalable:
  • 7.
  • 8.
    Transitioning to anIterative Process:  Application precedent.  Process flexibility.  Architectural Risk Resolution  Team Cohesiveness.  Software Process Maturity.