The Product Development Process


The Product Development Process functions as a guide used throughout the many steps of the production process. While the project is being developed, there invariably are obstacles and distractions that will try to divert the production team away from developing good, quality software that is delivered on-time. Following the process helps the entire team focus on what is important.

The process is not a static list of steps. Instead, it is initially designed, then used, updated, and maintained. The knowledge gained from previous projects is incorporated into the current version.

There is no one single way for every developer/development team/company to develop software. What works for one group may be inefficient for another. What is most important is that there is a process and that all members of the production team (management, development, QA, etc.) believe in it. While each team may use a different methodology when building software, there are a number of key elements that should be included in every product development process.

  • Planning


  • The Planning process may be the most important step of the entire project. Without proper attention to planning, the project is likely to fail to meet its objectives. During the planning stage, the project 'vision' is determined. The vision contains items such as:

    • Glossary of key terms
    • Problem Statement
    • Expected users
    • User needs
    • Product features
    • Functional requirements
    • Non-functional requirements
    • Design constraints

  • Development/Implementation

    During development, any number of internal releases are produced. Releases are feature-based, meaning that the goal of each internal release is to implement and test additional features.

    The cycle consists of testing each version, reporting the defects, and fixing the defects for the next version. The last internal release is considered the Alpha release and is reviewed by the client before approval.

    After the initial Alpha release has been approved, a number of Beta versions are generated in order to stabilize the program. Beta versions are additionally subject to testing done by a select number of users. Defect fixes and feedback from users are integrated into each Beta release. The final Beta release is again subject to client approval and can then be considered as a product release version.


  • Product Maintenance


  • Continually analyzing project objectives, as measured from the vision document, is an important part of the overall process. Once defects are identified, either by customers or (hopefully) by a Quality Assurance team, they are assigned a due date and a person (or team) responsible for resolving them. The progress of the defect resolution should be monitored regularly and updates/patches should be issues as needed. Regular updates to the program, including enhancements based on user feedback, keeps the software fresh and gives users additional functionality.

  • Documentation


  • Documentation is not a separate "step." It is a necessary and valuable component of each step in the process. Without sufficient documentation, it is difficult to know where the project is going and how successful it has been.

    Depending on the specific project, some or all of the following documents may be necessary:

    • System Overview - high-level document describing the purpose of the project and its functionality
    • User's Guide - detailed description of all the functionality of the project from the user's point of view
    • Programmer's Guide - describes how to work with the program, the interface, etc.
    • Administrator's Guide - describes how to administer the program
    • Installation Guide - describes how to install the program
    • Emergency Guide - describes what to do when problems occur
    • Testing Plan/Reports - documents describing the testing methodology and results
    • Release Notes - document that outlines the changes and enhancements for each version
The details of the product development process are less important than following any process.
 
PrintPrint CloseClose

Copyright © 2001 - 2017 MJ Technologies, LLC.  All rights reserved.