SDLC stands for Software Development Life Cycle and is also known as the Application Development Life-Cycle. SDLC describes the phases (often used in IT and Systems) of planning, creating, testing, and deploying a process or information system. There are different types, or more accurately, different elements of types of SDLC models used. The most common ones are Waterfall, Iterative, Spiral, V-shaped as well as the Agile model.
System Development Lifecycle (SDLC)
As I’ve mentioned in a previous article, Tools to Create Effective Project Plans, I’ve used many different SDLC models for a variety of projects, including helping start-ups with business plans, building marketing strategies, supporting change management, developing IT solutions as well as building and tracking e-commerce sites and social media campaigns.
Regardless of which SDLC model you use, there are six key stages in the SDLC cycle:
- Development and Testing
- Documentation, and;
The beauty of the more agile SDLC models (excluding Waterfall and V-Shape) is through the methodology; you can go backwards and forwards between steps and adjust where necessary.
“The Waterfall model is the pioneer of the SDLC processes.” Softwaretestinghelp.com
The Waterfall model is a Sequential model as the software development processes are split into phases and each phase has to be completed before the next step can be taken. A step-by-step overview of the phases is as follows: Requirement analysis, system design, implementation, system testing, system development and system analysis.
Introduced in 1970 by Winston Royce, the model works well when implemented in a stable environment and it is best used for smaller projects. If your needs are straightforward the Waterfall model will yield the best results but it is not right for big jobs requiring agile changes.
The Iterative Model
“During software development, more than one iteration of the software development cycle may be in progress at the same time.” Defense Systems Software Development
According to Andrew Powell-Morse over five decades ago the US Air Force and NASA worked together to develop X-15 hypersonic aircraft. They began by following an Iterative design process and the positive results of this prompted NASA to implement an Iterative SDLC model for their software development.
The Iterative model differs from the rigid stages of the Waterfall model and is described as a cyclical process, rather than a step by step one. There’s the initialisation phase at the start and the deployment at the end and in many small steps in between which may be repeated and fine tuned including: Planning – requirements – design – implementation – verification and evaluation.
Because this model is agile and quickly implemented this helps to show up any functional or design flaws early on in the process, but it’s not suitable for small projects. It is also worth noting that as not all requirements are gathered in the beginning of the entire life cycle it can be heavy on resources, management and budget.
The Spiral Model
“The Spiral is a risk-driven model which means that the overall success of a project highly depends on the risks analysis phase.” Dmitry Gurendo
Using the Spiral models involved both sequential and prototype processes. It is a complex model and best understood by first being broken down into four main quadrants:
- Planning Phase
- Risk Analysis Phase
- Engineering Phase
- Evaluation Phase.
The model is known as Spiral because the development processes repeatedly passes through these stages and each iteration is called a Spiral. During the Risk Analysis in Phase Two, for example, all the four phases – planning, risk analysis, engineering and evaluation are repeated.
When working with the Spiral Model, “Team members try to gather the product objectives, requirements (e.g. Business Requirement Specifications or BRS, System Requirement Specifications or SRS), alternatives in design, etc,” explains Dmitry Gurendo, “In the subsequent spirals; all requirements are generated according to the customer’s feedback. Thus, permanent communication between the customer and project management is crucial.”
Use of the Spiral Model is recommended for large projects where software requires continuous risk evaluation and changes. Although development can be fast, Spiral can also go on infinitely. The time during the Risk Analysis Phase is too detailed for low-risk projects and the planning, resetting objectives, risk analysis, and prototyping needs to be carefully managed with users being involved early on with the prototyping tools and subsequently at every other stage.
“As the industry has evolved, the technologies have become more complex, increasingly faster, and forever changing, however, there remains a set of basic principles and concepts that are as applicable today as when IT was in its infancy.” Geeks For Geeks
Also called the Verification and Validation model, the V-Shaped Model is an extension of the Waterfall model, with testing stages adhered to during each development phase. On the one side of the model are the Verification phases with the Validation phases on the other side, these are linked by coding phase which gives the model its “V” shape.
Testing in the V-Shaped Model is done in a hierarchical perspective so what it’s needed by the project team, for example, informs the high level and detailed design phases. As each of these phases is completed the requirements, they are defining become more and more refined and detailed.
Detractors of the V-Shaped Model say it puts too much emphasis on testing, particularly during the test planning phase, which leads to testing being “squeezed into tight windows” at the end of development when initial phases have taken longer than expected but the date of implementation has to be the same.
Supporters argue that over time the V-Shaped Model has changed and with proper understanding it can support flexibility and agility throughout the development process. It is interesting to note that the V-Shaped Model is, in some areas, being adopted by the medical device industry. This, according to Barriers to Adopting Agile Practices When Developing Medical Device Software, is because it leans towards the principles of documentation, maintaining traceability and regulatory compliances.
“Agile methodologies were developed as a solution to the challenges of the traditional Waterfall model of software development and the traditional project and team management principles.” Jacob Aliet Ondiek
In Jacob Aliet Ondiek’s article, 12 Agile Manifesto Principles, he unpacks how there was a shift towards more agile methodologies by prioritising the following:
- More focus on individuals and interactions above processes and tools
- Correctly built software over vast amounts of documentation and,
- Client collaboration over contract wrangling, and;
- Valuing responsiveness to change instead of adhering to a rigid model.
In fact, in Utah, USA in 2001, 17 software developers actually put together The Agile Manifesto to define their basic principles and from this emerged different Agile methodologies including (with reference to Smartsheet’s Comprehensive Guide to the Agile Manifesto Scrum) the dynamic systems development method (DSDM), crystal clear, extreme programming (aka “XP”), adaptive software development and feature-driven development.
The Agile Model does as it says and has agile back and forth communications between the cores phases of: Requirements, architecture and design, development and test and feedback.
Interestingly, the developers of the Manifesto back in 2001 saw the model as something to be used by software development teams develop code more efficiently but now a lot of the Agile Model methodologies are being used across a variety of different businesses.
I’ve found what Dave Sharrock, VP of Agile42, says to be true of our consulting business as well: “We’re seeing more and more [agile-oriented consulting business] being brought in by business managers or leadership teams with the need to bring in the whole product portfolio – the product development process – into an agile way of working.”
Jainita Khatri, Managing Director, Prana Business Consulting
About Prana Business Consulting
Prana Business Consulting is a marketing partner to your business. Using omni-channel principles, Prana builds a connection between your brand and your client. Prana drives high performance and tangible results in Marketing, Branding, CRM and Social Media. Prana leverages industry specialists to deliver customized solutions for baby, beauty, health and wellness brands, locally and internationally. Prana is a level 1 BBBEE certified company.
Phone: +27 (0) 11 794 1409 / + 27 (0) 83 414 9796