4 Pages

Chapter 14

Course: CIS 410, Fall 2009
School: Alaska Anch
Rating:
 
 
 
 
 

Word Count: 1965

Document Preview

14--Feature-Set Chapter Control There are three general kinds of feature-set control: 1. Early-project control of defining a feature set that is consistent with your project's schedule and budget objectives. 2. Mid-project control of controlling creeping requirements. 3. Late-project control of trimming features to meet a schedule or cost goal. 14.1 Early Project: Feature-Set Reduction Feature-set control in the...

Register Now

Unformatted Document Excerpt

Coursehero >> Alaska >> Alaska Anch >> CIS 410

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
14--Feature-Set Chapter Control There are three general kinds of feature-set control: 1. Early-project control of defining a feature set that is consistent with your project's schedule and budget objectives. 2. Mid-project control of controlling creeping requirements. 3. Late-project control of trimming features to meet a schedule or cost goal. 14.1 Early Project: Feature-Set Reduction Feature-set control in the early part of a project consists primarily of not putting unnecessary features into the product in the first place. The first commandment of rapid development is to "narrow your scope". There are three ways to do this: 1. Minimal specification 2. Requirements scrubbing 3. Versioned development 1. Minimal Specification A. Advantages of traditional specification approaches The attempt to create a detailed requirements specification catches more of the requirements than a less detailed one would, avoids the time and cost problems associated with adding requirements late in the project. It provides a thorough basis for planning and tracking the project. And it provides developers with a secure foundation upon which to base their design and code. B. Problems with traditional specification approaches a) Wasted specification effort. You can spend time specifying in enormous detail the characteristics of the system that the users don't even care about. Analysts sometimes force users to make decisions about button sizes and placement of dialog boxes...and other aspects of a system that both the users and the developers would be just as happy to leave to the developers' discretion. b) Obsolescence. Changes mid-way through a project can quickly render a requirements document obsolete. c) Lack of efficacy. The net effect of specifying a system in enormous detail is often insufficient to guarantee the success of the system. The system can satisfy the letter of the specification and still not be satisfactory. d) Overly constrained design. Over-specifying the software can force design and implementation approaches that waste them. If it makes sense to leave details to the developer's discretion, you should do so. Relaxing requirements by a small amount can make a large difference in implementation time if the change allows for better tool support. The goal is not to build exactly what you said you would at the beginning. It is to build the best possible software within the available time. C. Creating a minimal specification. Minimal specification consists of the minimal amount of information needed to meaningfully specify the product. It could consist of any of the following elements: a) A short paper spec. This is a text description of the software you want to build, which should be 10 pages or less. b) Point of departure spec. A one-shot approximation spec which is not intended to be maintained after it is initially written. Its primary purpose is to align the development group, customers, and end-users on a common vision of the product. c) User manual as spec. Write a user manual and require the software to conform to the manual. d) User-interface prototype. Can either serve as a de facto spec or it can supplement a written spec. e) Paper storyboards. Sometimes it's quicker and easier to draw reports, screens, and other user interface elements on flip charts and to design the product that way. f) Vision statements. Describe what to put in and what to leave out of the product. The natural tendency is to try to make a product be all things to all people, and a good vision statement draws the line by stating what a product is not. g) Product theme. For example, a theme might be to make the product flashy. You can create one of these minimal specifications in any of several ways. You can use a traditional one-on-one interview approach, keeping the amount of detail to a minimum. You can hold standard Joint Application Development (JAD) sessions and capture the outcome of the JAD session in a minimal-spec format. Or you can split the difference by holding on-site meetings to define the software product--live prototypes and paper storyboards can be valuable discussion aids in such meetings. Success in using minimal specification requires considerable flexibility in requirements. D. Benefits of minimal specifications. a) Improved morale and motivation. Developers do much of the specification themselves, so it becomes their product and they will do whatever is needed to make their product a success. b) Opportunistic efficiency. Developers are freer to design and implement the software in the most expeditious way possible. c) Less wasted effort. Minimal specification avoids wasted effort associated with traditional specification efforts. d) Shorter requirement phase. E. Risks of minimal specification. a) Omission of key requirement. b) Unclear or impossible goals. Crystal-clear goals are essential to the success of a minimal-spec approach. The approach works because it allows developers to use ambiguities in the specs to their advantage. Goals tell them in which direction to resolve those ambiguities. c) Gold-plating. d) Lack of support for parallel activities. One of the strengths of a traditional specification is that it provides superb support for parallel work. If the spec is done well, technical writers can create user documentation directly from the spec, and they can start writing as soon as the spec is complete. For minimal specification to work, you have to set a milestone early in the project at which time visible changes to the product stop. You need to set that point often called "visual freeze," early enough that documentation and testing don't become critical-path activities. e) Increased developer attachment to specific features. f) Use of minimal specification for the wrong reason. Don't use a minimal specification to reduce time on the requirements-specification activity itself. If you use this practice as a lazy substitute for doing a good job of requirements specification, you'll end up with a lot of rework. F. Keys to success in using minimal specifications. a) Use a minimal specification only when requirements are flexible. b) Keep the spec to a minimum. c) Capture the important requirements. You must be careful to capture all the requirements the users care about, but you should try not to capture requirements the that users don't care about. d) Use flexible development approaches. Use development approaches that allow mistakes to be corrected. e) Involve key users. f) Focus on graphically oriented documentation. Graphics in the form of diagrams, sample outputs, and live prototypes tend to be easier to create than written specifications and more meaningful to users. 2. Requirements Scrubbing After you create a product specification, go over the specification with a fine-tooth comb and with the following aims. a) Eliminate all requirements that are not absolutely necessary. b) Simplify all requirements that are more complicated than necessary. c) Substitute cheaper options for all requirements that have cheaper options. 3. Versioned Development You can plan out a set of requirements for a robust, complete, ideal project but then implement the project in pieces. Put in any hooks you'll nee to support the later pieces, but don't implement the pieces themselves. 14.2 Mid-Project: Feature-Creep Control A typical project experiences about 25-percent change in requirements during development. 1. Sources of change 1) Killer-app syndrome. 2) Unclear or impossible goals. If developers can't meet the project's goals, they will meet their own goals instead, and you will lose much of your influence over the project's outcome. The devil really is in the details, and implementation time can vary tremendously based on how developers interpret seemingly trivial details. No specification can hope to cover every one of these trivial details. 2. Effects of Change People are far too casual about the effect that late changes in a project have. They underestimate the ripple effects that changes have on the project's design, code, testing, documentation, customer support, training, configuration management, personnel assignments, management and staff communications, planning and tracking, and ultimately on the schedule, budget, and product quality. When all these factors are considered, changes typically cost anywhere from 50 to 200 times less if you make them at requirements time than if you wait until construction or maintenance. Several studies have found that feature creep is the most common source of cost and schedule overruns. It is hardly ever possible to achieve high productivity unless you control changes. 3. Wisdom of Stopping Changes Altogether Here are some circumstances in which it is unwise to try to stop changes altogether. 1) When your customers don't know what they want. You can use the various incremental development practices to respond to this need. 2) When you want to be responsive to your customer. 3) When the market is changing rapidly. 4) When you want to give latitude to the developers. 5) Stable or not stable requirements? If your requirements are stable, you develop one way. If not, you develop another way. You can take certain steps to compensate for unstable requirements, and you must take those steps if you want to develop rapidly. 4. Methods of Change Control Because stopping changes altogether is rarely in a project's best interest, the question for most projects turns to how to manage change most effectively. Any change-management plan should aim for several goals: 1) Allow changes that help to produce the best possible product in the time available. Disallow all other changes. 2) Allow all parties that would be affected by a proposed change to assess the schedule, resource, and product impacts of the change. 3) Notify parties on the periphery of the project of each propose change, its assessed impact, and whether it was accepted or rejected. 4) Provide an audit trail of decisions related to the product content. The change process should be structured to perform these jobs as efficiently as possible. Here are some options for accomplis...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Alaska Anch - CIS - 410
Chapter 14-Feature-Set Control 1. Which of the following is not a way to narrow your scope? Minimal specification Requirements scrubbing Versioned development JAD sessions All of the above will narrow your scope 2. Which of the following in not a pro
Alaska Anch - CIS - 410
Chapter 15-Productivity Tools Adopting a new tool can be one of the quickest ways to improve productivity. But it can also be one of the riskiest. The most productive organizations have found ways to minimize the risks and maximize the productivity g
Alaska Anch - CIS - 410
Chapter 15-Productivity Tools 1. Adopting a new productivity tool can be one of the riskiest ways to improve productivity. 2. The most productive organizations have found ways to minimize the risks and maximize the productivity gains. Their strategy
Arizona - MELOSH - 554
Arizona - MELOSH - 554
Meteoroid Impact and Planetary EvolutionH. J. Melosh Lunar and Planetary Lab University of Arizona Tucson, AZ 85721 USAThe study of impact craters has a welldefined beginning: 1610Galileo's small telescope and limited field of view did not permi
Arizona - MELOSH - 554
Huygens DISR images of TitanCassini Mosaic of Enceladus' South PoleThe Grand TourA quick overview of the rocky planets and moons, sorted by sizeToutatis, 2.5 x 4 km. Slow rotatorGaspra, 4.5 x 9.1 kmIda (24 x 56 km) and Dactyl (about 3 km)
Arizona - MELOSH - 554
Planetary TectonicsPtyS 554, Spring 2009E. M. Anderson's 1951 theory relates stress and fault type, assuming that faults are shear fracturesThe most ancient structures on the moon are outlined by "lineaments"-usually polygonal crater walls. Call
Arizona - MELOSH - 554
Cover design by Leslie Bleamaster, Planetary Science Institute. Planetary images include hemispheric views and mosaics from top to bottom: Titan (PIA07774 NASA/JPL/Space Science Institute, Blue Green Red spectral filters) Venus - PIA00104 NASA/JPL-Ca
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: description.dvi %Pages: 23 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o description.ps des
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: standards.dvi %Pages: 2 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips standards.dvi %DVIPSPara
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: /home/tigger4/dm312/ears/previous-work/previous-work.dvi %Pages: 3 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPS
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: /home/tigger4/dm312/ears/lexicon/lexicon.dvi %Pages: 2 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine:
UCSC - PSY - 140
Kettcar - Nacht Die Stufen, die Haustr, der Flur Mein Herz schlgt im Dunkeln Und ich Lass hinter mir Die letzten paar Meter gerannt Gerannt, um zu sehen wo du bist Gerannt, um zu fhlen wie es ist Hier bei dir Meine Welt aufgehoben und ich Kann die We
Neumont - ORCO - 6304
Nom: Date de naissance: Adresse : Ville: Code Postal : ge : Tlphone: Courriel: Tlc. :1. Contexte scolaireNiveau atteint : Matires prfres / moins aimes: Auto-valuation des aptitudes scolaires: Aspiration scolaires: valuation globale de l'cole: (aim
Neumont - ORCO - 6304
Rapport Psychomtrique ConfidentielPrsent par XXXXXXXXXXXXXXPrsent monsieur Robert Baudouin, PhD Dans le cadre du cours OR6304 Testing en orientationFacult des sciences de l'ducation Universit de Moncton Le XXXXXXXXXRapport psychomtrique conf
Neumont - ORCO - 6304
Raliste (construire, rparer, et travailler au dehors) Intrts: Les machines, outils, dehors. Activits au travail: Conduire des machines, utiliser des outils, construire, rparer. Habilits possibles: Dextrit et savoir-faire mcanique, coordination physiq
East Los Angeles College - HL - 251
It is well known that the performance of automatic speech recognitiondegrades in noisy conditions. To address this, typically the noise isremoved from the features or the models are compensated for the noisecondition. The former is usually quite
East Los Angeles College - HL - 251
Uncertainty Decoding for Noise Robust Speech RecognitionHank LiaoSidney Sussex College University of CambridgeSeptember 2007This dissertation is submitted for the degree of Doctor of Philosophy to the University of Cambridge.DeclarationThis
Rochester - RENDITION - 38553
Standards and Style GuidelinesPage Editors' ChecklistAccessible Navigation The tab and arrow keys cycle through ALL the links and form elements. (details) The tab order is logical? (details) CF_LINK is used in place of A HREF tags when linking to
Maryville MO - YOONH - 050906
Public AbstractFirst Name: Ho-Jin Last Name: Yoon Degree: Master Department: Journalism Adviser's First Name: Wayne Adviser's Last Name: Wanta Co-Adviser's First Name: Co-Adviser's Last Name: Graduation Term: Winter Graduation Year: 2006 Title: A St
Maryville MO - ROTHIAN - 042806
REAL-TIME VISUALIZATION OF MASSIVE IMAGERY AND VOLUMETRIC DATASETS Ian Joseph Roth Dr. K. Palaniappan, Thesis Advisor ABSTRACTThe visualization of extremely large multi-dimensional datasets requires highly scalable geometric algorithms. We consider
Rochester - CSC - 257
Computer Networks11/22/2004Quality-of-Service Support on the InternetQuality of Service SupportSome Internet applications (i.e. multimedia) demand QoS guarantees in terms of delay, bandwidth, . Thus far: applying application-level end-to-end t
Rochester - CSC - 257
Computer Networks12/8/2004Final ReviewTCPreliable data transfer:guaranteed arrival, no error, in order a sliding window protocol (combination of selective repeat and go-back-N) when is a re-transmission triggered?flow controlled:CS 257/45
Rochester - CSC - 257
Computer Networks10/11/2004Principles of Reliable Data TransferOutline:Overview of reliable data transfer a correct protocolstop-and-waitReliable Data TransferOur goal: end-to-end solution to achieve reliable data transfer What is reliable
Rochester - CSC - 257
Computer Networks9/13/2004Link Layer Multiple Access ProtocolsAssignment #1 Multi-threaded Web Proxy ServerWeb proxy serverdelivering Web content on behalf of a remote Web serverWhy Web proxy server?monitor or restrict employees' Web surf
Rochester - CSC - 257
Computer Networks12/1/2004Network Security in PracticeRecap: Principles of Network SecurityCryptography:symmetric keys: weakness? protocols? public keys: weakness? protocols?Confidentiality: only sender, intended receiver should "understand
Rochester - CSC - 257
Computer Networks10/13/2004Connection-oriented Transport: TCPOutline:segment structure reliable data transfer flow control connection managementPrinciples on Reliable Data TransferEnd-to-end solution to achieve reliable data transferguarant
Rochester - CSC - 257
Computer Networks10/6/2004Review on the Last ClassTransport Layer OverviewIPv6Motivations for a new Internet protocol? Co-existence of incompatible network protocols.Internet multicastKai Shen Dept. of Computer Science, University of Roc
Rochester - CSC - 257
Computer Networks10/27/2004Network Applications and Application-layer ProtocolsApplication-layer ProtocolsNetwork applications:running in end systems (hosts) distributed, communicating using network e.g., e-mail, Web, FTP, instant messaging
Rochester - CSC - 257
Computer Networks9/29/2004IP Addressing: IntroductionThe Internet ProtocolIP address:32-bit identifier for each host, router interface223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.9 223.1.2.2223.1.3.27interface: connecting
Rochester - CSC - 257
Computer Networks10/20/2004Principles of Congestion ControlCongestion ControlOutline:principles of congestion control congestion control in TCP impact of congestion control on fairness impact of congestion control on TCP efficiencyCongestio