Software project planning involves developing estimates for the work to be performed, establishing the necessary commitments, and defining the plan to perform the work. The software planning begins with a statement of the work to be performed and other constraints and goals that define and bound the software project (those established by the practices of the Requirements Management key process area). The software planning process includes steps to estimate the size of the software work products and the resources needed, produce a schedule, identify and assess software risks, and negotiate commitments.
KPA-Level Questions
Would you please describe how you plan for software development on your project?
Listen Fors:
Estimates for size, cost, and schedule are derived from allocated requirements and are consistent with each other.
A software development plan is documented, approved, and controlled.
Affected groups commit to documented schedules and milestones.
Follow-Up Questions:
How do allocated requirements play a role in your software planning activities?
Could you describe how your software planning activities better prepare you for tracking progress of the work?
Goal Satisfaction:
How realistic are the software plans for developing your project’s software?
Goal-Level Questions
Goal 1: Would you please describe how you derive your software project’s estimates?
Listen Fors:
Size, effort, cost, schedule, and critical computer resource estimates are documented, reviewed, agreed to, and controlled.
Estimates are based on historical information where available.
Estimates and their assumptions are recorded for tracking purposes.
Look Fors:
Documented procedures for deriving estimates.
Follow-Up Questions:
What does your project do to ensure the software engineers that develop estimates are adequately trained?
Goal Satisfaction:
Do the practices you just described ensure that you have realistic and usable estimates with which to plan and track your project’s software activities?
Goal 2: Would you please describe how you plan software activities for your project?
Listen Fors:
The project is managed using a software life-cycle model with manageably sized stages.
The software development plan is documented, reviewed, and agreed to by all affected groups and is controlled.
The software development plan is based on customer standards, allocated requirements, approved SOW, and project standards.
Software technical, cost, resource, and schedule risks are identified, assessed, and documented for tracking purposes.
Look Fors:
Software development plan.
Documented procedure for developing the project’s software development plan.
Follow-Up Questions:
What is SQA’s involvement in your project’s planning activities?
How does your project deal with late requirements?
Goal Satisfaction:
Do these activities ensure that your project has a development plan that is suitable/feasible for the software work that is to be accomplished?
Goal 3: Would you please describe how you obtain agreements with planned commitments on your project?
Listen Fors:
Project groups participate in planning activities for which they are responsible.
Project groups may negotiate their commitments before they are agreed to.
Commitments are formally documented for tracking purposes.
Software technical, cost, resource, and schedule risks are identified, assessed, and documented for tracking purposes.
Look Fors:
Sample documented agreements between project groups.
Documented procedure for senior management’s review of external commitments.
Follow-Up Questions:
What is SQA’s involvement in your project’s commitment process?
Can you please describe an example of when you have had to assist in negotiating a commitment?
Goal Satisfaction:
Do these activities ensure that your project has commitments that are mutually agreed to by all affected groups and individuals?