Let’s accept, we all get a bit nervous about interviews. No matter how capable you are or how much experience and knowledge you possess, at the end of the day, interviews are about how do you present yourself, how well you manage to put your knowledge into answering the questions in the most suitable way. Hence, it is always preferable to do a bit of a research before an interview. Revise answers, brush up our skills. ‘doing’ and ‘explaining how to do’ are two different things.
There are certain agile methodology questions that are generally asked in an interview. Preparing answers in advance for these 15 agile methodology interview questions will definitely make you confident enough to crack an interview smoothly.
Here are the top 15 agile methodology interview questions and answers:
1. What is agile testing?
Agile testing is a practice based on the principles of agile software development. It includes all members of an agile team with specific skills and certain expertise to ensure the timely delivery of a product with the release of additional features at frequent intervals.
2. How is agile methodology different than traditional waterfall process?
In agile methodology, features of the software are delivered frequently, so that the testing activity is done simultaneously with the development activity. Testing time is shortened as only small features are need be tasted at once.
While, in the waterfall model, testing activities take place at the end of the entire development process. Testing time, in this case, is as long as the entire product is to be tested in one go. Waterfall methodology is a closed process where all stakeholders are not involved in the development process whereas agile methodology requires an involvement of various stakeholders including customers.
3. What are pros and cons of agile methodology?
Pros of the agile methodology can be listed as:
- Speedy and continuous delivery of the software ensures customer satisfaction.
- All the stakeholders (customers, developers and testers) are involved in the process which leads to technical excellence and good design.
- It facilitates close interaction between business people and developers.
- Its flexibility ensures the adaptation to changing circumstances. Changes added at last moment or at a later stage of development can be incorporated without any problem.
However, it does have some disadvantages too:
- Sometimes when software deliverables are large ones, it is tough to determine the effort level required at the beginning of the software development lifecycle.
- In agile methodology, documentation and designing take a back seat.
- The decision making crucial for the development process comes with seniority and experience. Hence, freshers can hardly manage to find a place in agile software development process.
4. What kind of projects is suitable for the Agile methodology?
The traditional methodology is suited for projects with predefined, clearly stated requirements while agile development methodology is suitable for projects with dynamic requirements where frequent changes in the product come up on regular basis.
5. What are different types of agile methodologies?
There are several types of agile development methodology. Scrum is one of the most popular and widely used agile methods. Other types of agile development methodology are; development like Crystal Methodology, DSDM(Dynamic Software Development Method), Feature-driven development(FDD), Lean software development and Extreme Programming(XP).
6. Difference between extreme programming and scrum?
Scrum teams usually have to work in iterations which are known as sprints which generally last up to two weeks to one month long while XP team works in the iteration that lasts for one or two weeks.
XP teams are more flexible as they can change their iterations while Scrum teams do not allow any change in their iterations.
The product owner prioritises the product backlog but the team decides the sequence in which they will develop the backlog items in scrum methodology. Whereas XP team works in strict priority order, features developed are prioritised by the customers.
7. Can you explain lean methodology in detail?
Lean software development method follows the principle of “Just in time production”. It aims at increasing speed of software development and decreasing cost.
The basic idea of lean is to reduce non-value-added activities (known as “wastes”) in order to increase customer value. The agile process itself is a lean method for the software development lifecycle. However, activities like backlog grooming (when team review items on the backlog to ensure the appropriate items are in the backlog, that they are prioritised well, and that the items at the top of the backlog are ready for delivery) code refactoring (process of restructuring existing computer code – changing the factoring — without changing its external behavior) fits agile methodology more in tune with lean principles.
8. What is Kanban?
Kanban is a tool which helps the team to keep a close eye the work i.e., to measure its progress. Apart from the progress, the status of a development story can be seamlessly described with the help of ‘kanban board’.
Kanban board aids in writing the whole scenario of a project at a single place to give a perfect picture of the bottleneck, a task done, workflow progress. It helps in the continuous delivery of the product without overburdening the team.
9. Is there any difference between incremental and iterative development?
Yes, the iterative methodology is a process of software development without any interruption. In this method, software development cycles consisting of sprint and release are repeated until the final product is obtained. Whereas, the incremental model is a process of software development where the product is designed, implemented and tested incrementally until the product is finished. It involves both development and maintenance.
10. What are burndown and burn-up charts in agile methodology?
11. Can you explain pair programming and its benefits?
The combined effort in the team where one programmer writes the code and the other one reviews it is called pair programming. There are several benefits of pair programming, it not only improves the quality of a code but also facilitates the knowledge transfer. It reduces the chance of mistakes as two people are simultaneously working on a code.
12. Do you know what is the scrum of scrums?
In case, there are multiple teams involved in the project, scrum of scrums is used to scale the daily stand-up meeting. It supports agile teams to collaborate and coordinate their work with other teams.
13. What is the velocity of a sprint and how it is measured?
Velocity is one of the planning tool used to estimate the speed of the work and time of completion of the project. The calculation of velocity is done by reviewing the work team has successfully completed during earlier sprints; for example, if the team completed 5 stories during a two-week sprint and each story was worth 3 story points, then the team’s velocity is 15 story points per sprint.
14. According to you what are some qualities that a good agile tester must have?
A competent agile tester must possess following qualities:
- They should be capable of understanding the requirements quickly.
- An agile tester should be aware of all the agile principles and concepts and values as listed down in an agile manifesto.
- They should be able to prioritise the work based on the requirements.
- They should have excellent communication skills as continuous communication between business associates, developers and tester is a backbone of the agile development process.
15. Can you list some responsibilities that a scrum team have to undertake?
Major responsibilities that a scrum team has to include:
- Breaking down the requirements, creating tasks, estimating and distributing the created tasks. To put simply they are in charge of creating sprint backlogs.
- They have to arrange daily sprint meeting.
- It is a responsibility of the team to ensure that every functional feature is delivered on time. They have to create sprint burndown diagram to know get the exact estimate of work done and the work that needs to be done.
Apart from these agile methodology interview questions, questions based on your previous experience in case you are already acquainted with agile methodology can be asked by the interviewer. You might want to revisit your on-the-job learnings and prepare answers to questions like:
- How long were your sprints for the projects you have worked on?
- What is the maximum number of scrum you have handled at a time?
- What kind of project management tools were used for your project?
- Have you used automated test tools earlier? How was your experience?
- Did your iterations overlap?
These were the must-know questions and answers revolving around the agile methodology. Most companies practice agile development in one form or another, thanks to the features it has to offer. If you wish to make a flourishing software development career, what are waiting for? Master agile methodology.
If you had any doubt in any of the questions above, do let me know in the comments below. All the best with that Agile Methodology interview!