Software Development and Testing can use lots of different methodologies and models, but for this paper we will stick to those that are most commonly used and current in today's market place. Overall the common goal of all testing methodologies is to ensure a bug free product that meets the Users requirements.
- Agile – An Iterative approach to software development, short cycles of code development which evolve through the collaborative effort of self-organizing cross-functional teams.
- Scrum – Like Agile but using a fixed period to develop, usually 1-4 weeks for software development, it defines a flexible product development strategy where a development team works as a unit to reach a common goal.
- Waterfall – Ideal for large projects, design is sequential (non-iterative) , in which progress is seen as flowing downwards through the phases of conception, initiation, analysis, design, development, testing, implementation and ongoing maintenance.
Agile is used to respond and adapt seamlessly to all required changes that emerge during the software development and testing process; thus, your software development process will consist of several releases, each of which will be built on a previous version. A testing process is carried out for each release.
The process for each iteration of the Agile methodology involves all team members cooperating through a full software development cycle, including planning, requirement analysis, design, coding, testing etc.
Scrum is an iterative Agile process which encourages flexibility and relies upon all team members working together by communicating and cooperating with one another. In Scrum methodology, a sprint is the basic unit of the software development. It is a fixed period during which a specific portion of work should be completed. Its exact duration and the amount of work it must cover are identified before the sprint starts. Each sprint results in a completed portion of a product.
The Scrum process aims at quick and effective responses to changes by all parties involved in the product development – Think DevOps.
Waterfall is the Grandad of all methodologies, and originated from the manufacturing and construction industries, this is a highly structured method in which after-the-fact changes/change requests are costly to implement, as each change means going largely back to the start and reworking all the varies project stages to ensure the change can be met.
The Waterfall process aims are that you can proceed to the next phase only when the previous phase is fully and successfully completed thus reducing defects along the SDLC.
As the UK longest serving independent test organisation and Leading Vendor of the Year 2016, we always look at the market and beyond to what is trending and adapt our products and services well ahead of the curve to ensure we have amply trained and experience resources on hand to help each of our clients to choose the most suitable one for their testing needs and guide them through the process.