23 Development and Quality plans

A project needs development and quality plans that are based on proposal materials that have been re-examined and updated. They are more comprehensive than the approved proposal, especially with respect to schedules, resource estimates and development risk evaluations. They include additional subjects which are absent from the approved proposal. It is prepared at the beginning of the project to sound alerts regarding scheduling difficulties, potential staff shortages, problems with meeting contractual milestones, etc. Scheduling development activities leads to the successful and timely completion of the project, and required manpower resources and budget. Major elements of the development plan are:

  • Project products
  • Project interfaces
  • Project methodology and development tools
  • Software development standards and procedures
  • The mapping of the development process
  • Project milestones
  • Project staff organization
  • Development facilities
  • Development risks
  • Control methods
  • Project cost estimation

In project products Design documents specifying dates of completion, indicating those items to be delivered to the customer. Project interfaces include:

  • Interfaces with existing software packages (software interface)
  • Interfaces with other software and/or hardware development teams that are working on the same system or project.
  • Interfaces with existing hardware (hardware interface).

Project methodology and development tools to be applied at each phase of the project should be identified. When evaluating the suitability of proposed project methodology and development tools, one should also take into account the professional experience of the staff, including the subcontractors’ personnel, even if temporary.

 

Mapping of the development process involves providing detailed definitions of each of the project’s phases. These descriptions include definitions of inputs and outputs, and the specific activities. Activity descriptions include an estimate of the activity’s duration. These estimates are highly dependent on the experience gained in previous projects.

 

The logical sequence in which each activity is to be performed, including a description of each activity’s dependence on previously completed activities will be present. The type of professional resources required and estimates of how much of these resources are necessary for each activity will also be there. Several methods are available for scheduling and graphically presenting the development process:

 

GANTT: Displays the various activities by horizontal bars whose lengths are proportional to the activity duration.

 

CPM & PERT: Enables the calculation of earliest and latest acceptable start times for each activity. The project staff organization consists of:

  • Organizational structure
  • Professional requirements
  • Number of team members
  • Names of team leaders and team members

Organizational structure consists of definition of project teams and their tasks, including teams comprised of a subcontractor’s temporary workers. Professional requirements includes professional certification, experience in a specific programming language or development tool, experience with a specific software product and type, and so forth. Number of team members commence their activities at different times, and that their team size may vary from one period to the next, depending on the planned activities.

 

Required development facilities include hardware, software and hardware development tools, office space, and other items. For each facility, the period required for its use should be indicated on the timetable.

 

A state or property of a development task or environment, which, if ignored, will increase the likelihood of project failure.

 

Typical development risks are:

  • Technological Gaps – Lack of adequate and sufficient professional knowledge.
  • Staff Shortages – Unanticipated shortfalls of professional staff.
  • Interdependence of Organizational Elements – The likelihood that suppliers of specialized hardware or software subcontractors.

In order to control project implementation, the project manager and the department management apply a series of monitoring practices when preparing progress reports and coordinating meetings. Project cost estimates are based on proposal costs estimates, followed by a thorough review of their continued relevance based on updated human resource estimates, contracts negotiated with subcontractors and suppliers.

  • Quality goals
  • Planned review activities
  • Planned software tests
  • Planned acceptance tests for externally developed software
  • Configuration management

Quality goals refers to the developed software system’s substantive quality requirements. Quantitative measures are usually preferred to qualitative measures. They provide the developer with more objective assessments of software. Performance during the development process and system testing.

 

The quality plan should provide a complete listing of all planned review activities: design reviews (DRs) design inspections, code inspections. This includes:

  • The scope of the review activity
  • The type of the review activity
  • The schedule of review activities (as defined by its priority and the succeeding activities of the project process)
  • The specific procedures to be applied
  • Who is responsible for carrying out the review activity?

The quality plan should provide a complete list of planned software tests, with the following designated for each test: The unit, integration or the complete system to be tested. The type of testing activities to be carried out, including specification of computerized software tests to be applied. The planned test schedule (as defined by its priority and the succeeding activities of the project process).

 

A complete list of the acceptance tests planned for externally developed software should be provided within the quality plan. Items to be included are

  • Purchased software
  • Software developed by subcontractors
  • Customer-supplied software.

The acceptance tests for externally developed software should parallel those used for internally developed software tests.

 

The development and quality plan procedures applicable to large projects cannot be applied to small projects. The various cases/situations that commonly occur is:

  • Cases/situations where neither development nor quality plans are required.
  • Cases/situations where the decision to prepare the plans is left to the project leader’s discretion.
  • Cases/situations where development and quality plans are obligatory.
Advantages of planned small projects over unplanned small projects
are:
  1. A more comprehensive and thorough understanding of the task is attained.
  2. Greater responsibility for meeting obligations can be assigned.
  3. Easier for management and customers to share control of the project and to identify unexpected delays early.
  4. Better understandings in terms of requirements and timetable can be reached between the developer and the customer.

Internal projects are intended for use by other departments in the organization or by the entire organization. No external body participates as customer in their development. Internal projects can be of medium or large scale.

 

The various benefits for the internal projects are:

 

Software development departments can enjoy the following advantages of plan preparation:

  1. Avoiding budget overruns. This is of special importance where the profit center system is applied.
  2. Avoiding damage to other projects caused by delays in release of professionals occupied in an internal project.
  3. Avoiding loss of market status, especially regarding the firm’s reputation caused by delayed completion of external projects triggered by late completion of internal projects.

Internal “customers” can enjoy the following advantages:

 

Smaller deviations from planned completion dates and smaller budge to overruns. Better control over the development process, including earlier identification of possible delays that enables the search for and resolution of their causes.

 

The organization can enjoy these advantages:

  1. Reduced risk of market loss (i.e., opportunity window) due to late arrival of the product.
  2. Reduced risk of being sued for late supply of products; hence, reduced penalties for non-compliance with contract demands.
  3. Reduced risk of impairing the firm’s reputation as a reliable software developer.
  4. Reduced risk of requesting a budget supplement.

Summary:

 

Preparation of full-scale development and quality plans are highly beneficial for the implementation of both internal and external projects. Elements of development and quality plan, major software risk items and process of software risk management have been discussed. A project needs thoroughly updated, comprehensive and well prepared development and quality plans that help in addressing problems that deal with estimating resources, scheduling difficulties, meeting contractual milestones etc.