You are on page 1of 18

Principles Agile Software Development | Software Testing Material

Principles Agile Software Development listed the 12 principles of Agile Software Development.
Before going ahead, lets see what is Agile Testing.
Agile testing is a software testing practice that follows the principles agile software
development. It is an iterative software development methodology where requirements keep
changing as per the customer needs. Testing is done in parallel to the development of an
iterative model. Test team receives frequent code changes from the development team for
testing an application.
12 principles Agile Software Development:
1. Highest priority is to satisfy the customer through early and continuous delivery of business
valuable software
2. Welcome changing requirements, even late in development
3. Deliver working software frequently
4. Business people and developers must work together daily without transparency throughout
the project
5. Build projects around motivated individuals
6. The best form of communication is to do face-to-face conversation
7. Working software is the primary measure of progress
8. Able to maintain a constant pace
9. Continuous attention to technical excellence
10. Simplicity the art of maximizing the amount of work not done is essential
11. Self-organizing teams
12. At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly
Agile Testing Interview Questions 1 10:

1. What is Agile Testing?

Agile testing is a software testing practice that follows the principles of an agile software
development. It is an iterative software development methodology where requirements keep
changing as per the customer needs. Testing is done in parallel to the development of an
iterative model. Test team receives frequent code changes from the development team for
testing an application.

2. What is Agile Manifesto?

Agile manifesto defines 4 key points:


i. Individuals and interactions over process and tools
ii. Working software over comprehensive documentation
iii. Customer collaboration over contract negotiation
iv. Responding to change over following a plan

3. What are the principles of Agile Software Development?


1. Highest priority is to satisfy the customer through early and continuous delivery of business
valuable software
2. Welcome changing requirements, even late in development
3. Deliver working software frequently
4. Business people and developers must work together daily without transparency throughout
the project
5. Build projects around motivated individuals
6. The best form of communication is to do face-to-face conversation
7. Working software is the primary measure of progress
8. Able to maintain a constant pace
9. Continuous attention to technical excellence
10. Simplicity the art of maximizing the amount of work not done is essential
11. Self-organizing teams
12. At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly

4. What are the main roles in Scrum?

Scrum consists of three main roles:

Product Owner: Product Owner usually represents the Client and acts as a point of contact from
Client side. The one who prioritizes the list of Product Backlogs which Scrum Team should finish
and release.

Scrum Master: Scrum Master acts as a facilitator to the Scrum Development Team. Clarifies the
queries and organizes the team from distractions and teach the team how to use scrum and
also concentrates on Return on Investment (ROI). Responsible for managing the sprint.

Scrum Development Team: Developers, QAs. Who develops the product. Scrum development
team decides the effort estimation to complete a Product Backlog Item.

Scrum Team: A cross-functional, self-organizing group of dedicated people (Group of Product


Owner, Business Analyst, Developers and QAs). Recommended size of a scrum team is 7 plus or
minus 2 (i.e, between 5 to 9 members in a team).

5. What approach do you follow when requirements change continuously?

In Agile methodology, change in requirement is possible. Its not like other traditional
methodologies where the requirements are locked down at the requirement phase. Every team
member should be ready to handle the changes in the project.
The team should work closely with the Product Owner to understand the scope of requirement
change and to negotiate to keep the requirement changes to a minimum or to adopt those
changes in next sprint. Based on the requirement changes Test Team could update the Test Plan
and Test Cases to achieve the deadlines. The team should understand the risk in requirement
change and prepare a contingency plan. It is a best practice not to go for the automation
process until requirements are finalized.

6. How is Agile Testing different to other traditional Software Development Models?

It is one of the common Agile Testing Interview Questions.


In Agile Methodology, testing is not a phase like other traditional models. It is an activity parallel
to development in the Agile. The time slot for the testing is less in the Agile compared to the
traditional models. The testing team works on small features in Agile whereas the test team
works on a complete application after development in the traditional models.

7. When do we use Agile Scrum Methodology?

