Software Development Lifecycle
The Software Development Life Cycle (SDLC) is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
Requirement Gathering
This phase is where the projects requirements are gathered. It is when the project managers and Key stake holders have meetings with the end users to define what is needed from the upcoming changes and finalise what the requirements are. For example How will the system be used? What data should or will need to be placed into the system? What data the system will need to output (whether that be for integration purposes or just general customer information). These are the general areas that are the main point of focus at the requirements gathering stage.
After all of the requirements have been discussed and talked through with the team, they are taken away and analysed for there validity and the possibility of incorporating the requirements in the system.
Finally, a requirements document is created which provides the guidelines for the next phase of the SDLC. The testing team follows the SDLC and starts the test prep design stage this all happens after the requirements analysis is completed.
Design
This is the stage when the system and software designs are prepared, this will be prepared from the requirements spec which was discussed in the requirements gathering and analysis stage. The System Design aids in defining what the overall system architecture should look like. The system design specifications feeds into the next stage of the SDLC.
This is when the QA lead/Manager creates and documents the Test Strategy, Its where we advice what to test, and how to test it.
Implementation
On receiving system design documents, the work is divided into smaller/more manageable chunks and the Developers can start the actual coding. Since the main focus of this stage is coding this is the longest phase of the SDLC as Devs take forever to do anything (haha I joke) but it is the busiest time for the developers and tech leads as they need to understand and deliver code to meet the requirements and designs that have been collated in the 2 previous stages.
Testing
After the code has been developed and deployed to a suitable test Org/Environment. It is then the QA teams job to test against the requirements to ensure these are being met by the newly developed code it is to make sure that the product is actually hitting the needs that where gathered during the requirements stage. During this stage there are various types of testing that can and will take place, Some of these consist of Functional testing, Unit testing, Integration Testing, System Testing and User Acceptance Testing (UAT). We also run the non- functional tests at this stage.
Maintenance
Once the customer has gone Live and End Users start to use the developed system we may find some more issues or problems in production and these will then need to be resolved. This process is known as maintenance.

A Certified Salesforce Consultant, Certified SCRUM Master and ISTQB Qualified QA Lead with experience in a variety of industries. Over 8 years of testing experience with exposure to huge array of projects and initiatives such as Product Launches, Media Advertising and Government Mandatory Financial Projects. My current role is at BrightGen, who have been an official Salesforce Platinum Partner since the start of the programme. BrightGen provide Salesforce expertise and strategic thinking that enables organisations to transform their business to Cloud-based technology.
