In 2017, 49% of IT projects were late, and 43% went over budget. That leaves companies footing the bill for costs they weren’t expecting, and it introduces risk by creating greater urgency and pressure. Bringing those numbers down requires a tightly structured software development life cycle (SDLC) that provides consistency, creates clarity, and delivers faster results.
But what exactly does the SDLC look like? More importantly, how does it help us create better software designs for you?
Let’s take a look.
At Worthwhile, our SDLC lies at the heart of every software initiative we undertake. We believe it is vital to creating successful outcomes for our clients, and our clients say it is one of the things that differentiates Worthwhile in the world of custom software development. Our SDLC enables us to catch wrong assumptions, dig deep for core requirements, research quantitative value and business impacts, and create alignment among stakeholders and users.
3 Stages of the Software Development Life Cycle
The big idea behind the SDLC is that it ensures a structured, repeatable process we can count on to provide value and recognizable benefits to our clients. We work through this process iteratively, starting with design, then building on the identified scope features (and at the same time identifying all requirements needed for an MVP product), and concluding with running the software.
Here’s how that breaks down:
Stage One: Design
The design stage includes workshops, interviews, research, prototyping, and playback reviews with the client and sponsor users. We also pinpoint the core requirements necessary for a minimum viable product (MVP). We start with a Design Thinking workshop where we capture the Who/What/Wow experience hills that keep teams aligned throughout the development process. We then conduct user research based on the scope of the roadmap and follow up with a playback meeting to present the adjusted roadmap, architecture, and needs based on our research. Finally, we develop user stories and create prototypes to show how the system would meet key user needs. The final step in the design stage is a Design Checkpoint where we present a formal playback of the prototypes and build plans for approval.
Stage Two: Build
During the build stage, we implement the “now” scope features identified during the design stage. We also pinpoint the core requirements necessary for a minimum viable product (MVP). The first step in this stage is coding and testing each component to ensure that it functions properly. Next, we create integration testing to support the Software Quality Assurance Process. The goal here is to validate that all the needs we identified in the user stories can be met. Finally, we conduct user acceptance testing. This stage consists of supervised walkthroughs to demonstrate to sponsor users that all elements included in the scope can be accomplished.
Stage Three: Run
In the final stage of the SDLC, we deploy the software product to the cloud and coordinate with on-site IT for local deployments. This stage also includes onboarding initial users, “train the trainer” sessions if needed, and support and observation.
We consider each stage of the SDLC to be a “quality phase gate.” As we progress through the steps, we will evaluate to be sure we remain on track with the designated timeline and scope, and we can point to where we are in the loop. The end goal is to create technology that delivers value to the client, and to move KPIs resulting in specific benefits.
But Is the Full Process Really Necessary?
Working through the SDLC in such detail can sometimes feel laborious. It may feel like the detailed process slows work, especially in the early stages. But does it? Is the intricate, meticulous process we follow really necessary?
It absolutely is. Here’s why.
Our SDLC enables us to eliminate expensive code rework by homing in on quality and reducing risk early in the process. It is unique in the sense that we have fine-tuned industry best practices that have been proven in large tech settings and applied them to the needs of mid-sized companies.
This allows us to:
- Reduce Risk — The step-by-step process manages uncertainty and provides consistency at every stage of the development life cycle. Clients always know what to expect and we can clearly demonstrate where we are in the timeline, what is happening, and what’s coming next.
- Improve Efficiency — By focusing chiefly on the “now” scope at each point in the iteration, this process creates clarity. It also avoids unnecessary investments of time and design efforts in future steps of the project that are likely to change.
- Deliver Faster Results — Because we are able to better align teams and stakeholders based on detailed Who/What/Wow experience hills and user needs, we can produce the desired results in less time.
- Follow Industry Best Practices — We use agile design and development processes that shorten the Design-Build-Run loop so we can get feedback, test, and iterate faster. We have found this to be the best approach, rather than locking into long processes that, even if structured, increase risk through greater investment in a potential wrong direction.
- Codify Quality Management — The SDLC ensures quality through a written, consistent process that reduces ambiguity and allows us to create the best possible outcomes for every engagement.
The bottom line is that we believe following the SDLC through from start to finish ensures better outcomes for our clients. It enables us to discover core features that users really need rather than just piecemeal requirements. And it helps us visualize those core features so we can all see and agree on specific goals.
As you review the process, we hope you develop an understanding of the journey we are on together and the context for each piece of work.
Want to learn more? Request a copy of our detailed SDLC and Vocabulary Documentation to dig deeper into how our process sets us apart.