Software Development Life Cycle

Software Development Life Cycle

Everyone needs to know!

Software Development Life Cycle (SDLC)

Every aspiring engineer should know this because without any pre-knowledge if you go into a company, you can't catch up quickly with what's going on there.

You can also learn what's going on there when you step into a company, but having a little bit of knowledge beforehand helps you a lot in focusing on what you wanted to do (It's my opinion). Now let's learn about SDLC.

Firstly, What is SDLC?🤔

It is the process used by the software industry. More technically, It is the set of standards that are followed in the software industry to design, develop, and test a product.

This is the standard way that every company in the industry follows the same process/procedure.

  • The end goal of following these standards is to deliver a high-quality product to the end user/customers.

There were some major steps that every company should go through, those were

  1. Planning

  2. Defining

  3. Designing

  4. Building

  5. Testing

  6. Deploying

We will go through each one of the steps with an example, Let us consider there is an E-Commerce website named XYZ. That website previously sells books online.

Let's consider in the currently running version they only sell Storybooks and some informational books. But that organization wants to increase its network of customers. They decide to sell Educational books.

Now they all should work and bring the change to their website, which is adding a separate section to that books. Here is where the game starts, they start to follow the above-mentioned steps.

Firstly, when they decided to make this change, some specially interested employees form a team/their boss assigns a separate team to gather all the requirements which require that change/section i.e, Planning, where they gather all the required things like customer satisfaction on that change, what type of content customers want, what are the things needed for that change, and all this kind of things.

After gathering all these things, they document all these things here where the Defining phase comes. All the documentation part is done within this phase.

When they gathered all the requirements and define them, the main thing (initiative thing) starts 'Designing', here as specific to the company a team/group takes up this thing and they start designing the High-level design and Low-level designs.

The high level covers how the website should scale for the time being, how it should behave when it gets down, and all these kinds of things.

The low level covers the functionalities of that website, how the website should look, and these kinds of things.

After all the designing of the website, now developers take up the part and 'build' the things which are designed.

That developed application goes to the Testing team who tests the behavior of the application to check if there are any bugs.

Then after all the tests have passed, this developed application goes into production which means that the app is available to their customers/end-users.

This is how the workflows in Software Development. Since this is the standard every company in the industry will have these steps only(mostly).

What if the companies don't follow these steps?

Let us think you are developing your application for example let's take a simple calculator application.

Be practical and think of yourself, can you directly go into the developing part without having a prior plan of how the website should look, how all the functionalities should happen, what happens when the user clicks the wrong button, where the history should be stored, bla bla bla kind of thing😅.

Another scenario of the same application is how can you even publish/showcase your application without minimum tests like what happens when you entered the wrong info and this kind of functionalities, your application users may feel weird while using that application when they encounter unexpected behavior of that app.

So, to overcome this kind of behavior and deliver a quality app, every company will and should follow these standard steps.