i. When the client is not so clear on requirements


ii. When the client expects quick releases
iii. When the client doesnt give all the requirements at a time

8. What is a Sprint?

In Scrum, the project is divided into Sprints. Each Sprint has a specified time line (2 weeks to 1
month). This timeline will be agreed by a Scrum Team during the Sprint Planning Meeting. Here,
User Stories are split into different modules. The end result of every Sprint should be a
potentially shippable product.

9. What are Product Backlog and Sprint Backlog?

Product Backlog: Product Backlog is a repository where the list of Product Backlog Items stored
and maintained by the Product Owner. The list of Product Backlog Items are prioritized by the
Product Owner as high and low and also could re-prioritize the product backlog constantly.

Sprint Backlog: Group of user stories which scrum development team agreed to do during the
current sprint (Committed Product Backlog items). It is a subset of the product backlog.

10. What is the difference between Burn-up and Burn-down chart?


Burn Down Charts provide proof that the project is on track or not. Both burn-up and burn-
down charts are graphs used to track the progress of a project.
Burn-up charts represent how much work has been completed in a project whereas Burn-down
chart represents the remaining work left in a project.

Agile Testing Interview Questions 11 20:

11. What are the types of burn-down charts?

There are four popularly used burn down charts in Agile.


i. Product burn down chart
ii. Sprint burn down chart
iii. Release burn down chart
iv. Defect burn down chart

12. What is Product Burn down Chart?

A graph which shows how many Product Backlog Items (User Stories) implemented/not
implemented.

13. What is Sprint Burn down Chart?

A graph which shows how many Sprints implemented/not implemented by Scrum Team.

14. What is Release Burn down Chart?

A graph which shows List of releases still pending, which Scrum Team have planned.

15. What is Defect Burn down Chart?

A graph which shows how many defects identified and fixed.

16. What is a Daily Stand-up Meeting?

Daily Stand-up Meeting is a daily routine meeting. It brings everyone up to date on the
information and helps the team to stay organized.
Each team member reports to the peers the following:
1. What did he/she do yesterday
2. What are the impediments faced
3. What he/she will do today
In general, its not a recorded meeting. Reporting will be between peers not to Scrum Master or
Product Owner. It is normally timeboxed to a maximum of 15 minutes. It is aka 15 Minute
Stand-up Meeting

17. What is a Sprint Planning Meeting?

The first step of Scrum is Sprint Planning Meeting where the entire Scrum Team attends. Here
the Product Owner selects the Product Backlog Items (User Stories) from the Product Backlog.
Most important User Stories at the top of the list and least important User Stories at the
bottom. Scrum Development Team decides and provides the effort estimation.

18. What is a Sprint Review Meeting?

In the Sprint Review Meeting, Scrum Development Team presents a demonstration of a


potentially shippable product. Product Owner declares which items are completed and not
completed. Product Owner adds the additional items to the product backlog based on the
stakeholders feedback.

19. What is a Sprint Retrospective Meeting?

Scrum Team meets again after the Sprint Review Meeting and documents the lessons learned in
the earlier sprint such as What went well, What could be improved. It helps the Scrum Team
to avoid the mistakes in the next Sprints.

20. What is a Task Board?

A task board is a dashboard which illustrates the progress that an agile team is making in
achieving their sprint goals.
In general, the columns used in a task board are as follows
i. User Story: Actual Business Requirement (Description)
ii. To Do: All the tasks of current sprint
iii. In Progress: Any task being worked on
iv. To Verify: Tasks pending for verification
v. Done: Tasks which are completed
Agile Scrum Methodology In Software Development
Agile Scrum Methodology is one of the popular Agile software development methods. There
are some other Agile software development methods but the popular one which is using widely
is Agile Scrum Methodology. The Agile Scrum Methodology is a combination of both
Incremental and Iterative model for managing product development.
In Scrum, the project is divided into Sprints.
Sprint: Each Sprint has a specified time line (2 weeks to 1 month). This time line will be agreed
by a Scrum Team during the Sprint Planning Meeting. Here, User Stories are split in to different
modules. End result of every Sprint should be potentially shippable product.
The three important aspects involved in Scrum such as Roles, Artifacts and Meetings:
ROLES IN AGILE SCRUM METHODOLOGY:
Product Owner:

