Software Management

Software Development Process

The Software Development Process is the structured approach to developing software for a system or project. There are a number of approaches (see Software Development Approaches) that can be used to include waterfall, spiral and incremental development. These different approaches will focus the testing effort at different points in the development process. However, each is approach composed of the same basic steps of development. [1,2]

Step #1: Planning

An important task in creating a software program is Requirements Analysis. Customers typically have an abstract idea of what they want as an end result, but not what software should do. Skilled and experienced software engineers recognize incomplete, ambiguous, or even contradictory requirements at this point. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect. Once the general requirements are gathered from the client, an analysis of the scope of the development should be determined and clearly stated. This is often called a Statement of Objectives (SOO). [1]

Step #2: Implementation

Implementation is the part of the process where software engineers actually program the code for the project.

Step #3: Testing

Software testing is an integral and important phase of the software development process. This part of the process ensures that defects are recognized as soon as possible. It can also provide an objective, independent view of the software to allow users to appreciate and understand the risks of software deployment. Software testing can be stated as the process of validating and verifying that a software program/application/product: [1,2]

  • meets the requirements that guided its design and development;
  • works as expected; and
  • can be implemented with the same characteristics.

Step #4: Deployment and Maintenance

Deployment starts after the code is appropriately tested, approved for release, and sold or otherwise distributed into a production environment. This may involve installation, customization, testing, and possibly an extended period of evaluation. Software training and support is important, as the software is only effective if it is used correctly. Maintaining and enhancing software to cope with newly discovered faults or requirements can take substantial time and effort, as missed requirements may force a redesign of the software. [1]

AcqLinks and References:

Updated: 6/29/2021

Rank: G66

Print Friendly, PDF & Email

Leave a Reply

Scroll to Top