Agile Model and Methodologies: Guide for Developers and Testers

To understand the concept of agile testing, first le

AGILE is a methodology that promotes continuou

development and testing throughout the softwarecycle of the project. Both development and testingconcurrent unlike the Waterfall model

I hope we got an idea of Agile!!! Now, we can step

The agile software development emphasizes on four core values.

1.2.3.4.

Individual and team interactions over processes and tools

Working software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

Agile versus Waterfall Method

Agile and Waterfall model are two different methods for software development process. Thttp://www.guru99.com/agilescrumextremetesting.html

3/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

different in their approach, both methods are useful at times, depending on the requiremthe project.

Agile Model

Waterfall Model

Agile method proposes incremental and iterative

approach to software design

Development of the software f

from start point to end point.

The agile process is broken into individual models

that designers work on

The design process is not brok

models

The customer has early and frequent

opportunities to look at the product and makedecision and changes to the project

The customer can only see the

of the project

Agile model is considered unstructured compared

to the waterfall model

Waterfall model are more secu

so plan oriented

Small projects can be implemented very quickly.

For large projects, it is difficult to estimate thedevelopment time.

All sorts of project can be estim

completed.

Error can be fixed in the middle of the project.

Only at the end, the whole pro

requirement error is found orbe made, the project has to stabeginning

Development process is iterative, and the project

The development process is ph

http://www.guru99.com/agilescrumextremetesting.html

4/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

is executed in short (2-4) weeks iterations.

Planning is very less.

is much bigger than iteration. E

with the detailed description o

Documentation attends less priority than software

development

Documentation is a top priority

for training staff and upgrade tanother team

Every iteration has its own testing phase. It allows

implementing regression testing every time newfunctions or logic are released.

Only after the development ph

phase is executed because sepfully functional.

In agile testing when an iteration end, shippable

features of the product is delivered to thecustomer. New features are usable right aftershipment. It is useful when you have good contactwith customers.

All features developed are deli

the long implementation phase

Testers and developers work together

Testers work separately from d

At the end of every sprint, user acceptance is

performed

User acceptance is performed

project.

It requires close communication with developers

and together analyse requirements and planning

Developer does not involve in r

planning process. Usually, timetests and coding

Methodologies of Agile Testing

http://www.guru99.com/agilescrumextremetesting.html

5/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

There are various methods present in agile testing, and those are listed below:

Scrum

SCRUM is an agile development method which concentrates specifically on how to manage

based development environment. Basically, Scrum is derived from activity that occurs durScrum believes in empowering the development team and advocates working in small teamembers). It consists of three roles, and their responsibilities are explained as follows:

Scrum Master

Master is responsible for setting up the team, sprint meeting and removes obstacleshttp://www.guru99.com/agilescrumextremetesting.html

6/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

Product owner

The Product Owner creates product backlog, prioritizes the backlog and is responsibthe functionality at each iterationScrum TeamTeam manages its own work and organizes the work to complete the sprint or cycle

Product Backlog

This is a repository where requirements are tracked with details on the no of requirementeach release. It should be maintained and prioritized by scrum master, and it should be discrum team. Team can also request for a new requirement addition or modification or del

Scrum PracticesPractices are described in detailed:

Process flow of Scrum:

Process flow of scrum testing is as follows:

Each iteration of a scrum is known as Sprint

Product backlog is a list where all details are entered to get end productDuring each Sprint, top items of Product backlog are selected and turned into Sprint baTeam works on the defined sprint backlogTeam checks for the daily workhttp://www.guru99.com/agilescrumextremetesting.html

7/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

At the end of the sprint, team delivers product functionality

eXtreme Programming (XP)

Extreme Programming technique is very helpful when there is constantly changing demanfrom the customers or when they are not sure about the functionality of the system. It adv"releases" of the product in short development cycles, which inherently improves the prodsystem and also introduces a checkpoint where any customer requirements can be easilydevelops software keeping customer in the target.

Business requirements are gathered in terms of stories. All those stories are stored in a plparking lot.

In this type of methodology, releases are based on the shorter cycles called Iterations withtime period. Each iteration includes phases like coding, unit testing and system testing whsome minor or major functionality will be built in the application.

