Solution Delivery Lifecycle

A phrase used to describe the process taken to deliver a software solution is the Solution Delivery Lifecycle (SDLC). A process, with many similar steps, can be used to deliver projects .

The diagram above describes one way of organising the delivery of a solution delivery project.

Idea

Every solution starts with a problem or an opportunity. The idea phase is when you describe that idea or opportunity. Think of this step as describing the problem that you are trying to solve. The problem might be your inability to sell your product online or a need to manage the details of your customers. In any business there are usually a huge number of threats and opportunities.

Feasibility

Once you have identified your idea, you need to test the feasibility of that idea. The best way to judge the feasibility is to consider the costs and the benefits of the idea. A cost is anything required to implement the solution, this can be hardware, software or the time and effort required to build the solution. The benefits of delivering the project can be financial cost savings or additional profits generated as a result of the solution. We consider these to be the benefits. If these benefits from delivering the solution are greater than the costs, then the idea is probably worth progressing.

Initiation

The initiation phase is the time when you get ready to make a start on the project. During this phase you will start to document the objectives of the project or solution. It is common to describe the scope (what will or won’t be included), an indication of the costs and benefits, a high level plan and a description of how the project/solution will be delivered.

Requirements

During the requirements phase we are using a range of techniques to define exactly what we want the new solution to do. It is important to investigate all the elements of the original idea. The final requirements detail all the things that the solution will need to provide. This can include functional requirements that describe specific capabilities such as a user will be able to record sales details or the solution will capture contact details for a customer. Additionally, there may be non-functional requirements that describe the way the system or solution will need to perform, for instance, a system record must be retrieved in less than one second.

It is important to consider how important the various requirements are as this will probably influence the cost. When delivering a project or solution it is important to consider how and when to revisit the feasibility. After you understand what you need the solution to do you should reconsider the feasibility. For example, if your requirement can only be fulfilled with an expensive solution, but there is little benefit to completing the project, you may wish to reconsider.

For more information regarding requirements read this great article from thedigitalprojectmanager.com.

Design

During design the project team will define exactly what the solution will look like and how it will be built. If you were building a house this would be when you would look at the customers requirements and draw the architectural plans. You will often also consider details like the user interface, look and feel and other factors that will impact the end users satisfaction with the final solution. Once the design has been agreed it is a good time to reconsider the feasibility. You should ensure that the design is not increasing the cost and complexity of the solution beyond the benefits expected.

Build

The build phase is the time when you finally build the solution. If the project is a new software system then this is when the developers code the solution. The output from the build phase is a version of the product that is intended to fulfil the requirements.

Test

Testing should follow the creation or build of the solution. Testing is a way to ensure that the product delivered functions correctly. As well as functioning correctly the solution should meet the requirements. Testing is a key part of the solution delivery lifecycle. It shouldn’t only happen in this phase. You should apply quality assurance to the outputs from each phase. However, this phase is the key to ensuring the solution is fit for purpose.

Implement

At the end of the project or solution delivery you will need to use the delivered solution. This starts from the point of implementation. This is also when you are most likely to start benefitting from the solution. It is important to consider how you will monitor and measure those benefits as this may influence future projects.

Conclusion

I have described a simplified solution deliver lifecycle above and this is intended as an outline. There are different ways to deliver projects or solutions. Whichever methodology you use it will involve most of the steps above.

For more help on how to undertake any of the phases described above then get in touch for a no obligations discussion.