Agile

Priya Boopathi
6 min readMay 3, 2021

Agile is a mindset or culture that is planted in sprint teams growing to a vertical and sprouts to an entire company

This document is purely written from my experience of practicing Agile as a Quality Engineer. It talks mainly about Agile Ceremonies.

Why Agile?

  • Continuous Delivery of valuable Software
  • Welcome Changing requirements even late in the development cycle
  • Business people and engineering team highly collaborate daily throughout the project

Backlog Grooming

Prerequisite — Product Owner will work offline with UX experts, Marketing team if needed and fills in skeleton acceptance criteria for the story and the Acceptance Criteria will be continuously refined by the team who is going to implement the feature

  • Product Owner plays a great role in guiding the team what is coming up next and planning the roadmap ahead for us. Backlog is the team’s roadmap so the team knows what is coming up next!
  • The Product Owner writes the “What/Why” part in the story and the engineering team with various expertise like Front end, Quality, Back end and Devops ask relevant questions and help the Product owner write the How/When/Implementation part.
  • The Quality folks play an important role of highlighting the risk factor by doing impact analysis in the product. Example: Remind the team about, we should be doing backward compatibility testing for this feature or highlight to turn ON/OFF a killer config switch and test
  • A story undergoes multiple times grooming. So the team becomes well versed on what they are going to be working on in the future and all the team members get on the same page by doing this exercise
  • The acceptance criteria get refined for every backlog grooming meeting.
  • The Backlog in Jira can be categorized with labels like “Groomed Stories” and “Yet to Groom Stories

In my mind Backlog Grooming is Estimation + Refinement + Gaining knowledge in the problem space + Alignment and confidence in the solution

Sprint Planning

Prerequisite — Team members with all the needed expertise go over the backlog according to the priority label before the meeting

  • The agile lead initiates the meeting asking the question what is our sprint goal??? to the product owner
  • The team helps the agile lead to pull the stories into the current sprint bucket. Keeping in mind the carry over work from the previous sprint.
  • The team experiments on their delivering capacity. Finalizing a team’s sprint velocity is always an ongoing experimenting game
  • If an individual has a preference for a story, maybe because of their specific skills or development goals, they can express their interest to pull a specific ticket to the sprint board. If all the team members agrees the ticket lands to the current sprint board
  • Acceptance Criteria Should be well defined in the story by the Product Owner and the team should have great understanding of it. Acceptance Criteria should be clear, actionable, achievable within the sprint, and have no ambiguities.
  • The team re-evaluates and makes changes to story pointing before assigning the ticket to a person. If a person is new or there is a dependency required from another team to complete the work all are taken into account and story pointing is done again. You got my point right. YES Continuous improvement

In my mind Planning is Deciding a SprintGoal + Acceptance Criteria well defined + Plan the velocity what the team is going to deliver for upcoming sprint + Have a little buffer time planned for unknowns

RetroSpective

This is your chance to get something "off your chest" and remember this is a blameless, no-fault meeting.

Side note: The agile lead can ask other team members to host the retrospective in their own style. So retrospective can have different flavors when hosted by different team members

  • The team members comes with a Mindset how I can do better next time, How I can Improve. We are NOT having pointing our fingers to others’ mindset here.
  • This is a venting out forum, Room for improvements, Being Honest and Open-Minded
  • The team adds their input for the columns say: “What we can continue doing”, “What Should be Stopped”, “What could be Improved” and lastly “Kudos”.
  • The sticky notes of the same category is been grouped
  • Action items are consolidated by the agile lead
  • Often the host makes a temperature check with the other team members so if they have any point that is not been addressed can be discussed
  • Picture of the final outcome and action items is taken and the picture is added to the team’s Retrospective git repo, Google Doc, a Miro.com board, etc for future reference
  • Action items are tracked by the agile team by adding them to sprint board if it is needed in a separate swim lane in the Jira board
  • Celebration is an integral part of sprint. It is important to plan a team outing or happy hour or team building activity after a release

In my mind Retrospective is Looking for Continuous Improvement and Open Mindedness

Daily Stand up

Prerequisite — Team Members have to be Crisp and brief respecting others’ time

  • The template What I did Yesterday + What I am planning to do today + Blockers if any works well
  • The team does a status update should NOT be more than 60 seconds. Only answer those three questions. All questions, details, explanations, etc should be held until everyone provides their updates.
  • If the team has side questions or wants to chat about a topic that does not seem directly related to stand up, the team could use the parking lot. The Agile leader will call if there is a parking lot and let people talk afterwards, team members that are busy or the parking lot is not related can be dismissed
  • If there is a shout out to a teammate we can do that as well . To start the day with a positive feeling

In my mind Daily Stand up is a plan for the next 24 hours + it is a place to inspect progress towards the Sprint Goal + if there are any blockers to achieve the sprint goal it has to be highlighted to agile lead

Informal Team Huddles

  • This is done while we are handling a Firefighting task. When there is a need to Plan the priorities, or a patch fix or a P1 production defect that has come to our plate unplanned which has to be fixed before release branch cut. Only team members needed for that discussion are pulled in for the quick 10 minute team huddle. Where agile lead is the host. Quick decisions has to be made so having informed people in the group helps.

Role of Agile Lead

  • Be able to shepherd the team when they start going astray — be it in meetings, be it in the project
  • Protect the team from outside disturbances. Be able to tell the manager when to back off from steering the team in a different direction. Pushing back on Product Owner when he/she suddenly wants to add more stuff to in the middle of a sprint. And if there are other external issues that could impact the team’s ability to achieve the sprint goal
  • Keep reminding the team’s sprint goal. So the team can achieve it with less external disturbances
  • Gather metrics to improve the team in terms of estimates, action items, protect the ceremonies
  • Escalate blockers when necessary to the leadership team
  • Last but not the least — be there for the team at every step of the way, helping them build confidence in each other

Moral of the Story

It’s not easy to explain everything about Agile. But to have a common language and understanding of what Agile means to each member in a sprint team is very very important and crucial. Agile is a framework the team can put a wrapper around and use the way the sprint team needs. But pls pls every one in the team should talk the same language and mean the same thing. Makes it less chaos from my perspective :)

--

--

Priya Boopathi

I am a Quality Enthusiasts having variety of experiences from Backend, Front End and Automation Testing. Always interested to learn more every day :)