Agile Software Development methodological analysis of applying on Software Development !!

Agile Software Development it is about how to work together to achieve a Common goal . The article is focus on, how the teams work together for common goal of Plan and development , build and deliver a best software Product .

Introduction :

Agile Software Development Methodologies is about how to apply the Plan and activities of development , to achieve the goal of Quality Product . The methodology is not only fit for developers and Testers only to Produce the Quality but also the Involvement of Team Leaders , Project Mangers , Product Managers , QA mangers, UX/UI designers etc .. any one who are engage in delivering the software. The focal Point of this technique that how the technology team work together and this increase the efficiency of team.

The requirement of Professional behavior does IT Industry know how to tackle the deadlines , dates, estimates , and all thing supposed to be done but we get very confused on these , and we do it badly .

 Testing is Agile Vs Waterfall :    Approach of Waterfall is a linear Sequential design Flow of Software Development  Process . It allows that any state of  development process start only when the previous State is Complete , and does Not define the process to go back in the Previous state to carry changes  of the Previous state .

In short Waterfall approach doesn’t allow the Changes in the Requirement at any time.

Waterfall images

Agile Comes in the Picture to over come the disadvantage of waterfall approach and Provide the instant solution for handling the changes in the requirement .  Instead of linear Sequential approach in agile Methodology follows incremental approach .

Developers start off with a simplistic project design, and then begin to work on small modules. The work on these modules is done in weekly or monthly sprints, and at the end of each sprint, project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run.

The process, with its lack of initial design and steps, is often criticized for its collaborative nature that focuses on principles rather than process.

Test Process Agile Vs Waterfall : 

  • Test Process State
  • Test Planning activities
  • Requirements and Analysis
  • Test Design
  • Acceptance Testing
  • Interaction
  • Notes

Test Process State                              

  Test Process

Test Planning activities :    In waterfall Test Planning activities is to be done once before the testing Phase and Test Plan is reviewed rarely during testing phase activities

In Agile planning activities is to be  done before the project start and the end of the Project and Test Plan is reviewed at each sprint

Requirement and Analysis  :     In waterfall approach all the business requirement should have Clear Picture and cover all the scope of business coverage in detailed description . Requirement cannot be changed in the middle of the development (Rarely happens).  In waterfall it is very difficult task for the test team to initiate any changes in requirements .

In Agile Product owner , team management Prepare the business requirement every day during the Project development . it doesn’t depends that the coverage have full scope or in detailed description .requirement are changed as per business and scenario of market , and test team have not any problem in requirement changes .

Test Design Approach :  in waterfall the Test case design is for all functionalities at a time . In Agile Test case are designed for current release or Sprint

Acceptance Testing :  In Waterfall approach when system testing is completed, the product can be sent to users or customers  for acceptance testing. If the users are internal to the company, the testing is usually called alpha testing. If the users are customers who are willing to work with the product before it is finished, the testing is beta testing. Both alpha and beta tests are a form of pilot tests in which the system is installed on an experimental basis for the purpose of finding bugs.

In Agile the acceptance Testing can be done by the Test team on each iteration of before the delivery or release of each sprint . in Agile the Product Owner is the person responsible for maximizing the value of the product , including customers and users, and is in fact the other authorized entity mentioned in the definition of User Acceptance Testing. By collaborating closely with the Development Team, the Product Owner can continuously deliver feedback about the product and a can accept a user story to be done when it meets the definition of done.

Interactions :  In waterfall  test team is completely separated From the Development  team  and there are formal rules of communication between different departments

In Agile there is only one integrated Team  and there are no rules of communication between departments .

Notes :

 In waterfall

  • Verbose and extensive Documentation
  • Estimates often are Provided by the test Manger
  • Each Engineer is responsible for a small part of the Product
  • Regression Cycle Includes whole Test case and it Performed rarely

In Agile

  • Documentation must be exactly as long as necessary
  • Estimates often are Provided by the test engineer
  • Each test Engineer select a task
  • Each Test Engineer is responsible for the whole Product
  • Regression Cycle Includes only needed , Test case are Performed in each iteration