Many of the subtasks conducted as part of this task are described in detail in umbrella activity, Task U.1, software project management. See Umbrella Task U.1 for details.
U.1.2 Select the software engineering task set.
See Umbrella Task U.1 for details.
I.2.1 Make a rough estimate of work effort, duration, and other resources
Intent: The intent of this task is to develop a preliminary estimate of project effort and duration as well as other resources that must be applied to accomplish project goals. In addition, the number of iterations around the spiral is projected.
Adapting from earlier work: Much of the estimating work performed in Task I.1.5 can be used to shorten or eliminate this activity. It should be noted however, that I.1.5 was a "ball park" estimate. The estimates implied by this task are a bit more formal.
Mechanics: This task can be accomplished in a number of different ways:
1. The effort and duration expended on similar past projects can be used as a guideline.
2. A task decomposition (using the task set selected in Task U.1.2) can be performed.
3. A size or function estimate can be performed.
4. A CASE tool for project estimation can be used.
The approach to be taken will be dictated by the adaptation criteria established for your project.
Application of Formal Methods: Projects that fall into the disciplined or rigorous project categories may opt to use one or more of the following methods:
1. A task decomposition can be performed.
2. A size or function estimate can be performed.
3. A CASE tool for project estimation can be used.
Application of CASE Tools: t.b.d.
Do's & Don'ts
Do: Use information discerned from earlier tasks to help make your estimate.
Do: Use historical project data to help in your estimate.
Don't: Assume that your initial estimate will be within 1 or 2 percent of actual. Even the best estimates are +/- 20%.
Helpful Hints
1. The task set selected in TaskU.1.2 can be used to do a standard engineering effort estimate. The effort associated with each software engineering task in the task set (as well as all umbrella activities) can be estimated and the sum of all effort provides the overall estimate.
2. Use the results of Task I.1 and perform a functional decomposition for the project. The effort required to implement each function can then be estimated.
3. Use the results of Task I.1 to determine the number of function points to be built. Using historical data, the average effort required to implement each function point is known and the overall effort to complete the project can then be estimated.
4. Use the results of Task I.1 to determine the number of lines of code (LOC) to be built. Using historical data, the average effort required to implement each LOC is known and the overall effort to complete the project can then be estimated.
5. Consider the need for "other resources" that include specialize computers or peripheral equipment, specialized test rigs, special technical expertise that cannot be drawn from project staff.
Deliverables:
1. Preliminary estimates of effort, duration and other resources
2. Projected number of iterations to produce concept deliverables
I.2.2 Lay out a preliminary development schedule.
Intent: The intent of this task is to develop a preliminary schedule that indicates task sequence and interdependencies. Project milestones and effort assigned to each task should also be specified at this time.
Mechanics: The task set selected in Task U.1.2 is used as the basis for creating a task outline or network that is essential for scheduling. Scheduling is best accomplished using a PC-based project scheduling tool. Using the tool, staff members (by name) are assigned to each task, the human effort (e.g., person-weeks applied), and start and end dates are specified. The tools then creates a timeline (Gantt) chart as well as other scheduling information.
Application of Formal Methods: Critical path method (CPM) scheduling is the approach used by most scheduling tools.
Application of CASE Tools: t.b.d
Do's & Don'ts
Do: Use information discerned from earlier tasks to define project tasks and identify interdependencies.
Don't: Assume that any resource will be available 100 percent of the time.
Helpful Hints
1. The task set selected in Task I.2.2 can be used to do a standard engineering effort estimate. The effort associated with each software engineering task in the task set (as well as all umbrella activities) can be estimated and the sum of all effort provides the overall estimate.
2. Use the results of Task I.1.2 to do a functional decomposition for the project. The effort required to implement each function can then be estimated.
4. Allocate the total effort estimated in Task I.2.3 across all tasks defined in the project schedule.
5. Consider the need for "other resources" that include specialize computers or peripheral equipment, specialized test rigs, special technical expertise that cannot be drawn from project staff.
Deliverables: Preliminary concept development project schedule
I.2.3 Evaluate results of Tasks I.2.1 &emdash; I.2.2 to determine overall readiness.
Intent: The intent of this task is to review all work conducted in Tasks I.1 and Tasks I.2.1 &emdash; I.2.2 to determine the organization's readiness to proceed. Among the questions that are answered during this task are the following:
Will resources be available?
Is there management support?
Are there potential customers?
Mechanics: A management review for all deliverables produced to date is conducted.
Application of Formal Methods: none
Application of CASE Tools: t.b.d.
Do's & Don'ts
Do: Recognize that there is inherent risk in concept development. The issue should be concern about the failure of the concept; rather, the team's ability to thoroughly evaluate the concept.
Do: Plan for iteration.
Don't: Overplan this type of project. It is, by its nature somewhat experimental. A certain amount of flexibility is to be encouraged.
Helpful Hints
The first question to answer is whether the concept to be proven emphasizes new technology or a new business thrust. If new technology is to be proven, be sure that technical staff has access to expertise on the technology or has been allocated the time to learn an adequate amount about it. If a new business thrust is at issue, be certain that qualified business experts contribute to the concept development project.
Deliverables:
Use Browser "back" arrow or return to APM Process Design Language Description