Software Development Life Cycle
“SDLC is a process that produces
software with the highest quality and lowest cost in the shortest time”
The SDLC is
split into six different parts, each being crucial to the development and
success of the product. First planned, then the requirements are defined, the
architecture is developed, the software itself is developed, then tested, and
finally released into the market with occasional maintenance or fixes.
allows for a clean and well defined plan of action for the development of the
software, also allowing for the best quality for the time put in.
Planning and requirement analysis
This is the
most vital stage of the process, mainly done by the highest ranking members of
the company along with input from customers and other parts of the company
(E.g. Sales department, experts in the field, etc.).
This stage consists of: Assessing all possible risks and trying to plan the
approach to reduce the amount of risks; consider and record all requirements;
and finally, plan the basic approach/immediate course of action.
All of this will generally be done over a meeting or several and all data,
decisions and actions are recorded or noted.
first stage is completed the team moves on to precisely define the requirements
needed to produce the desired product.
requirements could be along the lines of:
– Money or assets
What are the financial costs and requirements of pursuing this product? What
assets will be needed?
– Skills or workforce
What size workforce
will be need, and what skills amongst the workforce will be needed?
– Time frame
What is the
estimated length of time the project will take to develop and what is the
desired time frame to work with?
Designing the product architecture
stage the design architects attempt to come up the best architecture for the
product to be developed. Often times several different architectures will be
proposed and documented in a DDS (Design Document Specification).
The DDS is
later reviewed by all the major stakeholders in the company who decide (based
on several factors such as; cost, potential risks, realism, time frame etc.)
which one works best and is the most viable.
Building or developing the product
Once all the
previous stages are complete the process moves on the actual development of the
product. The code is produced following the DDS and if organised and performed
efficiently this can be done fairly easily.
developers are required to follow the programming guidelines set out by the
organisation, meaning specific software, tools, applications and programming
languages are used as to have minimal confusion and a wide understanding of the
development amongst the team.
programming languages and tools are chosen based on the product being built,
often several advanced programming languages are used in development at once.
Testing the product
testing is a standard throughout the whole Software Development Life Cycle this
stage is specific to the testing only phase where all bugs, errors and defects
are reported, fixed, and tested once again. This stage repeats until the
organisation is content with the quality of the product.
is often completed by both employees and outsourced testers to provide a wide
the best results.
Deployment in the market and maintenance
final stage the product is released into the market, sometimes only to a
specific and smaller market than the target one for further testing and
feedback. Once the organisation is happy with the product it may then be
released into the full market.
maintenance is done according to the existing customer base.