Phases of eXtreme programming:

There are 6 phases available in Agile XP method, and those are explained as follows:

PlanningIdentification of stakeholders and sponsorsInfrastructure Requirementshttp://www.guru99.com/agilescrumextremetesting.html

8/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

Security related information and gathering

Service Level Agreements and its conditions

AnalysisCapturing of Stories in Parking lotPrioritize stories in Parking lotScrubbing of stories for estimationDefine Iteration SPAN(Time)Resource planning for both Development and QA teams

DesignBreak down of tasksTest Scenario preparation for each taskRegression Automation Framework

There are two storyboards available to track the work on a daily basis, and those are listedStory Cardboardhttp://www.guru99.com/agilescrumextremetesting.html

9/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

This is a traditional way of collecting all the stories in a board in the form of stick notactivities. As this manual activity involves more effort and time, it is better to switch

Online StoryboardOnline tool Storyboard can be used to store the stories. Several teams can use it

Crystal MethodologiesCrystal Methodology is based on three concepts

1. Chartering: Various activities involved in this phase are creating a development team, ppreliminary feasibility analysis, developing an initial plan and fine-tuning the developme2. Cyclic delivery: The main development phase consists of two or more delivery cycles, d1. Team updates and refines the release plan2. Implements a subset of the requirements through one or more program test integra3. Integrated product is delivered to real users4. Review of the project plan and adopted development methodology3. Wrap Up: The activities performed in this phase are deployment into the user environmdeployment reviews and reflections are performed.

Dynamic Software Development Method (DSDM)

DSDM is a Rapid Application Development (RAD) approach to software development and p

project delivery framework. The important aspect of DSDM is that the users are required tactively, and the teams are given the power to make decisions. Frequent delivery of produactive focus with DSDM. The techniques used in DSDM are1. Time Boxing2. MoSCoW Rules3. PrototypingThe DSDM project consists of 7 phases1.2.3.4.5.6.7.

Feature Driven Development (FDD)

This method is focused around "designing & building" features. Unlike other agile methodspecific and short phases of work that has to be accomplished separately per feature. It inwalkthrough, design inspection, promote to build, code inspection and design. FDD develofollowing things in the target1.2.3.4.5.6.7.8.

Domain object Modeling

Development by featureComponent/ Class OwnershipFeature TeamsInspectionsConfiguration ManagementRegular BuildsVisibility of progress and results

Lean Software Development

Lean software development method is based on the principle "Just in time production". Itspeed of software development and decreasing cost. Lean development can be summariz1.2.3.4.5.6.7.

Eliminating WasteAmplifying learningDefer commitment (deciding as late as possible)Early deliveryEmpowering the teamBuilding IntegrityOptimize the whole

Kanban

Kanban originally emerged from Japanese word that means, a card containing all the infoto be done on the product at each stage along its path to completion. This framework or madopted in software testing method especially in agile testing.

Difference between Scrum and Kanban

ScrumIn scrum technique, test must be broken downso that they can be completed within one sprint

http://www.guru99.com/agilescrumextremetesting.html

Kanban

No particular item size is prescr

11/14

7/3/2015

AgileModelandMethodologies:GuideforDevelopersandTesters

Prescribes a prioritized product backlog

Prioritization is optional

Scrum team commits to a particular amount of

work for the iteration

Commitment is optional

Burndown chart is prescribed

No particular item size is prescr

Between each sprint, a scrum board is reset

A Kanban board is persistent. It

of items in workflow state

It cannot add items to ongoing iteration

It can add items whenever capa

WIP limited indirectly

WIP limited directly

Timeboxed iterations prescribed

Timeboxed iterations optional

Agile metrics:Metrics that can be collected for effective usage of Agile is:Drag Factor

Effort in hours which do not contribute to sprint goal

Drag factor can be improved by reducing number of shared resources, reducing thecontributing workNew estimates can be increased by percentage of drag factor -New estimate = (Old eVelocityAmount of backlog converted to shippable functionality of sprintNo of Unit Tests addedTime taken to complete daily buildBugs detected in an iteration or in previous iterationsProduction defect leakage