No Silver Bullet - PowerPoint PPT Presentation

1 / 7
About This Presentation
Title:

No Silver Bullet

Description:

Title: No Silver Bullet Essence and Accident Created Date: 3/21/2002 2:43:49 AM Document presentation format: On-screen Show Other titles: Times New Roman Arial ... – PowerPoint PPT presentation

Number of Views:141
Avg rating:3.0/5.0
Slides: 8
Provided by: sceUmkcE2
Category:

less

Transcript and Presenter's Notes

Title: No Silver Bullet


1
No Silver Bullet Essence and AccidentNot
only are there no silver bullets now in view, the
very nature of software makes it unlikely that
there will be any no inventions that will do
for software productivity, reliability, and
simplicity what electronics, transistors, and
large-scale integration did for computer
hardware.
2
Productivity Equation
  • Time of task SUM(frequency)i X (time)i
  • Conceptual components of the task take most of
    the time (deciding what to build)
  • In order to increase software productivity we
    must focus on this aspect of software development

3
Promising Attacks on the Conceptual Essence
  • Buy vs. Build
  • Requirements refinement - Rapid Prototyping
  • Incremental development

4
Buy versus BuildThe most radical possible
solution for constructing software is not to
construct it at all
  • ANY software product is cheaper to buy than to
    build
  • Even at a cost of 100,000, a purchased piece of
    software is costing only about as much as one
    programmer-year
  • Delivery is immediate
  • The cost of software is in development, not
    replication. By sharing the cost among a large
    number of users, the per-user cost is lowered.
  • Examples spreadsheets/payroll apps/accounting
    software

5
Requirements Refinement
  • Most difficult step in software development
  • Any mistakes in the requirements cripple the
    resulting system and are difficult to rectify
    later
  • Clients generally do not know what they want or
    know what questions must be answered
  • Clients almost never communicate the problem to
    the software designers in the detail that must be
    specified
  • It is the designers job to iteratively extract
    and refine the product requirements from the
    client

6
Rapid Prototyping
  • Prototypes generally simulate important
    interfaces and perform major functions of the
    intended system
  • Prototypes are an important tool designers use to
    extract requirements specifications from the
    client
  • Give clients a chance to test versions of the
    product they are specifying to designers
  • Any problems in requirements are caught early in
    the design phase

7
Incremental Development
  • Software is not written
  • Software is grown by incremental development
  • Every new function or class grows out of what is
    already in the program
  • Decreases bugs
  • Ease of backtracking
  • Prevents the project from going off course
Write a Comment
User Comments (0)
About PowerShow.com