Test 5 - Management Planning

CS 325, Software Engineering Concepts, Spring 2000


Explanations should take around 50 words. Some slack will be given to explanations with more words (however, don't press your luck too many times on this); explanations a page or more long will lose five points.

  1. Suppose a customer comes to your shop and says "Here's $100,000 - build me an automated security system for my warehouse." Explain whether it still necessary to do cost estimation when preparing the management plan for the project.


    Yes it is, for at least three reasons. First, it necessary to see if the project can be carried out at a cost of at most $100,000. Second, if the project seems feasible for the given amount, the development phases have to be scaled to fit the overall budget. Third, each phase's allotment of the overall budget has to be distributed among its components, such as staffing, overhead, and so on.

    The most common reason for losing points on this question was to inadequately justify why cost estimates were still important. Also, nobody pointed out that this question was confusing cost estimates, which are usually measured in person-months, and dollar-cost estimates.


  2. Explain how average staff estimates come about. Explain what is wrong with average staff estimates, and how can these problems be fixed.


    Given the project cost estimates and duration (or schedule) estimates, the average staff estimates are derived by dividing cost estimates by the duration estimates.

    Average staff estimates have at least three problems. First, they may not be detailed enough with respect to individual phases; this can be fixed by using phase cost and duration estimates to derive staff estimates. Second, they treat each phase as independent of the others, which underestimates the cost of communication and coordination among phases; using a more sophisticated estimator, such as the Rayleigh curve, helps with this problem. Third, the average estimates don't take into account special staffing requirements of the project, or the special abilities of the staff; these can be fixed when drawing up the staffing plan.

    This question was a bit harder than the previous one; the largest loss of points was due to not explaining how average estimates were derived.


  3. Given the existence of an explicit testing phase in a software development process, explain if is it necessary to work up a software quality assurance plan for the whole process.


    Yes, it's still necessary. The software (or system) quality assurance (SQA) plan establishes the objectives for system validation and verification in terms of the quality characteristics that are important (for example, up-time reliability or performance) and the techniques used to measure the system's quality characteristics (for example, by testing or by inspections). It is the SQA plan that sets the overall objectives for the testing phase, as well as the details of the phase for meeting those objectives.

    In addition, testing should not be the only place in the software development process where validation and verification is done. To insure quality objectives are met without undue cost, SQA should be carried out all along the development process, and it's the SQA plan that sets up such a schedule.

    Most people got this one right, although nobody pointed out that SQA determines what goes into the testing phase.


  4. Explain the difference between time sheets and the earned-value method.


    Time sheets collect data on how individuals working on a project are spending their time. By itself, raw time-sheet data aren't helpful; they need to be massaged into a form that integrates the data into the more global management plans.

    The earned value method is one of those more global management plans. The earned value method compares a Gantt chart describing expected project progress against the actual progress as determined by time-sheet data. The effort used to achieve each milestone is compared against the expected effort as indicated by the Gantt chart, and the difference (either positive or negative) is used to determine the state of the project.

    This one was the killer, with most people tripping over the earned value method.



This page last modified on 25 April 2000.