Agile

Basic Agile interview questions

The following questions cover core tenets of the Agile methodology to help you showcase your experience and thought processes, or for managers to gauge a candidate’s basic understanding of Agile.

 

1. What is Agile?

Agile is an iterative approach to software development in which teams focus on short sprints and regular collaboration in order to deliver value quickly and with fewer issues. 

2. Describe the Agile Manifesto and its core values

The Agile manifesto is a document published in early 2001 that outlines the values and key principles of the Agile philosophy.

There are four core values outlined in the Agile manifesto. 

  1. Individuals and interactions over processes and tools: The Agile manifesto places people and collaboration at the forefront of the philosophy. The contributions of an engaged team of individuals are more valuable than the tools or processes they might use to accomplish their work. 

  2. Working software over comprehensive documentation: The Agile philosophy prioritizes delivering software to customers over waiting for extensive documentation that can slow down the software development process. Documentation is still valuable, but teams shouldn’t let documentation gathering become a bottleneck preventing writing code.

  3. Customer collaboration over contract negotiation: This Agile value prioritizes customer-centric software development over product-centric development. Agile aims to begin the customer collaboration process early in the software development lifecycle and build in a continuous customer feedback loop to ensure the product meets customer needs. 

  4. Responding to change over following a plan: Rather than viewing a product roadmap as a static document, Agile encourages teams to frequently revisit their roadmap and make changes as needed to align with customer needs.

four-core-values-of-agile-philosophy
 

3. What are the principles of the Agile manifesto?

There are 12 key principles outlined in the Agile manifesto (quoted directly below).  

  1. Customer satisfaction: The highest priority is to satisfy the customer through early and continuous delivery of valuable software.

  2. Welcome change: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

  3. Deliver frequently: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.

  4. Work together: Clients and developers must work together daily throughout the project.

  5. Motivated team: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

  6. Face-to-face conversations: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  7. Working software: Working software is the primary measure of progress.

  8. Constant pace: Agile processes promote sustainable development—the sponsors, developers, and users should be able to maintain a constant pace indefinitely.

  9. Good design: Continuous attention to technical excellence and good design enhances agility.

  10. Simplicity: Simplicity—the art of maximizing the amount of work not done—is essential.

  11. Self-organization: The best architectures, requirements, and designs emerge from self-organizing teams.

  12. Reflect and adjust: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

 

4. What is Agile testing?

The Agile testing method involves software testing throughout the development process, not just before deployment. This means gathering feedback from the customer throughout the development process to ensure the code that’s delivered meets expectations and works like it’s supposed to. 

 

5. What are the principles of Agile testing?

There are several core principles of Agile testing. 

  • Early and continuous testing: Testing should be implemented in the early stages of the software delivery lifecycle and carried on throughout the entire development. 

  • Frequent deliveries: Teams should aim for frequent software delivery, ideally every two weeks. 

  • Team approach: Agile teams involve more than the core group creating the code. The team should also involve testers, product managers, and stakeholders.

  • Close collaboration: Teams should aim for frequent face-to-face or virtual conversations to convey key information. 

  • Customer involvement: Software development teams should seek customer feedback after each iteration to foster an environment of continuous improvement. 

 

  • Automation utilization: Teams should seek tools to automate some of the manual testing that must be performed. 
  • Flexible approach: Based on customer feedback, requirements can and should be changed during the development process to better align with customer needs.
 

6. What are the differences between Agile and Waterfall?

There are quite a few differences between Agile and Waterfall methodologies. One of the key differences is that Agile is a flexible process that accommodates project changes. Waterfall, on the other hand, is a rigid structure that does not allow for changes after the project has begun. 

agile-vs-waterfall
 

7. When would you use Waterfall over Agile?

In the Agile world, there’s a strong emphasis on flexibility, collaboration, and the ability to adapt to change. However, some projects may be better suited for Waterfall’s structured approach. For example, if a project needs to comply with strict regulations or standards, Waterfall’s rigid approach with documented deliverables can ensure adherence. 

 

8. What are the different Agile frameworks?

