|
Are you a wandering generality or a meaningful specific? |
| <<< Providing client with copyright can come with limitations |
We attempt to adhere informally to the Prestwood Software Development Process™ (PSDP) when working on applications that are beyond the most simple in nature. Below is a basic outline of the process. We believe this will assist in both the developer and client understanding. The PSDP Process is complex however we keep it simple as possible (KISS)
PSDP is an Iteration based development methodology with a central theme that is used to manage the life-cycle of the software development process.
A good software development process brings together the various elements of the program development life cycle to guide and educate the development team and client.
Application development can be difficult. We advocate going for the unsophisticated solution. This means the simplest architecture that will work and if applicable a simplistic database solution that will work while doing what we can to look into the future of the program and try to anticipate future needs.
The life cycle of the application development process is a joint venture that is made up of the development team and the client.
Project Scope
"Project scope is the range or area covered by the software being created. The scope of a software development project is explored during the inception phase and initially documented in the project proposal. Once scope is established, changes to the scope are referred to as scope creep. For fixed bids, the project scope must be completely and precisely described in the description of deliverables. Changes in scope can only occur with an updated description of deliverables and a new agreement (or amendment). For time and material projects, scope creep is natural and will occur. Having the ability in the process to handle scope creep is what is important. Scope creep is handled differently in PSDP depending on the billing relationship."
The outline below governs the basic iteration process.
| Inception | Starting the project includes gathering project parameters such as feasibility, enterprise needs, general requirements, establishing the initial budget and billing relationship, etc. |
| Requirements | The primary iterative document is the requirements
specification. For fixed bids, the description of deliverables is the
requirements.
Documents what the software will do. |
| General Design | The iterative documents for the general design phase include
one or more general design specifications.
Explore various solutions for how the software will do the what gathered in the previous phase. |
| Detail Design | For the detail design phase, the iterative documents vary
depending on the software type but can include a detail design
specification, a web page flow chart, an entity relationship diagram (ERD),
a class hierarchy diagram, etc.
Architect the specific chosen solution. |
| Initial Coding | The primary iterative software artifacts are various alpha
deliverables. The focus is on validating functionality and not finding
defects.
Build the software and validate functionality with alpha releases. |
| Testing & Rework | The primary iterative software artifacts are various beta
deliverables. A beta deliverable is a functionally complete version of the
software delivered for the purpose of identifying and prioritizing
defects. The focus is on finding and prioritizing defects. If missing or
incorrect functionality is found during this phase, something horrible has
occurred during the process and the project team will need to take
corrective action (which can include a mini corrective iteration).
Test and fix the software with beta releases. |
| User Acceptance | The primary iterative software artifacts are various release
candidate deliverables. A release candidate has no known high priority
defects. The focus is on reviewing the software for the purpose of
determining if the build is deployable (the intention is to fix only high
priority defects from this point through deployment).
Review the software for high priority defects. Is it ready to deploy? |
| Deployment | Iterative software artifacts include deployment plans, post
deployment report, etc.
Deploy the software. |
To assist in managing information about the project there are three basic common words that are used to simplify the task of determining scope of the project.
| Common Word | Brief Description |
| What | What the software should and must do is stored in the
requirements specification.
|
| How | How the software will address what is in the requirements
specification is contained in the design documents. (design specification)
|
| Where | Where the software will be deployed
|
| When | When software development is started
|
Source - Prestwood