fbpx
app development

From Agile to Waterfall (and everything in between) A Guide to Understanding Software Development Life Cycles.

Development

From Agile to Waterfall: A Guide to Understanding Software Development Life Cycles.

By: Cameron Avrigean  | January 21, 2020

Home > Blog > How to Take Your Idea to App: 3 Points to Consider

SDLC Definition:

SDLC is the acronym for the Software Development Life Cycle. It is also know as the Software Development Process. SDLC is a framework defining tasks performed at each step in the software development process. The SDLC is sometimes also referred to as the Systems Development Life Cycle, often when referring to specific forms of software – notably apps.

It all starts with an idea – before you even come close to software development life cycles, you need an idea that needs to be developed. Once you’ve fully fleshed out that idea, a development company can begin the software development lifecycle – or SDLC.

Traditionally, The SDLC encompasses these 7 phases and has distinct requirements for each of them.

application process

SDLC Phases

Planning

Contains all planning related activities – including resource allocation, capacity planning, the project schedule and estimating cost.

Requirements Gathering

Gather business requirements from key managers and stakeholders to determine functionality for the software. This stage is critical for management of the overall project as this is where most of the decisions are made.

Designing & Prototyping

Requirements are analyzed and the solution is architected from them. This is where the software is outlined.

Coding (Implementation & Development)

Once the system design and architecture are specified – coding and implementation begin. This comprises the creation of the software as it was defined in the first three steps.

Testing

Test against the requirements you set for your software, does it meet them? Is it bug free?

Deployment

Take it live – if you’re developing an app, make it available for download. If you’re deploying, you’re an app in stages, therefore make sure you make it clear to users.

Operation & Maintenance

Everything needs maintenance, software is no exception. Make sure you’re listening to your users and that they have an easy means of reporting bugs so that you can address them.

SDLC Process

Alternative Methodologies

If you read that process and think – “That’s not where that should go!” you’re not the only one. The SDLC outlines a rigid framework for how the development process should work– over the years this process has seem some huge revisions that have spawned entirely different schools of thought – here are a few of the most popular SDLC methodologies.

Agile

The Agile Software Development Life Cycle looks totally different with most of the lifecycle happening iteratively in much smaller batches or “sprints.” These sprints allow agile organizations to quickly respond to user feedback and quickly architect a better version of their initial solution that is more in line with real user needs. Agile is all about responding to feedback quickly so that when you deliver the final product – there are no surprises. We looked at the ways that Agile can benefit development – you can read more here.

agile framework

DevOps

DevOps is all about embracing teamwork and collaboration on an organizational level. It’s more about changing culture than it is about a specific way of executing the SDLC. DevOps is often used in concert with agile because the two methodologies go hand in hand. In order to deliver the most value – collaboration is almost always necessity. It is to the benefit of the entire team to consider your peers’ feedback.

“DevOps is essential for any business aspiring to be lean, agile, and capable of responding rapidly to changing marketplace demands. It is an approach on the journey to lean and agile software delivery that promotes closer collaboration between lines of business, development, and IT operations while removing barriers between your stakeholders, and your customers.”

Waterfall

Waterfall is one of the first variations on the traditional SDLC model – it requires an equally rigid structure that demands all project requirements be fully identified and expanded upon before design and development begin – each step falls below one another on timeline representing the cascading water of a waterfall.

planning-calender

Lean

Like agile – lean focuses on speed, efficiency and continuous improvement. Lean was created by Mary and Tom Poppendieck and involved adopting the principles of lean manufacturing to software development.

These principles are:

  • 1 Eliminate Waste
  • 2 Build Quality In
  • 3 Create Knowledge
  • 4 Defer Commitment
  • 5 Deliver Fast
  • 6 Respect People
  • 7 Optimize the Whole

Lean allows you to optimize software around real use cases. If you’re consciously eliminating waste and delivering fast, you end up with a process that reflects real users' needs and is focused on delivering value.

Interested in working with fivestar*?

If you decide that it is valuable and profitable for your business to have custom software, fivestar* can develop solutions that centralize workflows, optimize processes, and enable decision-making through real-time data and business intelligence.

framed-staff-photos-cameron

About the Author: Cameron Avrigean

Cameron Avrigean is a Marketing Coordinator at fivestar*. Cameron is an analytics fanatic with a penchant for copywriting and social media. He works with the marketing team to create engaging content, and is looking for the next big thing. Cameron holds a B.S. in Business Management from Point Park University.

Looking to solve a challenge?

fivestar* develops custom solutions that accelerate your business.