cse senior design i feature-set control the slides in this presentation are derived from materials...
TRANSCRIPT
![Page 1: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/1.jpg)
CSE Senior Design ICSE Senior Design I
Feature-Set ControlFeature-Set Control
The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development: Taming Wild
Software Schedules, by Steve McConnell.
Instructor: Mike O’DellInstructor: Mike O’Dell
![Page 2: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/2.jpg)
7
2
The ProblemThe ProblemProducts are initially stuffedinitially stuffed with more
features (requirements) than can be reasonably accommodated
Features continue to be addedadded as the project progresses (“Feature-Creep”)
Features must be removed/reducedremoved/reduced or significantly changed late in a project
… Inevitably resulting in schedule/cost schedule/cost overrunsoverruns
![Page 3: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/3.jpg)
7
3
The Bottom LineThe Bottom Line
Without aggressive aggressive feature-set control feature-set control throughout a projectthroughout a project, Projects suffer from excessive schedule
pressure and budget overruns The end result final feature-set is often
not what you set out to do Projects are often out of control and/or
cancelled
![Page 4: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/4.jpg)
7
4
ExamplesExamples
Denver International Airport: Late changes to baggage handling software by
planners cost the software team $20M Meanwhile, DIA lost $1.1M per day due to the late
delivery of luggage handling software
Boeing 777 (Pehrson, 1996): Unprecedented software challenge for aircraft
control systems… 2.5 MLOC new + 1.5 MLOC off-the-shelf, 79 systems6X largest previous project Boeing
Delivered ON-TIME in 18 months
![Page 5: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/5.jpg)
7
5
Examples – Lessons Learned Examples – Lessons Learned (DIA Baggage System)(DIA Baggage System)
"There are a few lessons that large companies just don't seem to learn."
"The first lesson is that the best way to build a large, complex system is to evolve it from a small evolve it from a small system that workssystem that works. No one bothered to get a small system up and running in the first place -- they went for the big bang."
Bruce Webster, principal of Webster & Associates LLC, a Washington-based consulting company that works with companies on troubled IT projects
![Page 6: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/6.jpg)
7
6
Examples – Lessons Learned Examples – Lessons Learned (Boeing 777)(Boeing 777)
Specification Control Drawings “SCDs were developed for each of the systems on the 777. They ranged in
size from approximately 100 pages for the simplest systems to over 10,000 pages for the most complex. The SCD is the primary means for primary means for Boeing system designers to communicate the requirements to the Boeing system designers to communicate the requirements to the supplier of the systemsupplier of the system. It formed the basis of an ongoing dialog between system designer and developer and between the designers of the various systems. ChangesChanges to the SCD were subject to rigorous change board to the SCD were subject to rigorous change board review and approvalreview and approval. The reviews assured that all aspects of a change were addressed, and the effects of the change were reflected in all the affected systems. These reviews also controlled the amount of change, assuring that only necessary changes were madeonly necessary changes were made to the systems. Control Control of changesof changes was increasingly important as development progressed was increasingly important as development progressed and the effects of changes could increasingly jeopardize the schedule. This led the BCAG to apply increasingly stringent criteria on acceptability of changes. The importance of controlling change cannot be The importance of controlling change cannot be overemphasized.overemphasized. ”
Software Development for the Boeing 777Ron J. Pehrson, The Boeing Company (emphasis added)
![Page 7: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/7.jpg)
7
7
Feature-Set ControlFeature-Set Control
Three general types/phases: Early-project control – defining a feature-
set that is consistent with your project’s schedule and budget objectives/constraintsschedule and budget objectives/constraints
Mid-project control – controlling creeping creeping requirementsrequirements
Late-project control – cutting/trimming cutting/trimming featuresfeatures to meet your schedule and budget goals
![Page 8: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/8.jpg)
7
8
Early Project ControlEarly Project Control
Goal: Narrow the scope of the project Reduce the feature-set Eliminate unnecessary features Ensure baseline requirements are achievableachievable
with project budget and scheduleApproach
Minimal specification Requirements scrubbing (BP 32,McConnell) Versioned development
![Page 9: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/9.jpg)
7
9
Minimal SpecificationMinimal Specification
Goal: specify the minimal amountminimal amount of information needed to meaningfully meaningfully describedescribe a product
Wait a minute! Wait a minute! Doesn’t this seem wrong… Doesn’t “more = better” when it comes to specifying requirements?
Not necessarily…
![Page 10: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/10.jpg)
7
10
Minimal SpecificationsMinimal SpecificationsWhat’s wrong with traditional (excessively
long-winded) requirements specifications? Wasted effortWasted effort – specifying a level of details that is
not important to the customer ObsolescenceObsolescence – changes as a project progresses can
obsolete large parts of a detailed SRD. Document management overhead grows out of control.
Lack of efficacyLack of efficacy – satisfying the details of a specification to the letter does not guarantee success
Overly constrained designOverly constrained design – over-specifying requirements may sub-optimize the approach taken (taking away developer discretion)
![Page 11: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/11.jpg)
7
11
Benefits of Minimal Requirements Benefits of Minimal Requirements SpecificationSpecification
Improved morale and motivationImproved morale and motivation – giving the benefit of the doubt to the developers
Less wasted effortLess wasted effort – decreases unnecessary work on product and on maintaining specification
Shorter requirements phaseShorter requirements phase – less (often useless) work on the front end
![Page 12: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/12.jpg)
7
12
Risks of Minimal Requirements Risks of Minimal Requirements SpecificationSpecification
Omission of key requirements – the bet: time wasted on specifying detail outweighs time wasted on recovering from something you missed.
Unclear or impossible goals – if goals aren’t clearly agreed and documented, developers will not know how to resolve ambiguities
Gold-plating – if given flexibility to do so, developers may add their own “improvements” at the (often invisible) cost of schedule/budget
![Page 13: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/13.jpg)
7
13
Risks of Minimal Requirements Risks of Minimal Requirements SpecificationSpecification
Lack of support for parallel activities – detailed specs may help reduce time/effort spent in other phases, or accelerate the start of later phases
Increased developer attachment to specific feature – developer flexibility may breed unhealthy sense of ownership
Use of minimal specification for the wrong reason – using minimal specification to avoid doing necessary work will, inevitably, result in a lot of extra work/rework
![Page 14: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/14.jpg)
7
14
Keys to Successful Use of Minimal Keys to Successful Use of Minimal Requirements SpecificationRequirements Specification
Only use for requirements that are flexible Leave further specification to the developers
(with customer agreement) wherever possible Capture important requirements… everything
the customer cares about Use flexible development approaches that allow
mistakes to be quickly corrected Involve key users… communicate! Where possible, use graphical or visual
documentation to communicate and document requirements with customer (“a picture tells a…”)
![Page 15: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/15.jpg)
7
15
Requirements ScrubbingRequirements Scrubbing
Goal: remove unnecessary, unachievable, high risk requirements before you waste effort on them
Approach: go over the requirements specification with a fine-tooth comb during finalization of requirements phase EliminateEliminate ALL requirements that are not absolutely
necessary SimplifySimplify ALL requirements that are more complex
than necessary SubstituteSubstitute Simpler-Cheaper-Faster wherever the
option exists
![Page 16: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/16.jpg)
7
16
Versioned DevelopmentVersioned Development
Use evolutionary or phased deliveryevolutionary or phased delivery, whenever possible
Develop the requirements and plan for “the whole enchilada”… but deliver it in stagesdeliver it in stages (versions)
Delineate release planrelease plan, as clearly as possible, in the initial requirements specification
Requirements for later deliverables are likely likely to changeto change based on deployment and customer use Saving you the wasted effort of implementing these
things in “Version 1”
![Page 17: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/17.jpg)
7
17
Mid-Project Feature CreepMid-Project Feature Creep
Goal: eliminate requirement changes after the requirements analysis phase
Fact: no matter how good your requirements specification (minimal, scrubbed, versioned delivery, frozen, etc.), it will come under pressure to change
Approach: Implement an effective change control process
![Page 18: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/18.jpg)
7
18
Feature Creep Control: A Starting Feature Creep Control: A Starting Point!Point!
NO!NO!
(What part of this don’t you understand?)
![Page 19: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/19.jpg)
7
19
Sources of ChangeSources of ChangeEnd-usersEnd-users: driven by the “need” for
additional or different functionality, or unclear/impossible goals
MarketersMarketers: driven by the fact that markets and customer perspectives on requirements change (“killer-app” or “latest and greatest” syndromes)
DevelopersDevelopers: driven by emotional/ intellectual desire to build the “best” widget
![Page 20: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/20.jpg)
7
20
Effects of ChangeEffects of Change
Impact in every phase of developmentevery phase of development: design, code, test, documentation, support, training, people, planning, tracking, etc.
Visible effectsVisible effects: schedule, budget, product quality
Hidden effectsHidden effects: morale, pay, promotion, etc.Costs are typically 50 -200* times less if
changes are made during requirements phase, than if you discover them during implementation
* Boehm and Pappico, 1988
![Page 21: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/21.jpg)
7
21
When Change is NecessaryWhen Change is Necessary
Customers don’t knowdon’t know what they wantYou need to be responsiveresponsive to the
customerThe marketmarket is changing rapidlyYou want to give latitude (flexibility) to
the developersdevelopers
![Page 22: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/22.jpg)
7
22
Change ControlChange ControlGoals:
Allow change that results in the best best possible product in the time availablepossible product in the time available. Disallow all other changes
Allow everyone affected by a proposed change to participateparticipate in assessing the impact
Broadly communicatecommunicate proposed changes and their impact
Provide an audit trailaudit trail for all decisions (i.e., document them well)
A process to accomplish the above as efficientlyefficiently as possible
![Page 23: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/23.jpg)
7
23
Change Control: The GoalChange Control: The Goal
Maybe!Maybe!
(Yes - if it’s the rightright thing to do.)
![Page 24: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/24.jpg)
7
24
Methods of Change ControlMethods of Change Control
Customer-oriented requirementsCustomer-oriented requirements practices, when they will work Throwaway prototyping: get early feedback
from customer on user-visible features Joint Application Development (JAD)
practices: bring the users into the development process as active participants
![Page 25: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/25.jpg)
7
25
Methods of Change ControlMethods of Change ControlChange AnalysisChange Analysis to screen out frivolous
change Implement a procedureprocedure for change
requests that requires analysis Make it hardMake it hard (i.e., require thought and
time) to submit a change requestWritten requestBusiness case analysisSample of user-visible changes and impact
analysis Specify, up front, a minimum schedule minimum schedule
impactimpact for any change request in the later stages of a project
![Page 26: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/26.jpg)
7
26
Methods of Change ControlMethods of Change Control
“Version 2” Instead of “no,” say “yes” for a follow-on follow-on
releaserelease Create a list of future requirementslist of future requirements Establish a multi-release technology plantechnology plan
that identifies future versions of the product
![Page 27: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/27.jpg)
7
27
Methods of Change ControlMethods of Change Control
Short Release Cycles Evolutionary development, evolutionary
prototyping, staged delivery on a short cycle
Builds user confidenceuser confidence Enables real user feedbackuser feedback for follow-on
product requirements
![Page 28: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/28.jpg)
7
28
Methods of Change ControlMethods of Change Control
Change Control Board Structure: representatives from all
stakeholdersstakeholders, with ownershipownership of critical process steps clearly identified
Change Analysis: process to rationally analyze schedule, cost and feature set trade-offs… from the perspective of each affected organization
Triage: categorizecategorize change requests as, e.g., critical, needed, wanted, and nice to haveSome things must be done, others won’t be done
![Page 29: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/29.jpg)
7
29
Methods of Change ControlMethods of Change Control
Change Control Board (cont’d) Bundling: handle multiple small changes as
bundles, where possible E.g., “user interface color changes,” or “error
message readability improvements”
Bureaucracy: must deal with the fact that change control is an unpopular jobResponsibility – produce the best possible
product in the time availableDon’t rubber stamp, and don’t just say “no”
![Page 30: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/30.jpg)
7
30
Late Project Feature CutsLate Project Feature CutsGoal: Eliminate features in an effort
save the project’s schedule/budgetsave the project’s schedule/budgetFact: Project may (will?) fall behind for
many reasons other than feature-set control
Fact: Removing features too late incurs additional costs and schedule impactadditional costs and schedule impact
Approach: analyzeanalyze the cost of removal and reusability, then strip out unused code, remove documentation, eliminate test cases, etc.
![Page 31: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/31.jpg)
7
31
Late Project Feature CutsLate Project Feature CutsKey to successful late feature cuts:
Involve everyoneeveryone
![Page 32: CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:](https://reader035.vdocument.in/reader035/viewer/2022062407/56649f445503460f94c65239/html5/thumbnails/32.jpg)
7
32
Managing Change EffectivelyManaging Change Effectively(C.S. 14-1)(C.S. 14-1)
What was source of the change to Square-Calc 4.0?
What phase was the project in?What are the characteristics of the
change management process?What was the impact of the proposed
change?What was the outcome?