ISTQB - Software Development Life Cycle (SDLC)

In last article we have seen the deep explanation for CMMI Levels. Now let’s move to the other important topic of management system. It can be called ‘Software Development Life Cycle’.

Here we will understand each phase of software development life cycle. From beginning to the End how a Software or Product will be developed and launched.

We can say that every organization have different methods to develop a software and it may be designed with many different methodologies and ideas. This kind of methodology can be known as ‘Software development Modules’. Like Waterfall Module, incremental Module, RAD Module, Agile Module, Spiral Module, Prototype Module, V Module, iterative Module etc.

Every module have their own functionalities which needs to be fulfilled to develop a successful software. Software life cycle phases are designed just the way we are executing one by one steps. After ending of the one phase, all discussed requirements for that should be worked properly.

For Example, First of all we will design the code of the application which can called Development Phase. Afterwards testing phase will come to the picture and them final delivery will be happened. Here we can see that each phase is dependent on previous one. Now let’s understand the different phases of Software development life cycle.

Requirement Gathering

Design

Coding

Testing

Deployment

Maintenance

This all the different phases of Software development life cycle and we need to follow them from starting to end.

1. Requirement Gathering:

All the requirement for the business will be collected in this phase. Project Managers and clients will be involved more in this phase. Different meetings are scheduled to decide that who will work on different modules of the application? How Application should work? Who can be the End user? What data needs to be generated as Output? Which kind of information needs to be shared with end user? This kind of questions will be discussed in this phase mainly. After the gathering of requirements, analysis for this requirements have been done and all the verification and standards are decided for the application. Now development phase will come to the picture.

As all the requirements are finalized and approved the all the documents have been prepared for next phase. All the standards and guidelines are defined in this phase. After this discussion, Software testing team will start work on the test planning as per Software testing life cycle.

2. Design:

In this phase, design of the application have been generated from the requirements of application. The requirement of the application can be specified and studied in the first phase of software development life cycle and accordingly design have been created for same. This System design will give us the perfect idea about the hardware requirements and it can provide all the system architecture. This architecture can be an input of next phase of the software development life cycle.

Here each phase is dependent on each other. We have to follow step by step procedures. We cannot discuss the requirements after defining the designs. To develop a design and framework for the application or project is the main task of development team but afterwards testing team will move for fixing ‘Test Strategy’ as per the design.

In Test Strategy, Testing team will mentioned about the testing methodology like how they will start testing with the application and which kind of testing should be performed to verify all functionalities of an application. How test cases needs to be prepared and how they should passed with all conditions and standards. How they will prepare final report of the testing and which resource will done particular module of the application. This all points are covered in this designing phase of software development life cycle.

3. Coding :

This is the third phase of the software development life cycle. This is totally depends on the design phase. As the design of the application have been finalized, codding of the application can be started by the development team. As per provided documents of designs, Developer team lead will divide the work within the team.

Different modules have been assigned to the different team member. If Integration of different module is required then team lead will provide the time lines to the team mates and each developer have to work on them as modules are integrated and dependent on each other. Thus, Actual codding is came in to the picture.

We must say that this phase is longest phase of software development life cycle. Testing phase is totally dependent on this phase.