The Agile philosophy has been incorporated into several software development frameworks, including Kanban, Scrum, Extreme Programming, and Lean. 

  • Kanban: With the Kanban framework, teams visualize the software development process with a Kanban board. This board includes “To Do,” “In Progress,” and “Done” columns to help teams visualize the entire development cycle as it unfolds. 

  • Scrum: Scrum is one of the most popular Agile frameworks. It centers around short work iterations called sprints that ideally take place over the course of two weeks. The Scrum process involves regular meetings during development, including the sprint planning meeting, daily stand-ups, sprint reviews, and sprint retrospectives. 

  • Extreme Programming (XP): The XP framework focuses on delivering quality software, collaborating as a team, and improving the well-being of the software development team. XP involves test-driven deployment, pair programming, and a 40-hour workweek to help prevent developer burnout.  

  • Lean: Lean software development is an approach that aims to eliminate waste and maximize value to the customer. This framework also values quality building through pair programming, incremental development, minimizing wait states, and looking for automation opportunities to limit human error. 
  • SAFe: The Scaled Agile Framework (aka SAFe) is a set of organizational and workflow patterns designed to implement the Agile philosophy at the enterprise level.
  • Crystal: The Crystal Agile framework focuses on people, collaboration, and adaptability over strict processes. There is less focus on formalities, empowering teams to find their own solutions and workflows. Each variation of Crystal caters to different team sizes and project complexities. 

 

9. What is iterative development in Agile?

Iterative development in Agile is a process in which sprints and releases are repeated until the final product is achieved. Customer feedback is implemented with each iteration so that the product is continuously improved. 

 

10. What is incremental development in Agile?

Incremental development in Agile is an approach in which work is sliced up into smaller pieces, or increments. Each increment is built upon previous versions so that improvements are made bit by bit.

 

11. What type of projects are well-suited for Agile methodology?

The Agile methodology is well-suited for software development, product design, marketing, and recruiting, to name a few. 

 

12. What is the value of daily stand-ups?

Daily stand-ups allow teams to improve communication, identify roadblocks, share knowledge, and make decisions regarding the tasks at hand. Daily stand-ups also eliminate the need for other time-consuming meetings so developers can stay focused on their work. 

 

13. What is a sprint planning meeting?

Sprint planning meetings kick off at the beginning of each new sprint. The team gets together to discuss the work they need to complete in the upcoming sprint and how they’ll accomplish their sprint goal. At the end of the meeting, teams should have finalized the sprint goal and the sprint backlog. 

 

14. What is a sprint review meeting?

A sprint review meeting takes place at the end of a sprint and acts as a show and tell to demonstrate the product's key features and gather feedback. It’s a chance to discuss what the team accomplished and any changes they need to make. 

 

15. What is a sprint retrospective meeting?

A sprint retrospective meeting also occurs after the sprint review meeting but before the start of the next sprint. It’s an opportunity for a team to reflect on what went well and what can be improved in the upcoming sprint. 

 

16. What are some popular Agile tools you’re familiar with?

Popular Agile tools include: 

  • GitHub 

  • Jira 

  • VersionOne 

  • Trello 

  • Asana 

  • Zoho

  • Yodiz

 

17. Can you explain what release candidate means?

A release candidate is an internal version of a product or software before it goes live. It’s as close as possible to the final release, but further testing may need to be conducted to ensure it meets quality standards and is ready for customers. It’s like the final draft before the big release.   

 

Intermediate interview questions on Agile

The following questions will help gauge a candidate’s intermediate knowledge of the Agile methodology. 

 

18. Name some of the key Agile metrics

Some of the key metrics associated with the Agile methodology include: 

  • Velocity: The average amount of work a team completes during a sprint, measured in story points or hours

  • Workload distribution: The amount of work assigned to each team member during a sprint 

  • Failed deployments: The number of deployments that have failed in a given timeframe 

  • Escaped defects: The number of issues found in a release or deployment after production

  • Deployment frequency: A measure of how often code is deployed

  • Lead time: A measure of how much time passes between task creation and when the work is completed
  • Cycle time: A measure of the elapsed time from when work starts on an item until it's ready for delivery
 

19. What are burn-up charts in Agile?

Burn-up charts are used to measure progress and scope creep during a sprint. The y-axis represents the amount of work and is measured in tasks, hours, or story points. The x-axis represents time, typically measured in days. 

The chart shows when work was added or removed during the sprint and allows teams to better forecast the project completion date.

 

20. What are burn-down charts in Agile?

Burn-down charts are used to show how much work remains during a sprint. The x-axis represents the amount of time left to complete the project and the y-axis represents effort. This chart depicts velocity, or the rate at which a team is moving toward the end goal, and can be used to help predict performance.

burn-down-vs-burn-up-charts

 

21. What are the different types of burn-down charts you have experience working with?

There are different types of burn-down charts, depending on the kind of project you’re working on. 

  • Product burn-down chart: A product burn-down chart shows the story points of all completed sprints, showing the completion of requirements over time. 

  • Sprint burn-down chart: A sprint burn-down chart represents the work that’s been completed during a sprint and the amount of work remaining. 

  • Release burn-down chart: A release burn-down chart shows the progress of how many features or epics have been completed during the release.

  • Defect burn-down chart: A defect burn-down chart tracks the total number of defects that are identified in a sprint and fixed or removed.
 

