Have you ever realised before you can use an application, the application went into a development life cycle called SDLC? If you are working in a software development company or just graduated from a software engineering-related course, SDLC should be important for you.
SDLC is the acronym for Software Development Life Cycle. It is the process used when developing a software application. SDLC is composed of planning, defining, designing, building, testing, deployment, and maintaining phase. Let’s discuss this one by one.
The first phase of SDLC is planning. Usually, this is where the Business Analyst shines. First, the business analyst needs to gather requirements from the business. These requirements will become the baseline of the solution designed by the architect, developed by the developers, and the basis of the testers on what expected results they get once the test commences. At this stage, the business analyst collects much of the information. Then, the information should be heavily documented so that everyone can trace it back to the requirements.
The second phase is defining. This is where the analysis will take place. From the outcome of the planning and requirements gathering, the team needs to analyze the problem in the organization’s policies and objectives. Next, it should clearly define and document the product requirements (whether to create a new system or enhance existing ones). Then, the SRS (Software Requirement Specification) document is created. The SRS includes signed off/approved by the customer product requirements and developed during the project life cycle.
The third phase is designing. This is where the product architect comes in. Based on the SRS document, the product architect creates the best architecture for the developed product. The architect’s proposals will show on the DDS document known as Design Document Specification. Stakeholders will then review the DDS document. They will choose the best solution/design approach based on various parameters such as risk assessment, budget and time constraints, and design modularity. The chosen design approach/architecture should be documented in detail as it will be the basis of the developers when building the software.
The fourth phase is building. This is where developers do their magic. The actual development of the product starts here. Developers will rely on the DDS document, the output of the third phase. The detailed DDS will make it easier for the developers to build the product. Each organization has its coding standards that developers follow. This standard will make it easy for them to maintain the code. In addition, the programming language that will be used is dependent on the type of software being built.
The fifth phase is testing. This is the phase where the tester’s role breaks in. In a waterfall setting, testers only test on this phase, unlike on V-Model, where testers start the testing activity from the requirements phase. During this stage, the testers will execute their test cases, compare actual results from the expected results, logged defects, tracked, fixed, and retested until it fully satisfies the expected results based on business requirements.
The sixth phase is deployment. This is the phase where the fully developed product is released to the customer. In this stage, testing is completed, and critical defects are eliminated in the system. The product is ready for deployment to the end-user. If it is an enhancement to the current system, the product changes are put into production as well. Then, release in a business environment where actual end-users will start using it.
The last phase is maintenance. When the product is in production, the maintenance phase will start to make sure that the product stays effective and relevant to the business. If needed, minor change or enhancement can be done during this phase.
Therefore, using SDLC can improve the development process of software development. At the same time, SDLC can ensure that quality software is built and release to the end-users.