Roles and responsibilities of different stakeholders in software development cycle

 Software development life cycle

The SDLC Life Cycle, or just the SDLC as it’s known, is the process of developing software to meet a need or solve a problem. This life cycle involves quite a few steps.
Image result for Software development life cycle
Planning

The first stage of any project is the planning stage. In the Software Development Life Cycle (SDLC), this is where the appropriate people discuss the goals of the project, and how to run the project. A project needs to be planned before it starts. This ensures it is well run and achieves the goals that it is supposed to. It doesn’t matter if it’s a slight change to a website, or a large system being implemented, there is some level of planning done at the start of the project.

Roles involved: Project Manager, Project Sponsor, other business representatives
Analysis    

Majority of the investigation is done in this phase, where the analysis is done to find out what the business problem is, what the detailed targets are, what the software is trying to do or solve.
It’s usually done by the business analyst on the team, and there may be more than one, depending on the size of the project. A BA’s role is to speak to the people in the project and gather the requirements,

The project manager also has a minor part to play in this phase. They are responsible for communication to other project representatives, and handling the timelines and any changes in scope.

Once the analysis is done, the output from this is usually a BRD and FRD. (a list of user stories, depending on the project methodology that has been chosen Waterfall or Scrum).

Roles involved: Business Analyst, Project Manager, business representatives.

Development


Based on the requirements that have been provided, which is a list of what needs to be done, a solution is then designed and developed by the development team. This can involve many steps, depending on the team and the way they work. Often it involves:
User interface design, to work out how the solution would look to the user
Technical design, to determine the system architecture and the design of the solution behind the scenes
Development, or the actual writing of code, to make the solution work

The development team, which can be a single developer or a group of developers with a development team leader, come in to the project and perform this work. Depending on the other tasks required, other specialised roles may be involved.

The business analyst and project manager can be involved in this phase of the SDLC life cycle in a small amount. The BA may assist with clarifying details of the requirements, and the Project Manager would be there to monitor the progress and issues.

Roles involved: Developers, Designers, Business Analyst, Project Manager.

Testing


Once the development has finished, the next phase of the SDLC life cycle is testing. Before the solution can be made live and available to the users, it needs to be tested.

After the code is handed to the testing team for testing. The testing team will then perform a series of tests to ensure that the code works correctly.
The testing in this phase can involve diverse types of tests, depending on the project and the company, such as:
Unit testing: testing individual pieces of code to ensure they work
System testing: testing the entire system to ensure it works
Verification testing: ensure that the system does what the requirements say it should do
Integration testing: ensure that the system communicates to other systems correctly
Regression testing: make sure that nothing else is broken when this is implemented

The main roles involved in this stage of the SDLC is the testing team, with a test manager if required. The business representatives are also included, as they have a role in checking the solution against their requirements.

Roles involved: Testers, Developers, Business Analyst, Project Manager, business representatives.

Implementation


Solution is now ready to go into the production environment and be used by the group that needs it. This group could be an internal group to the company, or the public, depending on the project.
The implementation is usually planned very carefully, as it involves turning off some systems while the code is installed and tested. It’s usually done on a weekend or outside of business hours, so that there is minimal impact to the normal users of the system.
A plan is put together, usually by the project manager and the release manager, to put this solution out into the world to be used. The plan is followed, which includes installing the code into the production system and testing, and then communicated to the wider project team.
The developers can also be involved, if they are the ones that need to do the implementation steps. Sometimes, at larger companies, it is a dedicated team that does the releases.
Once the solution is implemented, it is then communicated to the wider team by the project manager, who explains what was done and what the result was.


Roles involved: Release Manager, Project Manager, Developers, Testers.

Comments