Software Development Life Cycle

The anatomy of a software development project

There are several different approaches to software development, but most methodologies implement some combination of the following stages:

Discover

During this stage a study is made of the business, current systems, operations, processes, stakeholders, project objectives and culture. This sets the scene of the project and can impact the project approach, customer engagement, communication, etc. If conducted successfully the development team will become an extension of the business and form a partnership, which is critical to the success of the project. At the completion of this phase a comprehensive list of requirements can be compiled.

Define

Now that the requirements are known, the next step is to to break each requirement down in order to define it. The end result of this process is detailed description of the information requirements, functional requirements and non-functional requirements. This is provided in a Functional Requirements Specification (FRS) document, which will dictate what the end solution will need to accomplish. All stakeholders should approve the requirements to ensure each requirement is defined completely and accurately.

Design

Now that the "problem" defined, the plan to "solve" it can be compiled. This will include details of how the application will flow, what the screens will contain, how the data will be structured and identifying any existing technologies/systems needed to meet the requirements. The technical plan is provided in a Detailed Design Document. At this stage the project timeline, milestones, cost, testing and implementation can be agreed upon

Develop

In terms of effort the development phase typically comprises 40% of the entire project. Depending on the project approach agreed upon, the application may be delivered in stages (the staged delivery approach). This will allow certain components to be viewed/used as a particular stage is completed.

Debug

The reliability of the application will be determined by the amount of time spent on testing. The testing plan completed after the design phase, will now be used to test the application and measure the solution against the requirements defined in the FRS.

Deploy

Once the application has been "signed off" it can now be deployed onto its production environment for launch. A support and maintenance agreement can be implemented to ensure the application continues to operate optimally.

No 7: “Think Open Software has achieved level four BBBEE status. As such we qualify as a 100% contributor to broad-based Black economic empowerment.” – Christian Burger, Director, Think Open