Level 2: Medium
Agile analysis and design start with creating the roadmap for the product, which is often a high-level view of how the sponsor or the customer wants the features to be released. Based on this, the requirements are elaborated further to come to a point when all the doubts are clarified and it is ready for implementation. Successful gathering of requirements is a key to the success of any project. Unlike the traditional model where the requirements are gathered at the beginning of the project and tried to be kept frozen throughout the project life cycle, the Agile framework allows the flexibility to progressively elaborate the requirements throughout the life cycle. That is the reason why in Agile projects the different levels of requirement details are captured in the number of artifacts like Product roadmap, Product backlog, Release backlog and Sprint backlog as will be discussed further in this chapter. The different techniques used for gathering the requirements are very important to know and that will be the starting point of the requirement analysis discussion.
Based on the project complexity, availability of the stakeholders, knowledge level of the end-users and the client, and the proficiency of the requirement analyst, the most suitable requirement gathering technique needs to be selected. The different requirement collection and validation techniques explained below are preferred for Agile methodology because all of these encourage and facilitate the direct interaction between the stakeholders of the project.
Begin the interview with stakeholders who are believed to have a complete understanding of the requirements. Face-to-face contact with users through individual interviewing is the primary source of requirements and an important way to gather and validate their requirements. Interview techniques are used when the requirements are detailed and differing opinions are likely sought. In the distributed Agile, the interview is the main technique used to gather requirements. Even if the team and the customer are collocated, we can use the interview technique to clarify doubts. During the execution of the project at any point of time interview may happen with the product owner to clarify the doubts.
Write the problem that has been identified on the flip chart and then divide the paper into two halves, one half headed Causes and the other Solutions. Get team members to contribute to both columns. Each contribution should be discussed and agreed before being added to either column.
Ask participants to imagine they are at some point in the future (e.g., 2010). They should imagine that all their problems are resolved, dreams have been achieved, and goals have been achieved. Now step back and describe how we did it.
It is important to spend some time on placing the participants in the future. Use the past tense when asking how we did it. This technique can be useful when problems seem insurmountable or when the group has low morale.
Facilitate discussion with a group and record the output in a large mind map drawn for all participants to see—on a flip chart or large sheet of paper pinned to the wall. Mind maps are an expression of radiant thinking, a natural function of the human brain, and they allow creative ideas to bloom and flow. They provide a basic ordering of information and easily allow later additions as the session progresses.
Ask participants to imagine the problem and then imagine there were no history, rules, regulations, culture, or climate. If none of these things existed because we were just starting up what might we do, how might we approach the solution.
Split the group into smaller sub-groups. Each sub-group decides upon a celebrity (dead or alive, fact, or fiction). Each sub-group then explores the characteristics of their celebrity and decides how the celebrity would view the problem at hand. Each group then presents their solutions to the plenary. This method can be used in a variety of different ways, i.e., participants can imagine what someone they admire might do, etc. It is a useful technique for viewing a problem and solutions from a fresh angle.
Another way to take a fresh approach to solution finding is to facilitate discussion in the group and record the output as a big picture for all participants to see. This provides a graphic representation of the problem and enables participants to visualize solutions, stimulating further ideas. This will appeal to participants for whom the visual channel is important and generate fresh ideas. It is also useful for building ownership.
Focus groups are basically interviews, but it is more focused on the number of participants is restricted to 6 to 10 in one group at one point in time. We can get a lot of information during a focus group session.
Workshops can be used for rapidly pulling together a good set of requirements. Workshops are very quick and best way to gather requirements than all other techniques.
A workshop is expensive because it involves many people, but it saves a large amount of time for us.
Here we use the brainstorming technique to gather requirements from the people. Requirements are discussed at the high level. Workshops are being conducted particularly when the requirements are focused on one area of business in which the participants have knowledge, and consensus is being sought.
Learning curve: This term refers to the decrease in time taken to perform a task because of the increase inefficiency in performing the task that results solely out of repeatedly performing the task. Therefore, with the passage of time, although total costs typically increase, the cost per unit drops. This pattern of cost reduction is given by
where K is the number of direct work hours required to produce the first unit, Yx is the number of direct work hours to produce the xth unit, x is the number of units produced and b is the learning percentage.
Agile projects encourage decision-making with the full participation of the relevant groups. In these groups, members meet face-to-face and rely on both the verbal and nonverbal interactions and brainstorming to communicate with each other.
Brainstorming is meant mainly to overcome pressures for conformity in the interacting group that retard the development of creative alternatives.
It does this by utilizing an idea-generation process that specifically encourages any and all alternatives, while withholding any criticism of those alternatives.
In a typical brainstorming session, about six people sit around a table and the group leader states the problem in a clear and understandable manner so that it is understood by all the participants involved. Members then can suggest as many alternatives as they can in a given length of time. No criticism is allowed strictly, and all the alternatives are recorded for later discussion and analysis. Brainstorming, however, is merely a process to generate ideas.
The Nominal Group Technique usually restricts discussion or interpersonal immunization during the decision-making process, hence, the term nominal. The members are all physically present but all members operate independently. A problem is presented and members do the following steps.
The main advantage of the nominal group technique is that it permits the group to meet formally but does not restrict independent thinking.
The interacting group is good for building group cohesiveness, brainstorming keeps social pressures to a minimum, the nominal group technique is very cheap for generating a large number of ideas, and electronic meetings process ideas fast.
The figure below represents different styles of group decision making.
Here the leader makes a decision for a group with little or no input from the members of that group. The group members may provide specific information on request, but are not asked to contribute toward finding the final solution. This is like an autocratic decision. The advantage with the ‘command’ style is that the decision is made quickly. The disadvantage of the ‘command’ style is that although group members may have been consulted, some or all of them may still disagree with the decision that has been made, and therefore may have little or no commitment to that decision.
We can use the ‘command’ style of group decision making when any of the followings applies:
In this case, the leader looks for input and advice from the group before making a final decision. The decision will meet the needs of the group. Group members have been consulted but some or all of them may still disagree with the decision that has been made.
We can use the ‘consultative’ style of decision making when any of the following applies.
The ‘consensus’ style of group decision making refers to a situation where the leader seeks input and advice from the group, and works through the decision-making process with the group, until every member of the group can ‘live with’ the final decision that is made. We can call this a democratic solution as everybody takes part in the final decision. It leads to a high degree of ‘buy-in’ and commitment to the decision by all members and they are actively involved in the decision-making process and all of their interests are addressed, but it takes longer time as gathering a group of people is very difficult.
We can use the ‘consensus’ style of decision making when any of the following applies
There are multiple methods of reaching a group decision.
Unanimity | Everyone agrees on a single course of action |
Majority | Support from more than 50% |
Plurality | The largest block in a group decides even if a majority is not achieved |
Dictatorship | One individual makes decision for the group |
Thumb voting is a quick way to check for consensus. In this method, holding the thumb up means I agree, holding the thumb down means I disagree, and holding the thumb sideways indicate that the member will go along with the decision of the group.
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Before any project starts, be it an Agile project or a traditional one, all stakeholders should be on the same page with regards to the final goal. Its all the more important since in Agile projects, due to the small iteration cycles the team often concentrate on churning out more work in immediate iterations and as a result, lose sight of the overall project objective. The overarching goal of the project which clearly defines its success criterion is called the Product Vision. All the stakeholders – Product Owner, Scrum Master, Team, Management, Customers and other stakeholders should share this same goal. According to Ken Schwaber - “The minimum plan necessary to start a Scrum project consists of a vision and a Product Backlog. The vision describes why the project is being undertaken and what the desired end state is.” (Schwaber 2004, p. 68)
The product owner should lead the vision creation activity along with the team, because at the end the Product owner is the person who is responsible for driving the success of the project and the return on investment. The basis of the product vision is the customer needs and product attributes that will address those needs. It is important that the product vision is stable for a project as otherwise the team will get demotivated and confused leading to project failure if the vision itself is changed too often.
A product roadmap is a plan where the features are planned for release on a timescale. By looking at the product roadmap the business users and marketing team of the customer will come to know when a particular feature will be made available for use.
This plan talks about the following:
The product roadmap is drawn by the product owner. The product roadmap is actually a prioritized work, a list of all product features and non-functional items along with the plan for release. Product backlog and product roadmap are maintained by the product owner. Product backlog items can be added by anyone at any time provided the item has a business value attached to it.
Figure 7.1 Product roadmap
We also need to continuously identify and prioritize
in order to improve the quality and value of the deliverables.
The product backlog is cumulative of all the stories which are yet to be implemented. The features which were incorporated in the previous iterative cycle (sprint) are no longer part of the current product backlog or are marked as ‘Done’. For marking a user story as done it is important that it passes all the acceptance tests associated with it. Otherwise, the status of the user story remains ‘Incomplete’. The overall product backlog gets adjusted based on the execution of the recent iterative cycle (sprint) which is reviewed during the checkpoint. The following is a list of the questions to be answered during the client review or team retrospective phase:
The answers to the above questions are key inputs to the planning of the next cycle and the functionalities to be added into the cycle. So we have the original work (scope) of the next iterative cycle and thus we have the potential revised work (scope) to consider as a result of the checkpoint. In Agile, the change management process is embedded in the client checkpoint. Changes are accommodated in Agile only in between iterative cycles (sprints). No changes to scope are incorporated within an ongoing iterative cycle (sprint).
The user stories in the product backlog are at high level and are elaborated as the project progresses. The estimation of the items is done based on the relative complexity model mostly with story points. The total of the story points gives a basic idea of the size of the project at a very early stage though this estimation is at a high level. Remember that the prioritization of the user story should take into account three parameters—the business value associated with the story, the cost of developing the story, and the risk involved. So, the high value low risk items are implemented first while the low value high risk items are prioritized for the end.
Though Product backlog Grooming or Refinement session is added as a formal Agile ceremony, this is a very important step to keep the backlog up-to-date and correctly prioritized. The reasons why product backlog update may be required are as follows:
The frequency of the backlog refinement session depends on how long the priorities can remain constant or how frequently new business requirements emerge or change existing ones. Some Agile teams fix a 30-min time slot each week when the team and the end users discuss the new or changed requirements, prioritize them to add in the product backlog, and quickly estimate those in story points. Even if weekly refinement is not required, the team should do it at least once 2-3 days prior to the iteration end date. Once the product backlog is updated the estimation is to be updated so that the team gets visibility of the pending works (Refer Figure 7.2).
The release backlog is also refined at the end of every Sprint and at the end of releases. Refinement includes addition, deletion, modification of requirements, and also prioritization of requirements based on the previous works completed. We also do the refinement of estimations based on previous actual data like velocity.
The feedback from the development team and the end users gets incorporated into the product and release backlog, which provides visibility of the remaining work in the project and any risk that has come out as a part of the new technical or functional requirements. This is termed as the Product Feedback Loop.
A release backlog is a subset of the product backlog that is planned to be implemented and released in the coming release. A release backlog would presumably contain the same type of items as on a product backlog—preferably user stories. So, during the release planning meeting, a product owner with help from the team and other stakeholders would select the high priority stories and move those items to the release backlog.
The main purpose of the release backlog is to provide the visibility to all stakeholders including the team members of what need to be worked on in next 1–6 months which is the normal release cycle.
The sprint backlog is the list of work the team will work on during the current iteration/sprint. At this stage, the features are broken down into tasks, which, as a best practice, should normally be between 4 and 16 hours of work. As the level of details is very granular, the whole team understands exactly what to do, and potentially, anyone can pick a task from the list. In Agile projects, the tasks on the sprint backlog are never assigned; rather, tasks are signed up for by the team members as needed in accordance with the set priority and the team member skills. This helps to create the self-organizing team and ensures developer buy-in.
In the following example, a list of five requirements is selected from the product backlog to implement in the next sprint.
Each of these stories will be broken down into tasks as shown below and a more accurate estimation (in hours) is arrived at for the allocation of the tasks.
Below is a sample of the typical tracking sheet used by the Agile teams to track the work pending at the end of each day. So, the Day 1 figures under the column ‘Work Left’ represents the total estimated effort for the particular task which goes down as the work is done on them.
The above is just an example of how user stories are broken down into tasks and is not a representative of the real world scenario. Based on the complexity there might be more or fewer tasks. Ensure the following points regarding the sprint backlog:
During the iteration planning meeting if it is found that a story cannot be fitted inside an iteration then the team should explore the option to split the story into smaller stories.
User story mapping is a technique to organize and prioritize user stories. The main aim of user story mapping is to understand the end-to-end user requirements and stitch them in a logical thread so that users get maximum return on the business value. The benefits of a user story map are as follows:
Below are the steps followed for creating a user story map:
While discussing the workflow and the task level details with the users you may get information regarding granular level subtasks that the user is performing for a particular task. This information will be useful while developing the software related to those tasks. So record them in the story card, but do not use in the story map for the sake of simplicity.
Arrange the tasks in the order of necessity, keeping the highest priority ones at the top.
This leads us to the next logical discussion of how the requirement should be captured in an agile project and validating the same with the customer.
After collecting and validating the requirements, it is crucial that the team has the required clarity to start the design and at the same time, the customer and the end-users are in agreement of what is getting built. In traditional models like the waterfall technique the customer and the user community get to see the end-product only toward the end of the project which causes a lot of friction at that stage due to expectation mismatch. But according to the Agile principle, showing the product to the end-users as early as possible is the key to success. Agile modeling techniques thus serve a dual purpose—clarify the doubt of the development team to start on the design with confidence and provide the end-users an opportunity to see the sample of the end-result at the early stage. There exist several modeling techniques as discussed below and based on the project scenario one or combination of more than one techniques can be chosen.
A model or prototype is an original type, form or instance of something serving as a typical example, basis or standard for other things of the same category. The word ‘prototype’ derives from the Greek word ‘prototypon’. Prototypes and models are the best ways of presenting ideas to users. They give users a glimpse of what they might get. More requirements are likely to emerge when users see what they will get and through your suggestion. This technique aims to get users to express requirements. The prototype is used to get feedback from the user. Business logic may not be coded in prototyping. Experimental systems are developed using prototyping. It is actually an initial version of the system. It is used in the user interface, design and testing.
There is no general agreement on what constitutes a ‘prototype’. Figure 7.3 represents different types of prototypes.
Sometimes the incremental system development is preferred over the prototype building as the former leads to a usable product. But prototypes are preferred when the complete specification needs to be validated within a short span of time. The basic requirement is the input for both prototypes and incremental system. But the prototype is used to develop the complete specification of the system and incremental system develops the usable product.
The visual forms of the prototypes are referred to as wireframes as well. Normally wireframes are used to substantiate the architecture design and the interfacing requirements along with the visual representation so that the team faces fewer challenges while actually implementing the software.
Persona creation is a technique of researching and developing a model for the most important customer when you try to see things from the customer’s point of view and try to understand their requirement better. Persona is the imaginary representation of the user role which helps in understanding the users of the product better. To this add the personal details to this imaginary character such as:
Add as much detail as possible, for example instead of saying he is a professor, mention that he is a professor of Biology at The University of California. Also, you may add a portrait of the persona also if it helps in making the team understand the character.
Persona design helps you to:
The preparation of business case helps in gaining the confidence of the stakeholder and easy project approval. While developing the business case for Agile development, you might have to take two types of approaches. First, there may be doubt in the stakeholder’s minds on how while executing a project in Agile will provide some benefit. And second how the project will be adopting the Agile methodology to maximize the ROI. Both these things need to be handled differently. For the first part, the below findings will help:
Some statistics demonstrating the business case for implementing Agile processes are as follows:
However, experts warn that this may not be the case for everyone. Agile is a significant change from traditional project management approaches and thus organizations might face some resistance to the implementation of Agile methodologies. According to Rich Mironov, the chief marketing officer at Agile consulting firm Enthiosys:
‘I haven’t seen [anybody] goes through a transformation where everybody came out the other side happy. You’ll lose some folks because it’s not a style fit or they weren’t very good and you may not fit with agile. Expect some fallout or some people who need to move to the part of the organization that’s not going this way’.
The second part is to make sure that the stakeholders are shown the benefit of executing the current project in the Agile methodology rather than in the traditional model. A business case report includes the market research data and the reasons for initiating the project. Prepare the business case based on:
All these questions come to the customer’s mind when they see the change in methodology from traditional to Agile. So answering those for the specific project by building up the strong business case is the key to win the customer confidence.
Product chartering helps in bringing that context to the developer community.
We want the community that is delivering the product and/or project to understand the why, how and who of the initiative—
Who are the project stakeholders? During a chartering session, we bring the team together to create a common understanding of the product, its vision and its goals. This provides a richer context for all involved and leads to a higher level of engagement for the team members.
Establishing the Why: A chartering session starts with the product owner or business sponsors explaining in a few statements what the product is and why it is valuable. This is often called an elevator pitch and it establishes the why.
Judging the Success Criteria: Next, the team starts a discussion on the success criteria. This can be driven by the product owner or sponsor with the feedback from the rest of the team. This reveals the success metrics and appropriate expectations from the product. The testers will get an idea from this input about what to explore in the system during the testing.
Roles: Finally, we discuss the roles of the overall product community (sponsors and senior management, subject matter experts and delivery team) and engage as necessary. Other items that may be useful to discuss at this point, if the product and team are ready, could include working agreements, iteration length and review process, standup times, etc. This identifies the community and helps identify any potential gaps in understanding or skill.
Chartering happens prior to starting the release planning. The chartering sessions often help the product owner understand any limitations, business constraints, or special considerations that need to be accounted for or monitored during the project.
The main purpose of the chartering is to bring your product community around a common understanding of the vision, goals and work to be done. Structure the chartering discussion in such a way that maximizes the free discussion during the session.
Agile analysis and design start with collecting the requirement and coming up with the product backlog. Agile puts emphasis on showing the working software to the customer as early as possible to the customer so that the requirements are validated at the earliest. This also makes sure that the project team validates the architecture and system design before investing too much time on something which is not working in real production environment. In this chapter, we discussed product roadmap, backlog maintenance in Agile projects, story maps, the process of collecting requirements in Agile projects using the Agile modeling, prototypes, wireframes, personas and business case development and use of chartering.
Question 1. Who is responsible for prioritizing the product backlog based on the business values?
Question 2. Which one of the following statements is correct regarding when a deliverable is accepted on an Agile project?
Question 3. Which one of the following statement is correct regarding a characteristic of the Agile project?
Question 4. If a new requirement emerges when an iteration cycle is running, it should be:
Question 5. In which phase of an Agile project does the customer perform scope verification?
Question 6. Which type of artifact presents the quick and easy visual representation of the project health by showing the remaining work in the project?
Question 7. A persona in an Agile project can be thought of as:
Question 8. Which one of these below is not a feature of the product roadmap?
Question 9. Which of the following is not a valid reason for updating the product backlog?
Question 10. An Agile project team has selected some items (user stories) from the product backlog which will be worked upon in the current iteration. They started to breakdown each user story to task level and estimate the same. What is the team preparing?
Question 11. Which of the following statement BEST describes the use of the story maps?
Question 12. Which style of decision-making is best suited during the Agile requirement gathering phase?
Question 13. The estimation of user stories in a product backlog are maintained using
Question 14. Which technique do you use to rapidly churn out a good number of requirements?
Question 15. Which of the following is not the benefit for prototyping?
Question 16. A chartering session is conducted for an Agile project team. Which of the following is not the benefit the team will get from the chartering session?
Question 17. Which one of the following is not a characteristic of a SMART requirement?
Question 18. In which order the different backlogs are created in an Agile project?
Question 19. Which one of the following statements is true for Agile projects?
Question 20. A team is busy in development work inside an iteration. The project manager found that one day the team is engaged in a meeting to discuss the added items, deleted items, and changed items in the product backlog. What is this session called?
Question 21. A project team is progressing with the design, but are not sure whether the architecture will support the features to be developed later. What should the use to confirm their concept?
Question 22. The main purpose of business case development is
Question 23. Who creates the product roadmap?
Question 24. When the features are broken into tasks in a sprint backlog, what is the preferable length of task?
Question 25. While executing a sprint a team member found an additional task for a user story he is working on. What is next course of action?
Question 26. The status of the sprint backlog tasks should be updated
Question 27. Who assigns the sprint backlog items to the team?
Question 28. Which of the below is a benefit of creating story map?
Question 29. What is the most important benefit of a client participant focus group?
Question 30. The main disadvantage of the command style decision making is
Question 31. Which technique does the facilitated workshop use to churn out requirements?
Question 32. In which of the below situation you will use the consultative style of decision-making?
Question 33. Which of the following factors should you keep in mind while prioritizing the user stories?
Question 34. Which of the below is not a valid reason for adapting a project in a way that changes the end product?
Question 35. During iteration planning meeting you came across a story which does not fit into the iteration. What is the best thing to do?
Question 36. In Agile project ________ determines how much of the product backlog will be delivered in the current sprint.
Question 37. In which type of report you will find market research data and reasons to initiate a project?
Question 38. You have to document the staging requirements to scale a scrum project. Where will you document this?
Question 39. Which of the below practice helps the team to understand what to build
Question 40. Thumbing vote is a quick way to check for consensus. Holding thumb sideways indicates:
Question 41. At the end of an iteration, 11 user stories passed all the acceptance test criteria. What will be the status of these stories in the product backlog?
Question 42. What below reveals where the project is going and why it is going there?
Question 43. Which helps the tester to have some idea about what to explore in the system?
Question 44. Which of the below is not a type of prototype?
Question 45. Following are the guidelines used to prioritize features except
Question 46. Specify whether the below statement is true—‘Product knowledge is the knowledge about what will be developed and project knowledge is the knowledge about how it will be developed’
Question 47. The product owner has provided a plan to an Agile team which specifies the high level grouping of the features in planned releases. What is this plan called?
Question 48. Which of the below statement is true regarding the product backlog?
Question 49. An Agile project team is preparing the list of items they will be working in the current sprint. What is this list called?
Question 50. If there are additional requirements for doing extra regression testing in a user story how you will address that in your sprint backlog?
Product owner is the customer representative with most business knowledge and he/she should prioritize the product backlog based on business value.
Agile emphasizes on getting the acceptance of the requirements that are delivered within an iteration at the end of the iteration.
Because of continuous involvement of the customer during the requirement as well as the development process, there is very less chance in Agile projects that the deliverable is too far away from the customer’s expectation.
Product backlog can be updated based on the business value of the new requirements.
The requirement verification is done by the customer either throughout the iteration or at the end of the iteration. The developed features are marked as done once the customer does the verification.
A burn-down chart is a visual representation of the work remaining in an iteration and is easy to read.
Persona technique is used to view requirements from customer’s point of view.
At the product roadmap level the estimate of the tasks are not available. All other are the features on product roadmap.
Product backlog can be changed based on the conditions like point A, B and C.
The team has selected the items to work in the current sprint and is elaborating the sprint backlog.
A story map is created so that the project team as well as the user community is clear about the end to end use of the system.
The consensus style ensures maximum participation from the users and thus is preferred for Agile requirement gathering.
Story point is the relative estimation technique which is mostly used for product backlog estimation.
Facilitated workshops are the best way to churn out large number of requirements rapidly as it helps in collective brainstorming.
SMART stands for:
Product backlog is created first from which release backlog selects the items for the next release and then from that sprint backlog selects the items for the next sprint.
A facilitator manages the structure of the facilitated workshop.
Throughout the execution of the Agile project, the product backlog gets refined. The session where new items and changes to the product backlog is discussed is called the Product backlog Grooming session.
Prototyping is a quick way of validating the architecture of the team is not sure of the technical capabilities.
Business case represents the viability of the project and thus helps in getting stakeholder support and confidence.
Product owner represents the business community and thus creates the product roadmap.
The preferred length of the tasks is 4-16 hours to make sure that those are not broken too small or too big so that those can be planned and tracked.
The first thing will be to add the task in the Sprint backlog. After that if required the re-planning should happen based on the time available and time required.
Sprint backlog progress status needs to be updated daily so that the burn-down chart can be prepared.
In Agile the team is empowered and they plan and nominate themselves for the tasks.
Story map helps in creating the release plan, which is best aligned with the business need and thus maximizing the business value.
The idea of a focus group is to bring all the stakeholders together and brainstorm. So, the client helps in ensuring that all the parties are present in the group.
Command style decision making doesn’t take into account everyone’s point of view and thus may leave few stakeholders unconvinced because they don’t have a buy-in to the decision.
The main purpose of the facilitated workshop is to brainstorm and churn requirements.
The group members are consulted before making the decision but it is not necessary that everyone agrees with the decision because the group may not have the information, education, skills, or experience to make a high-quality decision.
Product backlog prioritization should take into account three primary items - Value of the item, cost of developing the item, and risk associated with developing or not developing the item.
Change in client need or market dynamics can change the product behavior but the team should not change it as their will.
Very large user stories are difficult to plan and thus should be split.
Planning is done by the team in Agile projects.
Business case provides the information about the importance of the project and the return on investment.
Product backlog contains all the requirements for the project, be it functional or non-functional.
Agile recommends direct customer involvement throughout the project life cycle so that all are clear about the requirement.
Holding one’s thumb sideways means ‘I will go with the decision of the group’.
‘Done’ness is defined as the passing of acceptance tests.
Product vision provides the visibility of why the product is being built and who is going to use it. The details help all the stakeholders understand the necessity of the project.
Chartering provides the idea of who is going to use the product and why which helps the testers preparing the test plan and cases accordingly.
Proof-of-principle prototype, Form study prototype, Functional and Visual prototype are valid types of prototypes.
Feature lists are prioritized according to business need and not according to the team’s convenience.
Product roadmap is the prioritized and grouped set of requirements for the project.
Requirements in Agile projects are evolved with the project and more details are added to the requirements as the project progresses.
A subset of the product backlog which will be worked upon in the current Sprint is called the Sprint backlog.
Every task that needs to be performed in a sprint should be part of the Sprint backlog and be estimated.
Product roadmap This is a plan where the product backlog items are categorized release wise so that the business users come to know what features are getting available at what point of time.
Product backlog Product backlog is the cumulative of all the stories which are yet to be implemented.
Release backlog A release backlog is a subset of the product backlog that is planned to be implemented and released in the coming release.
Sprint backlog The sprint backlog is the list of work the team will work on during the current sprint. At this stage, the features are broken down into tasks, which, as a best practice, should normally be between 4 and 16 hours of work.
Story maps User story mapping is a technique to organize and prioritize user stories. The main aim of user story mapping is to understand the end to end user requirements and stitch them in a logical thread so that users get maximum return on the business value.
Personas Persona creation is a technique of researching and developing a model for the most important customer when you try to see things from customer’s point of view and try to understand their requirement better.