Agile Interview
Agile Interview
Agile Interview
Agile is an iterative approach to project management and software development that helps
teams deliver value to their customers faster
Cons: Poor resource planning: In most cases, developers don't know what their end result will
be, it's hard to determine the cost of the product at the start of SDLC.
Limited documentation: Generally, in agile methodology documentation becomes less detailed
and often falls to the back burner.
Trickier decision-making: It requires an expert to make crucial decisions.
Class Responsibilities
Collaborators Card
Daily stand-up meetings
Agile Manifesto:
Agile Four Values:
● individuals and interactions over processes and tools;
● working software over comprehensive documentation;
● customer collaboration over contract negotiation; and.
● responding to change over following a plan.
Agile 12 Principles: CWFDPFCSESS
1. Customer satisfaction through early and continuous delivery of useful software
Customer satisfaction is obtained through early delivery of products to customers for testing and
feedback, through continuous delivery to let customers know the progress and through delivery
of values to the customers by fulfilling the top priority requirements first. The output of each
iteration is working code that can be used to evaluate and respond to changing and evolving
user requirements.
10. Simplicity—the art of maximizing the amount of work not done—is essential
The Pareto principle or the 80/20 rule is applied. It means that typically 80% of your
results may actually come from only 20% of your efforts! The idea is to focus on the important
20% of effort that gets the majority of the results. If you have control over the scope, and if
speed-to-market is of primary importance, why not seek to deliver the important 80% of your
product in just 20% of the time?
Focus on what are essential to create value to the project and customer not on
distractors that do not add values like components, process, etc.
What is Pair programming? Explain its advantages. Pair programming, as the name
suggests, is a software development practice where one programmer writes the code and the
other one reviews it. There are many advantages of pair programming, some of them are -
Kanban- Kanban is similar to Scrum, in that it aims to support teams working at top-level
efficiency together.
It zooms in on the workflow aspect of a project, streamlining what is in progress and avoiding
bottlenecks in productivity. Kanban usually involves use of a Kanban board or flowchart.
XP or Extreme Programming - is popular in the software development sector due to its goal of
frequent releases.
This approach is ideal for projects where continuous value delivery is a high priority.
Rapid feedback. Team members understand the given feedback and react to it right away.
Assumed simplicity. Developers need to focus on the job that is important at the moment and
follow YAGNI (You Ain’t Gonna Need It) and DRY (Don’t Repeat Yourself) principles.
Incremental changes. Small changes made to a product step by step work better than big
ones made at once.
Embracing change. If a client thinks a product needs to be changed, programmers should
support this decision and plan how to implement new requirements.
Quality work. A team that works well, makes a valuable product and feels proud of it.
FDD - Feature-Driven Development is not a million miles from XP. It also seeks to deliver value
to clients regularly throughout the lifecycle of a project.
User Stories: User stories are prepared according to the client’s perspective such as project or
business functions, and delivered in a particular sprint.
Task: The user stories further broken down into various tasks.
A story point in Scrum is the unit for the estimation of total efforts that are required to perform
or complete a particular task.
Relative Estimation: Let say we have three glass of water and all three contains different
amount of water so it is very difficult for us to calculate the quantity of water in absolute terms
but what we can do we can use relative sizing like first glass is just half of the second and
second glass is just ¼ of third.
A release note refers to the technical documentation produced and distributed alongside the
launch of a new software product or a product update (e.g., recent changes, feature
enhancements, or bug fixes). It very briefly describes a new product or succinctly details specific
changes included in a product update
Definition of Done (DoD) refers to the collection of deliverables, which includes written codes,
comments on coding, unit tests, integration testing, design documents, release notes, etc. This
adds verifiable and demonstrable values to project development. DoD is very helpful to scrum
while identifying the deliverables to achieve the objective of the projects
Benefits of Planning Poker Estimation
Planning poker combines three methods of estimation -
Expert Opinion : In an Expert Opinion based Estimation approach, an expert is asked how long
something will take or how big it will be. The expert provides an estimate relying on his or her
experience or intuition or gut feel.
Expert Opinion Estimation usually doesn’t take much time and is more accurate compared to
some of the analytical methods.
Analogy : Analogy Estimation uses comparison of User Stories. The User Story under
Estimation is compared with similar User Stories implemented earlier. This results in accurate
results as the estimation is based on proven data.
Impediments in Scrum:
Resource missing or sick team member
Technical, operational, organizational problems
Lack of management supportive system
Business problems
External issues such as weather, war etc
Lack of skill or knowledge
What is increment?
An increment is the total of all the product backlogs items completed during a sprint. Each
increment includes all the previous sprint increment values as it is cumulative. It must be in the
available mode in the subsequent release as it is a step to reach your goal.
The build-breaker is a situation that arises when there is a bug in the software. Due to this
sudden unexpected bug, compilation process stops or execution fails or a warning is generated.
The responsibility of the tester is then to get the software back to the normal working stage
removing the bug.
It is not easy to make a prediction about the effort required to complete a task. It becomes more
problematic in case of large projects as it becomes difficult to get an idea of the total effort
required.
At sometimes, it’s not possible to properly focus on the design and documentation of the project
In case the requirements of the client are not understood properly, the final project will not meet
the customer requirements. Thus, it will lead to the customer dissatisfaction.
Only the leader who has considerable experience in Agile methodologies is capable to take
important decisions. The team members with little or no experience are not involved in
decision-making, thus they don’t get chance to advance their knowledge.
Zero sprint – Zero Sprint can be defined as the preparation step of the first sprint in Agile.
There are some activities that are required to be done before actually starting the project. These
activities are considered as the Zero sprint; the examples of such activities are – setting the
environment for development, preparation of backlogs etc.
Spike – Spike is the type of story that can be taken between the sprints. Spikes are commonly
used for the activities related to the design or technical issues such as research, design,
prototyping, and exploration. There are two types of spikes – functional spikes and technical
spikes.
What is the role of the Scrum Master?
The scrum master is the leader as well as coach of the Scrum team. The scrum master is
responsible to serve and protect his team from any kind of distractions that could affect their
performance. The main role of the scrum master is to motivate his team to achieve the sprint
goal. He is focused to build a self-organized and motivated team where each member is familiar
with the implementation of Agile and Scrum principles and applications. The scrum master
keeps a proper check on the scrum team if they are executing committed tasks properly. He is
also responsible to increase the efficiency and productivity of the team so that they can achieve
the sprint goal effectively.
Scrum master(Process Leadership) – Scrum master is the leader and the coach for the scrum
team who checks whether the scrum team is executing committed tasks properly. He is also
responsible to increase the efficiency and productivity of the team so that they can achieve the
sprint goal effectively.
The scrum master removes impediments, shields the team from distractions, and
enables them to adopt agile practices.
Scrum team – Scrum team is formed by the collective contribution of individuals who perform
for the accomplishment of a particular project. The team is bound to work for the timely delivery
of the requested product.
What are the skills of a good Agile Tester? An agile tester is one who implements agile
software development principles for software testing. Followings are the skills of a good agile
tester –
Required to be familiar with the concepts and principles of Agile
Should have an excellent communication to communicate with the team and the clients
Ability to set priority for the tasks according to the requirements
Should be able to understand the requirements properly
Understanding of the risks involved with a project due to changing requirements
Explain some common metrics for Agile. You may definitely come across agile scrum
interview questions regarding agile metrics. The question may be related to a particular agile
matric or explaining all the metrics. So, the detailed description of some common metrics for
Agile is as follows:
Velocity – Velocity is the average number of points from last 3-4 sprints. It is measured by the
summation of the all approved estimates of the stories. It gives an idea of the capacity, progress
etc.
Cumulative Flow Diagram – With the help of a cumulative flow diagram, an inspection is done
over the uniform workflow. In this diagram/graph, the x-axis represents time whereas the y-axis
represents the number of efforts.
Work Category Allocation – Work category allocation is an important factor that gives a quick
information of the time investment i.e. where the time is being invested and which task should
be given priority as a factor of time.
Time Coverage – It is the time that is given to a code during testing. It is calculated in
percentage as a factor of the number of lines of code called by the test suite and the total
number of relative lines of code.
Business Value Delivered – It is a term which denotes the working efficiency of the team. The
business objectives are assigned numerical values 1,2,3.. and so on, as per the level of priority,
complexity, and ROI.
Defect Removal Awareness – It is the factor that helps the team to deliver a quality product.
The identification of an active number of defects, their awareness, and removal plays an
important role in delivering a high-quality product.
Defect Resolution Time – It is a procedure through which the team members detect the
defects (bugs) and set a priority for the defect resolution. The procedure of fixing errors/bugs or
defect resolution comprises of multiple processes such as clearing the picture of defect,
schedule defect fixation, completing defect fixation, generation, and handling of resolution
report.
Sprint Burn Down Matric – The sprint burndown chart is a graph to represent the number of
non-implemented or implemented sprints during as Scrum cycle. This matric helps to track the
work completed with the sprint
What do you know about “Planning Poker” technique? Planning poker, also known as
Scrum Poker, is a card-based agile technique that is used for planning and estimation. To start a
session of planning poker technique, the agile user story is read by the product owner. The
steps performed in the poker planning technique are –
Each estimator has a deck of poker cards with the values such as 0, 1, 2, 3, 5, and so
on, to denote story points, ideal days or something else that the team uses for estimation.
Each estimator has a discussion with the product owner and then privately selects a card on the
basis of their independent estimation.
If the cards with same value are selected by all estimators, it is considered as an
estimate. If not, the estimator discusses the high and low value of their estimates.
Then again, each estimator privately selects a card and reveals. This process of poker planning
is repeated to reach a general agreement.
Questions