Agile Interview Questions
Q: What are the benefits of Agile Software development?
A: Agile methods grew out of the real-life project experiences of leading software professionals who had experienced the challenges and limitations of traditional waterfall development on project after project. The approach promoted by Agile development is in direct response to the issue associated with traditional software development – both in terms of overall philosophy as well as specific processes.
Q: What is a Sprint ?
A: A Sprint is the basic unit of development in Agile Scrum development. It is a time box of effort directed towards a specific goal which is a subset of a greater effort and goal. A typical sprint lasts about 3-4 weeks
Q: What is a Test stub ?
A: A test stub is an bit of code that replaces an undeveloped or fully developed component within a system being tested. The test stub is built such that it mimics the actual component by generating specific known outputs. The stub can be used as a substitute for the actual (fully developed) component for testing purposes. The stub can also be used during testing to isolate system components and troubleshoot problems. A test stub is also known as a test double.
Q: What is a Test-Driven Development (TDD) ?
A: Test-Driven Development (TDD) is a development methodology whereby the developer writes a unit test as a starting point and then writes code that will allow the test to pass. The development of the entire system proceeds one test at a time. Further Info: Test-Driven Development (TDD)
Q: What is a story board ?
A: A Story board is a visual representation of a software project’s progress. There are generally four columns ‘To do’, ‘In Progress’,'Test’,” and ‘Done’. Different colored post It notes are placed in each column indicating the progress of individual development items. A story board is typically used in agile development
Q: What is a Release candidate ?
A: A Release candidate is a build or version of a software that can be released to production. Further testing such as UAT may be performed on this version of the product.
Q: What is Re-factoring ?
A: Re-factoring is modifying existing code to improve its performance, readability,extensibility etc. The code’s functionality remains as is .
Q: What is an epic ?
A: An epic is an agile term for a customer described software feature that is itemized in the product backlog. Epics are subdivided into stories.
Q: What is the Agile manifesto?
A: The following is the Agile manifesto: We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Q: In what does the agile testing(development) methodology differs from the other testing (development) methodologies?
A: Anytime applying agile testing methodology, the testers (developers) ensure that the whole process of testing (development) is broke into as small steps as possible and just a small unit of code is tested (developed) in each of this steps. The team of testers (developers) is communicating consistently the results of their work, and change the short term strategy and even the development plan on the go, based on the results of agile testing. Agile methodology encourages flexible and rapid response to change which should lead to a better end result.
Q: Can agile methodology be applied also in other than software testing and development projects?
While asking these sort of agile testing interview questions, employers try to recognize if you really understand the benefits of this methodology and can see a practical application of it in various areas of business. To state that this methodology can be, and maybe even should be, applied in all the instances and test cases where we have insufficient entry data, or work in an unknown area, or simply work within a small team, or where many unpredictable variables take place is a good answer. It is in fact used quite commonly in bio-medicine, biochemistry or physics. Anyway, it could be used in many other areas. Just let your imagination to work and you’ll answer these sort of agile methodology interview questions easily…
Q: Are you able to name five main characteristics of agile methodology from your point of view?
A: Every person can approach agile methodology from different angle. The employer tries to find what your angle is, and if it is the one they are looking for, while asking you these sort of agile methodology interview questions.
So in fact, the right answer really depends on your point of view. However, if you look for characteristics that are usually “positive” for the company, you should go with things like
- cross-functional team composition,
- face-to face communication,
- solving problems immediately after these are identified,
- working solution as a primary metric of progress.
Q: Describe a case where you personally used the
agile methodology (or was a part of a team which used it).
A: This question is very important. One experience is better than whole book of theory, that is truth. Before the interview think carefully where you have used the agile methodology before. If you can not find any example in your professional life, look into the personal one. Even here are some fields where agile methodology can be very handy. Think about it in advance, prepare what you will talk about and focus on the positive results associated with the implementation of this methodology in your project.
Q: What are some of the key features of agile development?
A: A: Collective code ownership and freedom to change.
- Incremental approach (e.g. user stories are incrementally implemented). Automation (e.g. TDD -- Test Driven Development).
- Customer focused (for e.g. internal and external users and business analysts are your immediate customers).
- Design must be simple.
- Designing is an ongoing activity with constant re-factoring to achieve the rules of code simplicity like no duplication, verified by automated tests, separation of responsibilities, and minimum number of classes, methods, and lines.
Q: How do you know that you are using agile development?
A: You are using an agile practice when
- You have daily stand-up meetings.
- You use CRC (Class Responsibilities and Collaborators) cards.
- You use timeboxed task boards.
- You use TDD (Test Driven Development), Continuous Integration, regular code reviews, pair programming, automated builds, continuous deployment and delivery, etc.
- You have iteration planning meetings and carry out iterative development.
Q: In agile practice, what does the daily stand up meetings entail?
A: Each day, at same time and same place (in front of the task board) the team meets to bring everyone upto date. This meeting addresses SCRUM's three questions listed below.
- What have you completed since the last meeting?
- What do you plan to complete by the next meeting?
- What is getting in your way?