Product Owner usually represents the Client and acts as a point of contact from Client side. The
one who prioritizes the list of Product Backlogs which Scrum Team should finish and release.
Scrum Master:
Scrum Master acts as a facilitator to the Scrum Development Team. Clarifies the queries and
organizes the team from distractions and teach team how to use scrum and also concentrates
on Return on Investment (ROI).
Scrum Development Team:
Developers, QAs. Who develops the product. Scrum development team decides the effort
estimation to complete a Product Backlog Item.
Scrum Team:
A cross-functional, self-organizing group of dedicated people (Group of Product Owner, Business
Analyst, Developers and QAs). Recommended size of a scrum team is 7 plus or minus 2 (i.e,
between 5 to 9 members in a team)
ARTIFACTS IN AGILE SCRUM METHODOLOGY:
User Stories:
User Stories are not like a traditional requirement documents. In User Stories, stake holder
mention what features they need and what they want to achieve.
Product Backlog:
Product Backlog is a repository where the list of Product Backlog Items stored and maintained
by the Product Owner. The list of Product Backlog Items are prioritized by the Product Owner as
high and low and also could re-prioritize the product backlog constantly.
Sprint Backlog:
Group of user stories which scrum development team agreed to do during the current sprint
(Committed Product Backlog items)
Product Burn down Chart:
A graph which shows how many Product Backlog Items (User Stories) implemented/not
implemented.
Sprint Burn down Chart:
A graph which shows how many Sprints implemented/not implemented by Scrum Team.
Release Burn down Chart:
A graph which shows List of releases still pending, which Scrum Team have planned.
Defect Burn down Chart:
A graph which shows how many defects identified and fixed.
Note: Burn Down Charts provide proof that the project is on track or not.
MEETINGS IN AGILE SCRUM METHODOLOGY:
Sprint Planning Meeting:
The first step of Scrum is Sprint Planning Meeting where the entire Scrum Team attends. Here
the Product Owner selects the Product Backlog Items (User Stories) from the Product Backlog.
Most important User Stories at the top of the list and least important User Stories at the
bottom. Scrum Development Team decides and provides the effort estimation.
Daily Scrum Meeting: (Daily Stand-up)
Daily Scrum is also known as Daily Stand-up meeting. Here each team member reports to the
peer team member on what he/she did yesterday, what he/she going to do today and what
obstacles are impeding in their progress. Reporting will be between peers not to Scrum Master
or Product Owner. Daily Scrum will be approximately 15 mins.
Sprint Review Meeting:
In the Sprint Review Meeting, Scrum Development Team presents a demonstration of a
potentially shippable product. Product Owner declares which items are completed and not
completed. Product Owner adds the additional items to the product backlog based on the
stakeholders feedback.
Sprint Retrospective Meeting:
Scrum Team meets again after the Sprint Review Meeting and documents the lessons learnt in
the earlier sprint such as What went well, What could be improved. It helps the Scrum Team
to avoid the mistakes in the next Sprints.
When do we use Agile Scrum Methodology?
The client is not so clear on requirements
The client expects quick releases
The client doesnt give all the requirements at a time
Conclusion:
In an Agile Scrum Methodology, all the members in a Scrum Team gathers and finalize the
Product Backlog Items (User Stories) for a particular Sprint and commits time line to release the
product. Based on the Daily Scrum meetings, Scrum Development Team develops and tests the
product and presents to the Product Owner on Sprint Review Meeting. If the Product Owner
accepts all the developed User Stories then the Sprint is completed and the Scrum Team goes
for the next Sprint in a same manner.

What is Agile development?

