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
- Summary of Contents of SDP Document
e.g., table of contents
- Scope and Purpose of SDP Document
"This document will be used to plan project..."
or "...to get funding..." or "...to write the RFP..."
- System Level Project Description
"This project will..."
- System Description
"This system will..."
2. Resources and Scheduling
- How many people are needed?
"This project will need x# users, y# DP staff, ..."
- What type of people?
"There will be one communications specialist, one data
specialist, one Unix specialist, one capacity manager, etc."
- How long will it take to do this project?
"This project will begin ... and end ... ."
- How long will each person be needed?
"Person A will be needed during the weeks ..."
3. Organization and Staffing
- Who are the people needed?
Expansion of human resource description in 2 above.
- How will the staffing be organized?
"The organizational chart for the project will be as follows: ..."
- How are the users organized?
Corresponding information for the users
- Who pays? Who knows?
"Contractor will pay for travel, meeting rooms, ..."
4. WBS (Work BreakDown Schedule)
- Week by week, who will be needed and when?
- How much time will be devoted?
- How much will this cost?
Person | Wk1 | Wk2 | Wk3 |
Analysis: |
John | 5 hrs | 40 hrs | 30 hrs |
Mary | 3 hrs | 35 hrs | 24 hrs |
... | ... | ... | ... |
5. Technical Management and Control
- How will change management be done?
"Changes to specification will be done by submitting a change report,
approval of change by XYZ committee, and scheduling of change by ..."
- How will risk be managed?
"Risk will be reviewd by the ABC committee each month. Formal risk
reports are due to JKL committee quarterly."
- How will cost be contained?
"Cost reports will be given to the MNO committee each week for
review by thte MMM manager."
- How will issues be resolved?
"All issues will be reviewed at the project management meeting.
Issues that delay development schedules will be resolved by the RST
committee."
6. Standards and Procedures
- What deliverable standard will be used?
"All deliverables will be submitted
using standard UML."
- What development methodology?
"Deliverables will be prepared according to the
Summit methodology."
- What is the delivery procedure?
"Deliverables will be reviewed and approved by
the developers, users, management
committee, steering committee, before final signature by
project manager."
7. Reviews, Audits, and Walkthroughs
- How will deliverables be reviewed?
- Who will perform auditing?
- Who will perform walkthroughs?
- What is the approval process?
Software Reviews
- Design Reviews
design and coding checks, concerned with correctness
"Design reviews will be conducted for good use of design patterns and reuse."
- Management Reviews
project checkpoints, concerned with costs, plans, schedules
"Project checkpoints will be done weekly, for cost control and
schedule deadline control."
- Quality Reviews
technical reviews of quality of deliverable products
standards adherence, documentation
"Technical reviews will be conducted at the end of each phase
for the quality of deliverable products, standards adherence, and
documentation."
- End Product Reviews
outcomes: no action, refer for repair, reconsider overall product
"End product reviews will be conducted informally on demand."
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:
- Availability
"System will be operational > 18hrs per day"
- Reliability
"MTBF will be > 1 hour"
- System response time
"Each transactino will have <10 sec response time."
- Database response time
"Each database operation will be completed within 10 ms."
- Number of transactions per sec
"The system will process 600 transactions per sec,
with 4500 terminals on line."
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
- How much maintenance is expected?
- How will maintenance be done?
- Who will maintain?
- How much time will it take to maintain?
"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
- How many users will be impacted by the new system?
- How will the educations, training be accomplished?
- What culture changes are expected?
"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
- What is considered delivered?
- How will we install?
- What is considered accepted?
"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."