Software Development Plan (SDP)

This is an overview of a outline for a Software Development Plan, also known as a Software Project Management Plan. It is based on an earlier version of IEEE Std 1058. IEEE Std 1058-1998 is a standard for Software Project Management Plans. Since the IEEE holds the copyright and charges for copies, I cannot post a copy on this web site. However, you may find copies on the web if you look. For example, at the time of this writing there was one posted at http://membres.multimania.fr/benoitouellet/IEEE_1058_Project_Management_Plan.pdf. That document is probably better for reference reading than the limited material in your textbook or the outline notes below.

For an example of a completed SPMP, see SDP_For_NISBS.pdf.

1. Introduction

2. Resources and Scheduling

3. Organization and Staffing

4. WBS (Work BreakDown Schedule)

PersonWk1Wk2Wk3
Analysis:
John5 hrs40 hrs30 hrs
Mary3 hrs35 hrs24 hrs
............

5. Technical Management and Control

6. Standards and Procedures

7. Reviews, Audits, and Walkthroughs

Software Reviews

8. Development Environment

What will be the development hardware/software?
This includes mainframes, PC's, mini's, input/output devices, communications devices, database software, operating systems, communications software, and other items of need for development.

"The system will be developed using the IBM 3090 mainframe running AIX, and Dell Pentium microcomputers running Windows NT. The development environment will be the same, except the microcomputers will run Windows 95."


Discussion questions:

Do you know why the above information is needed? Who cares about it? What would be the consequences if this information were missing? Is there any sense in which it could be wrong?

Can you answer the same questions for the other parts of the SDP?

Why do we have and SDP at all? Who is it written for? Will anyone refer to it later? What would happen if we did not produce one?

9. Technical Performance Measurements

What performance measures will be used?

What values are required?

examples:

other measures:

number of simultaneous users, simultaneous number of connections supported, number of terminals supported, number of files, number of open files, database accesses per time unit, size of tables, CPU utilization, I/O channel utilization, memory utilization, software utilization, I/O channel utlization, backup & recovery, amount of data processed per time unit

Some of the above appears to more properly belong to the SRS, since these amount to requirements.

10. Documentation

What documentation is required for technical deliverables, administrative reporting, memos, minutes, meetings, decisions, outstanding issues? e.g.

"Documentation will be retained for all decisions. IEEE standard deliverables of the waterfall model will be used for administratie reports. UML will be used to document all technical deliverables. Minutes will be taken and savef for all meetings. All decisions will be documented, and a list of outstanding issues will be updated every week."

11. Verification and Validation

How will the system be verified and validated, to assure it is the right system and is developed correctly?
The plan needs to spell out how the V&V will be conducted. e.g.

"Deliverables will be verified for conformance with standards use by the QA group.
Deliverables will be validated by the XXX user and the YYY development committees."

12. Maintenance

"Approximately 30 hrs per month of maintenance is expected, approximately one year after turnover. The system will need one Computer Manager, one User Manager, and five Computer Programmers to provide support and maintenance. The maintenance environment will be the same as the development environment."

13. Human Factors

"There are 3000 users in the group who will need training from computer literacy to usage of the system. A culture change management plan will be needed to train the people in the new method of doing business and the computer technology to support this new method."

14. Delivery, Installation, and Acceptance

"The system will be considered delivered when each of the applications is validated by the user group. We will roll out installation by each congressional district. The system will be considered accepted when four districts are installed and when one billing cycle has been completed."