22. What is Kanban?

Kanban is an Agile framework that helps teams visualize work during the software development lifecycle. Work is represented on Kanban boards, where each column represents a step in your workflow. Underneath these columns, teams add a Kanban card that represents a specific work item. 

 

23. What is the Scrum of Scrums?

Scrum of Scrums, sometimes called SoS, is a scaled Agile technique that helps multiple teams work together to deliver complex products. The technique splits up a large group (more than a dozen members) into smaller units of five to 10 members. 

Each of these smaller teams designates an ambassador that participates in daily Scrum meetings with other ambassadors. Meetings with these ambassadors are called the Scrum of Scrums, and they aim to improve collaboration between teams. 
 

 

24. What are the main artifacts in the Scrum framework?

The artifacts of the Scrum process include: 

  • Product backlog: Product backlogs are prioritized lists of everything needed for the final product, including features, bug fixes, and non-functional requirements. 

  • Sprint backlog: The sprint backlog is a subset of items picked from the product backlog that the team agrees to deliver during the upcoming sprint. These backlog items are selected during sprint planning meetings. 

    Product increment: The product increment is the sum of all of the product backlog items completed during a sprint, as well as the work completed from previous sprints.

 

25. What are some challenges teams face in the Agile process?

Common challenges teams encounter when incorporating the Agile philosophy include: 

  • Resistance to change: Many organizations are comfortable with what they’ve always done and can be resistant to adopting a new work approach. Agile adoption requires buy-in from the entire team, which can take time and a shift in culture. 

  • New tool requirements: Some teams may need to adopt new technologies, like AI-assisted software development tools, to better track work during the Agile process. This may require getting rid of past tools in favor of new ones, which can introduce the same challenges of cultural adoption as the actual Agile process itself. 
  • Investing in the proper training: Ensuring your team understands what Agile is and why you’re adopting it can be an overlooked step. However, it’s crucial your team has a full understanding of Agile in order for it to be properly implemented.
 

26. How long does the Scrum cycle last?

While the length of the Scrum cycle will be determined depending on your team size and the scope of the project, a typical timeframe is between two and four weeks. 

 

27. What is a spike in Agile?

A spike, a concept adopted from Extreme Programming, is a user story that requires more information in order to estimate how long the story will take to finish. Spikes are also referred to as time-boxed investigations because they’re allotted a certain amount of time in each sprint. 

 

28. What is refactoring?

Refactoring is the process of improving the structure of existing code without changing its functionality. 

 

29. Define epic, user stories, and tasks

  • Epic: An epic is a large chunk of work that’s separated into smaller tasks called user stories.

 

  • User stories: A user story is a brief, simple explanation of a feature or functionality written from a user's point of view.
  • Tasks: A task is a single unit of work broken down from a user story.
 

30. What is test-driven development?

Test-driven development (TDD) is a software development approach in which tests are written before the actual code is created. The main goal of TDD is to modify and write new code only when tests fail to help prevent duplicate code. 

 

31. What’s the difference between sprint backlog and product backlog?

A product backlog is a prioritized list of tasks to be done in the future. The list is derived from the product roadmap with the goal of organization and prioritizing upcoming work. 

A sprint backlog is a list of tasks to be completed during a sprint. The worklist is derived from the product backlog with the goal of estimating the workload of the upcoming sprint. 
 

 

32. How can QA add value to an Agile team?

QA adds value to Agile teams by helping solve problems and catch errors early. Through the Agile QA process, developers are able to receive quick feedback so they can fix bugs and errors while the code is still in development. 

 

33. What is a product roadmap?

A product roadmap outlines the overall vision and direction of a product, highlighting key themes, timelines, and features you plan to deploy. It serves as a guide for decision-making, helping the team align on the product’s long-term goals, priorities, and anticipated timelines. 

 

Advanced Agile interview questions

The following questions are meant for more senior developers who are well versed in the Agile methodology.

 

34. Can you touch on the three main roles in a Scrum team?

Scrum has three main roles: product owner, Scrum Master, and the development team members.

  • Product owner: The product owner is tasked with managing the Scrum backlog, knowing when things should and can be released, and managing stakeholder expectations. 

  • Scrum Master: The Scrum Master works as a coach and guide for the development team, ensuring they understand the Scrum framework and its principles, values, and practices.

  • Development team members: The development team is a group of individuals who do the hands-on work of completing the tasks in a sprint.
 

35. How is the Agile methodology different from traditional software development methodologies?

Agile software development prioritizes flexibility, customer collaboration, and working software created during short sprints by self-organizing teams. 

On the other hand, traditional software development methodologies focus on planning and predictability, using longer development phases, organized groups, and comprehensive documentation. 
 

 

