5 Step Software Development Life Cycle (SDLC)

A properly developed application must undergo a series of actions to ensure success. To facilitate the successful completion of an application whether it be a website or custom Windows application of any sort, professionals usually engage in a standard process using best practices for the given project or solution. There are various types of approaches and different styles of addressing a project such as traditional methods such as Waterfall to current Agile Scrum method. Whichever methodology is practiced, most often than not a combination of approaches are combined and as such most projects also fall into a basic structure.

The software development life cycle normally encompasses the following standard processes:

System Development Life Cycle (SDLC)

1. Consultation

Once an idea or requirement arises out of necessity or otherwise, a basic review of what the idea encompasses and to which degree does it work with or affect other systems once in place. The careful assessment of the general costs associated with implementing the idea or requirement in relation to its measurable benefits are weighed and reviewed.

2. Design

A preliminary specification which outlines the fundamental requirements is drawn up for the required solution. This specification document is then used by the design and development teams as a master plan, comparing the ongoing progress of the project requirements to its actual development. For larger projects which require higher levels of detail and planning, Detailed Design and Functional Specifications and any supporting document specifications such as Test Plans are devised and compiled into the overall solution to which various levels of reviews and checks are made prior to commencement.

Most typical developments deal with a straight forward specification document; projects such as websites, browser based back ends, most custom Windows applications of a simple nature, etc.

Customer comments, feedback and approvals are submitted for review and by relevant parties. The approved specifications are used for developing the solution and measuring its completion.

3. Development

This is where the solution begins to be developed. There may be iterations where the customer is asked to review works and provide feedback and approvals. Often during development, new issues may arise that are brought to light that where unforeseen and may affect items within the solution that will need to be addressed by proper consideration of all parties considered. Typically these situations are minor and usually benefit the solution by adding more functionality or flexibility than was originally planned.

Unit testing is performed during development as it pertains to the nature of developing a unit or segment of the solution for functionality and completeness. These same tests will be performed in the QA stage.

4. QA

Quality Assurance is a term used to describe the act of verifying the checks and balances against an item. In the case of a solution, there may be various steps and procedures required with repetition to gauge whether the item has passed it proper inspection and designed purpose.

The customer is often asked to also verify the item(s) or completed solution for functionality and completeness once the item has be developed and QA’d. More often than not, minor adjustments may be necessary in order to address the complete satisfaction that the item serves its purpose as per design.

5. Maintenance

Finally the solution or a version of is ready to be rolled out. This stage may involve many steps based on the solution at hand and typically rolled out in a phase sequence to ensure the least impact in case of failure. Ultimately the solution is put in place and the customer has been instructed on the proper usage. The solution is then signed off as completed and being the typical support policy. Maintenance is a factor of the nature of the solution and can be as simple as routine checks on performance or continuance of QA for a set term or timeframe.