We have the Product Backlog Refinement meeting (backlog grooming meeting) where the team, scrum master and product owner meets to understand the business requirements, splits it into user stories, and estimating it.
Ideally, it is 3-9. Scrum says team size of 6+ or -3 is the Scrum guide recommendation. Optimal Development Team size is small enough to remain nimble and large enough to complete significant work. Fewer than three Development Team members decrease interaction and results in smaller productivity gains. More than nine members simply require too much coordination.
Scrum is a framework within which complex products in complex environments are developed. Scrum is not a process or a technique for building products; rather, it is a framework within which you can employ various processes and techniques. Scrum Framework is applied to the complex projects in complex environments. If a Scrum team adheres to the Scrum practices, it will help in developing the best quality product within a specified timeframe.
Sashimi is basically a Japanese word whose meaning is pierced body. In scrum, Sashimi is a technique that is simply used to check whether all functions (every phase of the software development cycle) are completed or not after the product is displayed. Functions include requirement analysis, planning, design, development, testing, and documentation.
First thing we will not mark the story as done.
We will first confirm the actual requirement from the stakeholder and update the user story and put it into the backlog. Based on the priority, we would be pulling the story in the next sprint.
During Sprint review we walk-through and demonstrate the feature or story implemented by the scrum team to the stakeholders.
During Retrospective, we try to identify in a collaborative way what went well, what could be done better and action items to have continuous improvement.
Timeboxing is an important time management technique or tool that is used to limit the amount of time that is being spent to complete a task. It simply allows a fixed unit of time for each and every task and this unit is known as a time box. The maximum length of the time box is 15 minutes. It not only helps to improve focus but also results in an increase in productivity. There are some events in Scrum and all these events are timeboxed which means all these events are allotted with a maximum and fixed unit of time for the task. The events that are time-boxed are listed below:
* Sprint Planning
* Daily Scrum
* Sprint Review
* Sprint retrospective
Scrum Master, also referred to as servant leaders, is a person who is a master of Scrum i.e., the person who is responsible for managing and facilitating an agile development team and makes sure that the scrum framework is followed. Scrum master is also referred to as coach of the team that helps team members to do and give their best as much as possible.
The increment is simply the sum or total of all the product backlog items that were completed during a sprint and the value of increments of all previous sprints. It is the total work completed within the current and previous sprints.
<> One of the most common approaches for this is the Scrum of Scrums (SoS) meeting, where members representing each scrum team discuss the progress, performance, issues, risks, etc. together.
<> The frequency of these meetings must be pre-defined. Generally, scrum masters would represent a particular scrum team, besides having the Chief Scrum Master (whose responsibility is coordination & collaboration among all the scrums) who facilitates these meetings.
Here you have to explain your project details where you worked in Scrum team and defining your role with the responsibilities you held. The trick in this question is whether while explaining you are showing self-organizing and self-motivational team. Also, the interviewer will try to judge how in depth you have worked in the agile/scrum environment based on your explanation.
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
It helps with:
Defining the steps required to deliver the iteration
The usage of appropriate tools like burndown to make the process more effective
Ensuring on-time feedback throughout the project life cycle
Ensuring the walkthrough of the product backlog items are done and understood correctly
The creation of a checklist for the product backlog items
Ensuring the DoD is defined to become task-oriented
Involving the product owner for reviewing during the sprint and sprint retrospective
<> Minimum viable product (MVP) is a Lean Startup concept that stresses the impact of learning while performing product development. This allows one to test and understand the idea by getting exposed to the initial version for target customers & users. To accomplish this, one has to collect all the relevant data and learn from that collected data. The thought behind MVP is to produce the product, to provide access to the users, and to observe how the product is used, perceived, and understood. This will also provide more insight towards what the customers’ or users’ needs are.
<> The MMP (Minimal Marketable Product) refers to the description of the product, which will have a minimal number of features that address the requirement of the users. The MMP would help also help the organization reduce the time to market
>> The estimation of user stories is done based on their difficulty
>> A particular scale is used to assess the difficulty of the user stories. Some type of scales are:
* Numeric Sizing (1 - 10)
* T-shirt Sizes (S, M, L, XL…)
* Fibonacci Series (1, 2, 3, 5, 8…)
* Dog breeds (Great Dane, Chihuahua…)
Planning Poker, also known as Scrum Poker, is a consensus-based technique that not only helps agile teams to estimate the time and effort that is required to complete each initiative on their product backlog but also identifies issues before time and within the course of a user story. It makes the meeting more short, productive and creates estimates with the involvement of the whole team. It is mainly used to avoid the influence of other participants, and force each person to think independently and give their opinion.
Yes, there are some drawbacks of the Agile model, some of them are as follows –
<> 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.
To clearly express the Scrum planning, Scrum review, Scrum Daily stand up, and scrum retrospective is the purpose of the ceremony. The importance of these ceremonies is to use sprint as per your project.
A storyboard is a visual representation of a software project’s progress. There are generally four columns, namely, ‘To do’, In Progress’, ‘Test’, and ‘Done’. Different colored post, its notes are placed in each column indicating the progress of individual development items. A storyboard is typically used in Agile development.
Complexity and effort are measured through “Story Points”. In Scrum, it’s recommended to use Fibonacci series to represent it.
Neither the scrum master, not the product owner. It’s the responsibility of the team who owns the deliverable.
This is one of the commonly asked agile scrum interview questions and a quick answer can be given this way. 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.
It’s measured by Velocity.
The user stories are defined in the format of
As a <User / type of user>
I want to <action/feature to implement>
So that < objective>
Scrum is a framework that helps agile teams work together to develop, deliver, and sustain the complex product in the shortest time. The product provides by scrum team in this shortest period is known as a sprint.
The daily stand-up is the day-to-day meeting (mostly in the morning) in which the whole team meets around 15 minutes to find the answer for the following three questions:
<> What was done yesterday?
<> What is your plan for today?
<> Is there any obstacle that restricts you to complete your task?
The burn-up chart depicts the amount of work done in the project, whereas the burn-down chart illustrates the amount of work remaining in the project. Thus, the burn-up and burn-down are used to describe the progress report of the project.
Agile has a new breed of PM tools including Rally Software, VersionOne, XPlanner, EasyBacklog, IceScrum, Agilefant, and Agilo. These tools bear no resemblance to the waterfall PM tools like MS Project or Clarity.
A release candidate is a build or version of software that can be released to production. Further, testing such as UAT may be performed on this version of the product.
When the same test case is to be repeated;
When the test cases are very tedious and cannot be performed manually;
If you have to run the test cases with different data and conditions several times;
When the same test cases are to be executed with different user sets;
If saving time is on your top priority; or
When test cases need to be executed with various browsers and environments.
There have been continuous advancements in software development technologies. When talking about software development methods one can simply not ignore the role that testing plays in software development. Therefore, in order to maintain pace with the latest software development technologies testing needs to be done faster than development.
Imagine you are building a big Software-as-a-Service product like Salesforce. The product has 1,000 features, and you also have to release a new feature every other month to keep up with the competition. Now imagine that you have to test that product, check if new features have not affected old features and every feature is working fine. All 1000 of them. Now imagine that you have to test the whole software within a week.
Not possible, right? That’s what enterprise developers thought before automating the process of testing.
Sprint is generally for 2-3 weeks. In that case, to test the whole software is not easy so recommended way is to automation which drastically reduces the time of testing and every sprint delivers the best quality software.
The sprint retrospective takes place after the sprint review. During this meeting, past mistakes, potential issues, and new methods to handle them are discussed. This data is incorporated into the planning of a new sprint.
>> User story mapping represents and arranges user stories that help with understanding system functionalities, system backlog, planning releases, and providing value to customers.
>> They arrange user stories based on their priority on the horizontal axis. On the vertical axis, they are represented based on the increasing levels of sophistication.
Different types of Burn-Down charts are listed below:
Product Burndown Chart: It is a type of chart that is used to show story points of each completed sprint so that it depicts the completion of requirements over time. It mainly shows how many of the product goals are being achieved by the team and how much work is remaining.
Sprint Burndown Chart: It is a type of chart that is used to show the remaining works for the scrum team of a particular sprint. It makes the work of the team visible and shows the rate at which work is completed and how much is remaining to be completed.
Release Burndown Chart: It is a type of chart that is used to show how a team is progressing against the work for a release. This chart is updated by the scrum team at the end of each sprint. It is very essential to see what process is being made during each sprint.
Defect Burndown Chart: It is a type of chart that is used to show the total number of defects that are being identified and fixed or removed.
Burn-up Chart: It is a type of chart that is used to display or represent the amount of work that has been completed and the total amount of work for a sprint or iteration.
Burn-down Chart: It is a type of chart that is used to display or represent the amount of work that is remaining to be completed in the project. These charts are very simple and easy to understand.
A product roadmap, as the name suggests, is a powerful tool that describes how a product is likely to grow over time. It is a holistic view of product features that create the product vision. It also indicates what development is building, business goals that the new product will achieve, problems that the product will solve, etc. A product roadmap is owned by the product manager. It also encourages the development team to work together to achieve the desired goal for the successful delivery of the product.
There are two artifacts maintained in Scrum:
Product Backlog: Containing the prioritized list of business requirements
Sprint Backlog: Contains the user stories to be done by the scrum team for a sprint.
Iterative Development: It is basically a software development process where software development cycles (sprint and releases) are repeated until the final product is obtained. On the basis of feedback from customers or users, the product is again developed in cycles or releases and sprints i.e., adding new functionality in a repetitive manner.
Incremental Development: It is basically a software development process where development works are sliced into increments or pieces or portions. In this, the software is developed and delivered in pieces or increments and each piece has a complete set of functionalities. The increment can either be small or large, and each increment is coded and tested fully. After testing each increment, they all are integrated so that they work as a whole.
A velocity is basically a measurement unit that measures or calculates how much work an agile development team can successfully complete in a single sprint and how much time will be required to finish a project. It is widely used as a calibration tool that helps development teams to create accurate and efficient timelines. It is also used to identify problems and measure the improvements that occur with time.
Spike: It generally refers to a too large and complex user story in software development that cannot be estimated until the development team runs a timeboxed investigation. These stories can be used for various activities like research, design, exploration, prototyping, etc. Spikes are usually created to resolve some technical issues and design problems in the project.
Zero Sprint: It generally refers to the first step or pre-preparation step that comes just before the first sprint. It includes all activities such as setting a development environment, preparing backlog, etc.
Sprint Backlog: It is generally owned by the development team. It only contains those features and requirements that are related to the specific sprint only. It is considered a subset of the product backlog. It is compiled of everything that must be done to complete a particular sprint. It only includes items that can be completed during each agile sprint. It is specific to the sprint goal only in a particular sprint.
Product Backlog: It is generally owned and maintained by the project owner. It usually contains each and every feature of the product as well as the requirements of the product. It is compiled to everything that must be done to complete the whole process. It just breaks down every item into a series of steps. It is more specific to the end goal of the product.
<> Scrum-ban is a methodology that’s a combination of Scrum and Kanban. Scrum-ban can be used to meet the needs of the team, and to minimize the batching of work, and to adopt a pull-based system.
<> It ingeniously includes the structure of Scrum and the flexibility and visualization of Kanban
Difference between Agile and Scrum – Agile is a broad spectrum, it is a methodology used for project management while Scrum is just a form of the Agile that describes the process and its steps more concisely. Agile is a practice whereas scrum is a procedure to pursue this practice.
The similarity between Agile and Scrum – The Agile involves completing projects in steps or incrementally. The Agile methodology is considered to be iterative in nature. Being a form of Agile, Scrum is same as that of the Agile. It is also incremental and iterative.
Velocity question is generally posed to understand if you have done some real work and familiar with the term. Its definition “Velocity is the rate at which team progresses print by sprint” should be enough. You can also add saying the important feature of velocity that it can’t be compared to two different scrum teams.
Re-factoring is basically an activity that involves alteration or modification of the internal structure of software without any change in its external behaviors or functionality. In this, developers make some changes or tinker with code to enhance and improve the internal structure of software. One of the most popular and widely used refactoring techniques in the agile software development process is Red-Green. The refactoring process makes the code more readable, understandable, and clean. The continuous habit of refactoring helps to make it easier to extend and maintain code.
* Product Backlog: It is a list that consists of new features, changes to features, bug fixes, changes to the infrastructure, and other activities to ensure a particular output can be obtained.
* Sprint Backlog: It is a subset of the product backlog that contains tasks focused on by the team to satisfy the sprint goal. Teams first identify the tasks to be completed from the product backlog. These are then added to the sprint backlog.
* Product Increment: It is a combination of all product backlog items completed in a sprint and the value of previous sprints' increments. The output must be in usable condition, even if the product owner doesn’t release it.
The Scrum Team is one that’s self-organizing and involves five to seven members. The following are their responsibilities:
* Working products must be developed and delivered during each sprint.
* Ownership and transparency must be ensured for the work assigned to the team members.
* Correct and crisp information must be provided to ensure a successful daily scrum meeting.
* They must collaborate with the team and themselves.
: Generally, the duration of a scrum sprint (scrum cycle) depends upon the size of project and team working on it. The team size may vary from 3-9 members. In general, a scrum script complete in 3-4 weeks. Thus, on an average, the duration of a scrum sprint (scrum cycle) is 4 weeks. This type of sprint-based Agile scrum
Before the Scrum sprint initiates, the product owner reviews the list of all new features, change requests, enhancements, and bug reports and determines the priority. If the project is new, it includes new features that the new system must provide. This list of items is referred to as a product backlog. The items that are kept on the sprint are referred to as sprint backlog.
Some quality strategies of agile are:
Dynamic code analysis
Short feedback cycles
Reviews and inspection
Standards and guidelines
Agile is an iterative approach of software development methodology using short iterations of 1 to 4 weeks. Due to the agile methodology, the development process is aligned to deliver the changing business requirement.