36. What is the difference between Agile and Scrum?

The main difference between Agile and Scrum is that Agile is a software development philosophy built upon a core set of values and principles, whereas Scrum is an Agile methodology teams can use to implement the Agile philosophy into their software development lifecycle. 

 

37. What is SAFe?

The Scaled Agile Framework (aka SAFe®) is a framework for scaling Agile at an enterprise level. SAFe is based on 10 guiding principles, processes, and best practices to help larger teams become more agile. 

 

38. What’s the difference between Definition of Done and Definition of Ready?

The Definition of Done (DoD) is an agreement that guides all developmental activities and states what is required for a piece of work to be considered “done.” The Definition of Ready (DoR) describes the requirements that must be met in order for a story to move from the backlog to development. 

 

39. Can you explain the “planning poker” technique in Agile?

Planning poker is a planning and estimation technique that helps teams estimate product development timeframes and create a plan for the work to be done. 

Here’s the typical process of how planning poker plays out:

  • The product manager describes the user story to the group of estimators. 

  • The estimators are then given Agile poker cards with a number sequence that represents each person’s estimation of the story points. 

  • The estimators reveal their cards at the same time. 

  • If a consensus is reached, the team can move on to the next story point.

  • If the teams do not have a consensus, the estimators discuss their estimates until an agreement is reached.

 

40. Why are user stories not estimated in working hours?

User stories are estimated in story points rather than working hours because they’re meant to be a relative estimate. For example, a team may believe a user story estimated at six story points will be about three times as much work as a user story estimated at two points. 

Using user stories rather than working hours is also a quicker and easier process—estimating work in working hours can be a time-consuming, often overly detailed approach.

advantages-and-disadvantages-of-the-agile-process
 

41. What are some disadvantages of the Agile process?

Some of the main disadvantages to the Agile process include:

  • Scope creep created from constantly changing customer needs 

  • The lack of documented processes can cause teams to get sidetracked as they work

  • Difficulty in maintaining a high level of collaboration across the team

 

42. What are some advantages of the Agile process?

Some of the main advantages of the Agile approach include:

  • Increased transparency into the entire development process 

  • Higher customer satisfaction due to close collaboration with the customer

  • Ability to adapt projects frequently 

  • Early and predictable delivery

 

43. What is pair programming and its benefits?

Pair programming involves pairing up team members to work together on a programming task. Benefits of pair programming include knowledge sharing (especially when pairing a senior developer with a more junior team member) and better solutions, as problems can be identified and fixed by two minds rather than one. 

 

44. What is a zero sprint?

A zero sprint, or sprint zero, is used by teams to ensure they’re fully prepared before the start of a sprint. This is especially useful if a team is new to the Agile process and could benefit from extra training prior to the start of a sprint. 

 

45. What does a story point mean in Scrum?

Story points in Scrum are units of measurement used to estimate the effort required to complete a story.

 

46. What are impediments in Scrum?

Impediments are anything that stops or slows the team’s progress toward a sprint goal. These roadblocks can include: 

  • Missing resources 

  • Shortage of team members

  • Lack of clarity and support

  • Technical challenges 

  • Unresolved dependencies  

  • External issues

 

47. What are some of the Agile quality strategies?

Some of the Agile quality strategies include: 

  • Iteration

  • Re-factoring

  • Dynamic code analysis

  • Short feedback cycles

  • Reviews and inspection

  • Standards and guidelines

  • Milestone reviews

 

48. How is the velocity of the sprint measured?

Sprint velocity can be measured by dividing the number of backlog items or story points by the total length of your sprint in days.

 

49. What are some key qualities of a good Agile tester?

An Agile tester should possess the following qualities:

  • Able to collaborate well with team members, stakeholders, the product owner, and the Scrum Master

  • Able to document testing processes to share with stakeholders

  • Able to respond quickly in a changing work environment

  • Able to understand the end user’s needs

 

50. Why is continuous integration in Agile important?

Continuous integration is designed to support small changes rather than large ones. This process can help teams reduce the risk associated with deploying a large chunk of code, resolve issues quicker, and improve the quality of code since projects are broken into smaller, more manageable pieces. 

 

51. What is a build breaker?

A build breaker occurs when a developer makes a mistake and commits the bug into the software repository, resulting in unacceptable warnings or failures in the test environment. 

 

52. What is acceptance testing?

Acceptance testing is a software testing technique used to determine whether or not the application is working properly for the end user. 

 

53. What is vulnerability testing?

Vulnerability testing is a software testing technique used to identify security weaknesses and vulnerabilities.

 

54. What is continuous testing?

Continuous testing is a software testing technique that involves testing the software at every stage of the development lifecycle.


 
Share: