What is the software development process and is it different to the SDLC?

A process and a life cycle are not the same thing but are often confused and conflated when defined in the context of software development. We explain the difference here.

The terms software development process and software development life cycle are often used interchangeably. Even if you go onto the Google search engine and enter both terms, you’ll be served very similar content.

But there is a clear difference between a life cycle and a process and the two terms should not be confused or treated as similies. Using the terms in the context of software development is no exception.

So let’s clear up the distinction.

What is a software development process?

The Merriam-Webster’s Dictionary definition of a process is:

“A series of actions or operations conducing to an end

especially : a continuous operation or treatment especially in manufacture.”

A process, then, is a series of actions executed in a particular order. A software development process consists of steps that ultimately lead to a deployed product. For example, Openxcell details the following components of the process of developing software documentation, done in the design phase of the SDLC.

  • Write comprehensive and easy to understand documents with no redundant information.
  • Develop an organized document repository for any critical project information, so the Development Team members can access, store, and refer to project documents and other deliverables from all life cycle phases.
  • Implement the periodic deliverable reviews to correct inaccuracy, ambiguities, and incompleteness.
  • Recognize that the sample templates for deliverables are available. So, the agencies may accept the deliverables in different formats as long as all the required information is present. This deliverables’ content might expand or shrink depending on the project’s size, scope, and complexity.
  • Recycle or reference information from the earlier documents where it’s possible and beneficial.

These steps represent the process of developing the software’s documentation. That, in turn, is part of the design phase process together with, among other steps, high-level software system design and a decision on the core tech stack to be used.

What is a software development life cycle?

The Merriam-Webster Dictionary definition of a life cycle is:

A series of stages through which something (such as an individual, culture, or manufactured product) passes during its lifetime.”

A life cycle, then, consists of stages or phases. A software development life cycle’s phases vary with the methodology used by the software development team but the most common defined SDLC phases are:

  1. Planning & analysis
  2. Design
  3. Development
  4. Testing
  5. Deployment
  6. Maintenance

Phases of the software development life cycle infographic-1

Software moving through those phases is a process but on a macro level.

The software development process is a series of steps completed towards deliverables

As distinct from the SDLC, the software development process details each step that should be completed as part of the deliverables that form each phase. It is a series of steps at a more micro level.

For example, the Sprint Planning meeting, Daily Scrum meetings, keeping the Impediment Log, consulting the Burndown Chart and the Sprint Retrospective meeting are all parts of the process of the Implement and Review and Retrospect phases of the Scrum development life cycle.

Steps in the software development process of a Scrum sprint

Featured blog posts