Sunday, December 7, 2014

SDLC Models

Every software developed is different and requires a suitable SDLC approach to be followed based on the internal and external factors.

I have added more information for below popular software models 


 Waterfall Model 
 V Model 
 Agile Model


The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, AnalysisDesign, Construction, Testing,Production/Implementation and Maintenance.


Here are some situations where the use of Waterfall model is most appropriate 
  • Clearly defined requirements , no ambiguous requirements.
  • Stable Product definition
  • Ample resources with required expertise are available to support the product.
  • The project is short.

Waterfall Model Pros & Cons

ADVANTAGE

The advantage of waterfall development is that it allows for departmentalization and control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process model phases one by one.
Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order.

DISADVANTAGE

The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-documented or thought upon in the concept stage.

V Model

The V - model is SDLC model where execution of processes happens in a sequential manner in V-shape. It is also known as Verification and Validation model.
V - Model is an extension of the waterfall model and is based on association of a testing phase for each corresponding development stage. This means that for every single phase in the development cycle there is a directly associated testing phase. This is a highly disciplined model and next phase starts only after completion of the previous phase.
The below figure illustrates the different phases in V-Model of SDLC.


Agile Model 
Agile thought process had started early in the software development and started becoming popular with time due to its flexibility and adaptability.
Following are the Agile Manifesto principles
  • Individuals and interactions . in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.
  • Working software . Demo working software is considered the best means of communication with the customer to understand their requirement, instead of just depending on documentation.
  • Customer collaboration . As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements.
  • Responding to change . agile development is focused on quick responses to change and continuous development.
                           

QAClub : Concepts of Software testing

All ,

 I started this blog to add more conceptual clarity in our day to day testing life . 


This will help QA professionals to understand software Testing concepts ,processes , Tool evaluations 

Stay Tuned !!!!