Why We Are Saying Software Development Life Cycle

Emre
6 min readMay 30, 2021
Software Development Life Cycle

From now on, I will try to produce content that adds value to you as much as I can and to convey what I have learned. What I have written does not contain any thesis or claim, you can only think of it as summaries that I have assimilated from what I have read and researched.

In the software world where I was trying to be a developer myself, I honestly had no idea what SDLC meant. Only his initials sounded like a cool address. I thought that a project is coming and they are doing that project from start to finish by coming together with a couple of software developer friends. As the famous Turkish coach Fatih Terim said in the UEFA Cup match; no tactics! bam bam bam…😂

No Strategy No Tactics! Bam Bam Bam

Almost all projects that try to emerge independently of a certain system and process are shelved as a waste of time and money and sent to software garbage.

Anyway, as a result of the information I learned every day, I realized that what we call the software life cycle is a business follow-up model built with the system-process and structure paradigm.

The software lifecycle model is aimed to take the necessary steps before starting any software application. These include the beginning and end of the application, the steps to be followed, which follow-up method and software tools will be used, and how many working teams will be formed for this application, as well as the determination of steps such as time, cost, security, and marketing process.

Otherwise, you will start an application that costs more than you expect and the completion process is not determined and the worst is never completed projects will be sent to the garbage.

So what are the benefits of the software lifecycle for us?

  • Saving time
  • Maximum profit with minimum cost.
  • A traceable and scalable business process between developers, designers, business analysts and project managers.

This process can be increased even more, but without prolonging the article, I would like to talk about the basic steps of the software lifecycle and real-life examples.

1- Requirement Analysis

This stage is the most important first stage that determines the end of the process. Because the project will start to be written on the decisions you will base here. Therefore, the requirements are defined in detail and clearly at this stage. This definition should be measurable and testable. In this way, when it is the developer team’s turn, they easily understand the project and try to come up with products that will allow you to achieve maximum effort in a minimum of time.

Requirement Analysis

Otherwise, if this step is not overemphasized, there will always be a lack of information in the next steps, which will naturally be reflected in the completion process and cost of the project.

2- Designing Product Architecture

Now the steps and demands have been determined. At this point, the software architecture is designed to meet the requirements defined in the previous stage regarding how the process will work.

https://en.wikipedia.org/wiki/Product_design
Designing Product Architecture

Since the problems that may be encountered during the design phase will be much more expensive to solve after software development, various elements should be considered in the design to reduce this risk.

  • Making a security risk assessment
  • It is considered in steps such as developing a transformation plan and determining the operating environment to migrate existing data to the new system.

If these phases are ignored, it will lead to budget overruns at best and complete collapse of the project at worst.

Once the requirements are understood, software architects and developers can begin to design the software. Developers use proven Design Patterns to solve algorithmic problems in a consistent and parallel way.

3- Build and Develop the Product

This can be described as one of the longest steps in the process, because at this stage, developers begin to code and develop the application with the help of the specified programming language, development environment, and facilitating technology tools, following the coding instructions presented to them.

Software developers often use high-level programming languages such as C., C++, Pascal, Java, and Python for coding. During the coding phase, tasks are divided into units or modules and assigned to responsible developers.

https://divergentthinking.design/double-diamond-model
Build and Develop the Product

4- Testing

After the software process is completed, the application is launched in a live test environment. Test teams check whether it meets the quality standards defined in the SRS, that is, the software requirements specification (Software Requirements Specification), and whether the entire system is functional.

This is done to ensure that the application works according to customer requirements. This is another most important step of the software lifecycle. Testing is always necessary for quality software.

At this stage, the QA or testing team may find bugs or defects and communicate them to developers. Developers then fix the bug and send it back to QA for a re-test. This back-and-forth continues until the software is bug-free and works according to the business needs of the system.

There is a wide variety of testing necessary to measure quality:

Code quality, Unit testing (functional tests), Integration testing, Performance testing,Security testing

5- Deployment and Maintenance

After the product is tested and ready for distribution, it is made available to the markets that make it available to the end-user. Then, development and improvement processes are entered according to the requests of the customers and their reactions in the field.

The purpose of these changes is to close security vulnerabilities, to regulate user and server errors, to review and test the needs arising from updating the versions of the libraries used in the software phase if any.

Deployment and Maintenance

This mechanism can happen during planned release stages so that capabilities are introduced in a logical form that is easier for end-users to consume. When the product is released, it enters maintenance mode until it reaches the end of its useful life.

In summary, when we take all these steps, we call this process the software development life cycle, since we have to be included in the software world’s ecosystem and there are rules we have to follow.

In my next article, I will cover software development lifecycle models.

Thanks so much for reading this far. If you want more of these and similar articles to come, all you have to do is give a like.

Thanks.

Emre Ozudogru.

Instagram: yunusozudogruu

--

--

Emre

Do not compare yourself with others. Compare yourself today to yourself tomorrow!