Agile interview prep set
What challenges have you had in an agile environment?
Changing of Requirements. Not Enough Information on the Story Estimating Time For Completing Task Waiting on Development to be completed before testing
You are in the middle of a sprint and suddenly the product owner comes with a new requirement, what will you do?
In ideal cases, the requirement becomes a story and moves to the backlog. Then based on the priority, the team can take it up in the next sprint. But if the priority of the requirement is really high, then the team will have to accommodate it in the sprint but it has to be very well communicated to the stakeholder that incorporating a story in the middle of the sprint may result in spilling over few stories to the next sprint.
What are the different roles in Scrum?
Product owner is actually the stakeholder of the project. o He represents the project requirements before the team. o He is responsible to have a vision of what to build and convey his detailed vision to the team. o He is the starting point of an agile scrum software development project. • A Scrum team is formed by the collective contribution of individuals who perform for the accomplishment of a particular project. o The team is bound to work for the timely delivery of the requested product. • Scrum master - Scrum master is the leader and the coach for the scrum team who checks whether the scrum team is executing committed tasks properly. o He is also responsible to increase the efficiency and productivity of the team so that they can achieve the sprint goal effectively.
Agile Framework?
Role : PO, SM, Team • Ceremonies : Sprint Planning, Daily Scrum, Sprint Review, Sprint Retro, Grooming Session • Artifacts : Product backlog, - Sprint backlog, -Burnout chart
Describe scrum?
Scrum Team - Normally scrum teams have 5-9 team members. This is called development team which has Developers Tester and BA Product owner - He or she has the responsibility of delivering a whole concept of what to build and then convey the idea to the team. Also they are the one who created a wish list for the project which is called product backlog. Product owners usually prioritize the product backlog item and come up with a sprint Backlog as well. Scrum master - He or she is responsible to move the team to the right direction and handle all needs of the team. Scrum master is the coordinator assures team productivity and follows agile principles. Also if there are any issues and blockers scrum master is the point of contact to handle such matters Sprint Planning Meeting- Here the Product Owner selects the Product Backlog Items (User Stories) from the Product Backlog. Most important User Stories at the top of the list and least important User Stories at the bottom. The Scrum Development Team decides and provides the effort estimation. For example, 4 hours up to 20 hours Etc. Sprint Demo - This is usually led by SME or test lead where we will have a demo for clients (Stakeholders) and showcase what was developed and answer any questions they have a quick walk through of what was built and also receive feedback. Sprint Retrospective - Here the scrum team meets and documents the lessons learned in the earlier sprint such as "What went well", "What could be improved". It helps the Scrum Team to avoid the mistakes in the next Sprints. Daily Scrum - Everyday we will have a 15 minute scrum meeting to answer following question: What did he/she do yesterday What he/she will do today What are the impediments(blockers) faced Product backlog - The entire application that we want to develop and sort in user stories. Sprint Backlog - The items that we are going to develop in a specific sprint.
What kind of projects are suitable for the Agile Scrum 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 a regular basis.
Is it possible that you come across different story points for development and testing efforts? In that case how do you resolve this conflict?
Yes, this is a very common scenario. There may be a chance that the story point given by the development team is, say 3 but the tester gives it 5. In that case both the developer and tester have to justify their story point, have discussion in the meeting and collaborate to conclude a common story point.
What is a User Story?
• (Note: basically, a user story is just a requirement) User story is a short simple description of a minimum shippable product. • User stories are short and simple descriptions of capabilities. They are written from the perspective of a user or customer of the system. Another word for user story is Requirement. • It normally looks like this: As <end-user> I want to do < action> So that I can <benefit>. o As amazon user I should able to login, so I can buy stuff online
What is Definition of Ready?
• Acceptance Criteria is cleared/reviewed • Point/hours are given
What is Acceptance criteria?
• Acceptance criteria is the way that we know the user story is successfully developed or not. • Statements of requirements that are described from the point of view of the user to determine when a story is "done" and working as expected • 3 parts examples o Input à valid email address o Process à marking messaging O Outcome à marketing message design matches the specs provided by marketing
What is Agile?
• Agile is a term used to describe a general approach to software development. All agile methods, including Scrum, emphasize teamwork, frequent deliveries of working software, close customer collaboration, and the ability to respond quickly to change. • Agile is an iterative product development methodology that is an alternative to the waterfall methodology. • Scrum : Team plans for amount of work for the next sprint • Kanban : No sprint planning, stories are picked up as is, but you still have everything else
Why do we need Agile? Waterfall and Agile?
• Because waterfall methodologies have following disadvantages; o Requirement cannot be changed or hard to change once the document is signed. o In waterfall before completing the one phase you can't move to the next phase. For example, before the coding phase is completed testing cannot be started. o Customers can't see what they are going to get until a very late stage in the development life cycle. o It takes longer to go to the production. By the time the product goes to the market it might be outdated already. • Agile has following advantages : o The change is welcomed. For example, after the sprint demo if a client does not like something, we can take their feedback and improve the product. Requirement change is OK. o Since it is an iterative development process, the development team can develop a piece of functionality, get feedback and improve the next iteration. So, the product will be continuously improved. o Waste is eliminated in agile with the help of scrum master. For example, if I am blocked, I don't have to wait and waste my time. Since team members communicate with each other efficiently we can be more productive by preventing duplicated effort. o Waterfall emphasizes tools and platform, like C#_.NET, but agile emphasizes people. You can have the best tool but at the end people are using those tools. I believed inspired people can make amazing products even though they have less money or less resources.
What is an Epic?
• Epic is a big user story that you cannot complete in one sprint. • For example, as a user I want to buy online so I don't have to visit the local store. This story is too big, and it cannot be completed in one sprint. So, we can call it Epic instead of a user story. It should be divided to multiple user stories like: o As a customer I want to be able to login so I can view my account. o As a customer I want to be able to search for a product so I can buy them. o As a customer I want to be able to proceed to checkout so I can pay for the item that I am going to buy. o As a customer I want to be able to log out so I can protect my account. o As you can see< As a customer I want to be able to buy...> can be divided into multiple user stories. The team can pick one or more user stories in every sprint.
What is BurnDown Chart?
• Graphic representation of the rate at which work is completed and how much work remains to be done
What is a sprint workflow?
• How a story moves from to do -> to done and lifecycles - what happens when something is blocked, etc.
What kind of Agile methodology did you use in your previous projects?
• I have heard Extreme programming(XP) , Kanban and Scrum. But I have only worked with scrum only.
How do you describe a scrum team?
• If you put 5 rock stars together it doesn't mean they are a team, or it doesn't mean they can build great products. • For me the team is a group of people who are sharing the same goal , moving to the same direction , who trust each other and who will effectively communicate and collaborate with each other to build great products. There should be no star individual but a star team.
What does parking lot or Take it offline means?
• In Agile it means this: In a meeting when you have a problem that is not really relevant to other people we should not keep discussing that item in the meeting because we are wasting other people's time.< Let's make it parking lot item > means whoever is interested in that issue can talk after the meeting.
What do you understand by the term "Scrum of Scrums" (SOS)?
• Let us assume an active project on which seven teams are currently working. Each team is responsible to lead its own scrum meeting. But, in order to coordinate and communicate with different teams, it is required to organize a separate scrum meeting. There is one team leader from every team, known as ambassador, who is responsible to represent his team in the scrum of scrums. • The scrum meeting organized to hold a coordination between scrum teams is known as the scrum of scrums.
What is a negative test case?
• Negative test cases are created based on the idea of testing in a destructive manner. For example, testing what will happen if inappropriate inputs are entered into the application. Wrong login information
Agile experience in your most recent project?
• Our sprint is 4 weeks and we have release every 3 sprints as a release cycle • We have 7 people in my team. 3 developers (Shibby, Syed, Omidah), 1 automation (Me) and 1 functional testers(Mufasa), also 1 SM (Angela) and 1 PO (Deepika). • We start a sprint with Sprint Planning Meeting and o we discuss about the team's priority features and product backlog items o we learn the part of the application which we are going to develop. o Choosing story based on velocity and capacity § Velocity: Number of story points delivered/demo in a sprint. For example: if team planned 30 story points (Business value); worth of user stories in a sprint and able to deliver as planned then team's velocity is 30 § Capacity: Total number of available hours for a sprint is Team's capacity. Calculates holiday and PTO hours o This meeting is held every week and lasts for almost 1 hour. We get a general idea then we do a Sprint Grooming meeting for giving some estimates for the tasks. § Team, SM, and PO get together to ensure work items are relevant and useful § Ask questions to P.O of user stories § Re-define acceptance criteria § Writing new stories § Breaking epics into user stories § Understand the story to give proper estimation/to prevent under/over estimate How do you estimate? Based on my experience and complexity of the story and it is something I worked on before. • After sprint starts, we do Daily Standup Meeting o every morning and we discuss what did we do yesterday, what will we do today and is there any blocker. o Just we synchronize info about the sprint. • End of the sprint, we usually do a Sprint Demo/Review Meeting . o It is just to show customer what we build sprint (PO can put feedback) o As an SDET in my team, I have done presentation sometimes and go over through the functionalities in the conference room. o Client or stakeholders or business people they ask questions that they don't know. • After the Sprint Demo, we do a Sprint Retrospective Meeting . o In sprint Retro, we talk about what was good in the last sprint, what kind of mistakes we made. o We go over them and make sure that we don't make the same mistakes again. o If we did something good and improvements, we would continue doing it. o This meeting that is held at the sprint review meeting or at the end of the sprint; it lasts for 2-3 hours.
What is a rat hole?
• Since there is a lot of communication going on in an agile team, the team has to discuss a lot of stuff. But sometimes the discussion will last too long for one topic and it is not really productive. We will say it is <rat hole> it means we should not keep talking about that issue too long and move forward.
Shippable product/increment?
• The piece of the product is made, and it keeps getting added functionality form each sprint • The increment must align to the development team's Definition of Done o When the product increment is delivered, it needs to meet "Definition of Done" o Acceptance criteria is fulfilled o Product owner accepts the user stories • The increment must be acceptable by the P.O
What are the responsibilities of a Scrum Master?
• Tracking and monitoring • Understanding requirements properly • Work to reach the project goal • Process checking master and quality master • Protect the team from detachments • Improving the performance of the team • Lead the meetings and resolve issues • Resolution of conflicts and impediments • Communication and reporting
What is Verification and Validation?
• Verification happens during developing by testers and developers; it is a process of evaluating software at development phase and to decide whether the product of a given application satisfies the specified requirements. • Validation by testers; is the process of evaluating software at the end of the development process and to check whether it meets the customer requirements.
You said "shippable", what do you mean by that?
• Well, You can't really say As a user I want to put my username in the username field. • So, I can write my username there. It has to be complete functionality. Putting a user name is not a shippable functionality. But able to login is a complete functionality. That is what I mean by shippable.
Scrum is an Agile framework, right? Name a few other Agile frameworks.
• Yes, Scrum is an Agile framework. Few other Agile frameworks are -Feature Driven Development Test Driven Development, Kanban.