Agile software development is a methodology that is followed to overcome

issues associated with the traditional waterfall development.

In Agile development, you follow an iterative approach where the entire software

project is completed in iterative phases. Each iteration delivers an incremental working


version of the application.

Users continually evaluate each working version / iteration of the product, and

provide feedback to the development team which the developers incorporate into

subsequent versions of the product.

This approach provides the opportunity to account for changing business realities

and also minimize large scale project/product-failure risk that can sometimes happen
when using the Waterfall approach to product development.

Agile still uses some of the keys steps associated with Waterfall development in

each iteration i.e. analyze, build, and test.

What is the business context for #Agile Development?

The Agile methodology is typically used in scenarios where:

The requirements or details of outcomes are not very clear at the outset.

Business needs are changing rapidly and /or are continually evolving.

Where testing the feasibility of an available technology to solve a problem is

critical.
Where funds to develop the product may be made available incrementally based

on the proven feasibility of the product.

Where bringing a version of the product to market as soon as possible is more

critical than having all the bells and whistles.

How does Scrum fit into Agile Development?

While the Agile methodology can be applied to product development not only in the software

industry but in other industries as well, Scrum is specific to software development.

Scrum is not a methodology. It simply provides structure, discipline and a framework for Agile

development. The whole project is made up of a series of Sprints or Sprint Cycles (1 to n) where

each Sprint is of the same duration i.e. if Time is denoted by T, then T1 = T2 = T3 = Tn. Sprints

could be anywhere between 2 to 4 weeks. Sprints shorter than 2 weeks are not ideal and are

used less frequently. At the end of each Sprint, a functional / working piece of software is

produced that the users can actually test.


The diagram below illustrates the use of Scrum in Agile development.

Key characteristics of Scrum

Scrum does not have a detailed series of steps or guidelines instructing how you

go about software development.

Scrum does not have team leaders or sub-teams; it is just one cross-functional

team where everyone is involved with the project from start to finish. The team includes

Users, Stakeholders, Developers, the Scrum Master, the Product Owner.

There are 3 roles in Scrum the Scrum Master, the Product Owner, the Team

note the conspicuous absence of a Project Manager.

Self-organizing teams are vital to Scrum i.e. people who are creative and

disciplined at the same time and who do not need to be managed.


Scrum is a series of sprints. Each sprint can last anywhere from 2 to 4 weeks

(recommended). A sprint is a complete mini-software development cycle (analyze, build,

and test phase) . At the end of each sprint, the customer gets a working version of the

product with new/additional functionality as compared to the previous sprint. The

customer / users test the product and provide feedback to the team.

The developers and other technical staff in the team are usually highly

experienced and understand both technology and business.

Key Steps in Scrum

The key steps in a Sprint a.k.a. the single basic unit/cycle of development in Scrum are:

STEP 1: Sprint Planning Session

Product Owner tells the Team what s/he wants in the Sprint. S/he picks these

items from the Product Backlog.

The Product Backlog is a list of high level requirements.

Team decides what they can commit to.

Committed items become the Sprint Backlog this is frozen and cannot change

during the Sprint.

STEP 2: Sprint
The period when the team works on building the features identified in the Sprint

Backlog for that sprint.

Daily Scrum sessions are held to review issues / problems / roadblocks / progress

/ commitments.

The Sprint Burn Down chart is updated each day to show progress / completion

of items. The team reviews this daily to understand where and how effort needs to be

expended.

The Sprint must end on time whether all items/tasks are completed or not.

STEP 3: Product Release (Incremental Release)

Release a working version of the product with the features committed to as part

of the Sprint.

STEP 4: Sprint Review Meeting

Review work completed and not completed versus committed items for the

Sprint.

Present work to stakeholders as a demo.

STEP 5: Sprint Retrospective

Team members review the sprint.

Discuss what worked well and what needs improvement.


Basically a self corrective session (lessons learned) to incorporate process

improvements in preparation for the next Sprint.

You might also like