Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is the name of the process used by software developers to design, develop and test software to ensure the software is high-quality, meets customer expectations and is finished within the timeframe and cost estimates agreed at the start of the project. Here, we explain the process used at Blueberry.
Software, like all products, starts as an idea. The idea then becomes a document, which becomes the first step in its development.
Whether a document, diagram, or working software, the object created in the first step becomes the input to the next step, which feeds into the following step – and so on. The complete sequence of steps that leads to the delivery of finished software is commonly referred to as the Software Development Lifecycle (SDLC).
Having an SDLC framework is important for developing a software system because:
- It’s a good method for project planning, scheduling, and estimating
- It provides a framework around activities and deliverables
- It provides project tracking and control
- It increases project visibility for all stakeholders involved in the development process
- It increases development speed
- It improves partnership working with client
- It decreases project risk and project management plan overhead
A typical SDLC consists of a detailed plan which explains how to design, build, and maintain the software. Every phase of the SDLC lifecycle has its own process and deliverables that feed into the next phase in the form of project milestones.
The entire SDLC process can be divided into the following stages:
- Stage 1: Requirement collection and analysis
- Stage 2: Feasibility study
- Stage 3: Design
- Stage 4: Coding
- Stage 5: Testing
- Stage 6: Installation/Deployment
- Stage 7: Maintenance
Much of this will be written into the Software Development Agreement before the start of the project. How SDLC is implemented in practice can make all the difference in the quality of the finished software (note, however, that the first release of a software application is rarely “finished.” There are almost always additional features and bug fixes waiting to be designed, developed, and deployed. In this context, the process of software development is a never-ending cycle).
It’s important to remember that the SDLC is not a technical document – rather it’s a process document that makes it easier to evaluate each part of software development using a scientific approach. By relying on a consistent methodology and a clearly-defined process throughout helps to ensure the production of software with the highest quality and lowest cost in the shortest time. In other words, it ensures streamlined development.
Popular SDLC models
There are many popular SDLC models – the Waterfall model, Incremental Approach, V-Model, Agile Model, Spiral Model, Prototype Model and the Big bang model. The two best-known methodologies within the SDLC are Waterfall and Agile.
At Blueberry, we address SDLC using our own best practice Bluesprints Agile-based methodology and the power of a very sophisticated in-house project tracking system (PTS), which includes a customer portal.
What is Bluesprints?
Bluesprints works in both a fixed price/fixed requirement project as well as where a more creative, evolving style of development is required, such as with an entrepreneurial software product.
At the project kick-off meeting Blueberry builds a Project Start-up Document which defines the project roles and the preferred methods of communication, sets up access to our systems and establishes an understanding of how Bluesprints will support the project.
The Bluesprints Discovery Phase builds up a Requirements Catalogue through workshops and then online discussion, resulting in sign-off of requirements when the customer is confident that the requirements fully meets the business needs.
Once the requirements and design are agreed, Blueberry commences a series of development Sprints. Each Sprint is typically between 5 and 15 days in length and is planned using our unique Trello-like Sprint Planner. The development Tasks that make up the contents of the Sprint are agreed with the client, and we build in 20% contingency. With each task re-estimated daily, the Sprint is under close control so that it finishes on or ahead of time.
The progress is tracked with a Burndown Chart showing, at a glance, whether the Sprint is ahead of or behind target. If it’s behind, action can be taken to bring it back on time. The Burndown Chart is shared with clients through our portal, so they are fully aware of the state of progress.
Through a dedicated customer portal, clients can see the progress of current Sprints, any issues that require their comment and items requiring testing.
How the Customer Portal works
The Customer Portal is designed to ensure that software is built to the highest quality, with complete requirements traceability, whilst also including the client at every step of the software build.
Blueberry’s Feedback Tool allows project stakeholders to drop pins into areas of a page of a development site where they want to add feedback or pinpoint an issue. These pins then create service request tickets in the project tracking system which are also trackable in the Customer Portal.
Providing access to the Portal and its feedback tools allows our customers to take ownership of the work we’re doing on their behalf by putting them in control of progress. Working in this way not only guarantees we work in close partnership with clients, it also confirms their understanding is always the same as ours.
Give Blueberry a call if you’d like to discuss a software project for your business.