3
6 Comments

Agile Scrum in real life ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

TL;DR Pointing Stories is hard and confusing ๐Ÿ˜ญ

After many years of being a fullstack developer, in 2016 I got my chance to build and manage a team.

My tasks and roles were clear:

  • Hire and build a team (9 people at its peak)
  • Develop the product from scratch
  • Be a Backend dev
  • Be the Scrum Master
  • Be the Product Owner
  • Be the Tech lead
  • Be the Team leader
  • Go live and don't crash and burn

Fun fact: I failed more than once in more than one role๐Ÿ™ƒ

Some context

The team was in charge of:

  • Development (back and front)
  • Code Review
  • QA (I know this is bad, but we had no budget and it was better than no QA)
  • Deployments
  • Infrastructure design
  • 24/7 Call availability

Our Sprints durations went from 2 weeks at the start, to 3 weeks in the end (2 for dev, 1 for QA).

The Scrum Methodology was new for everyone except for one member of the team.

Meetings

Daily Standup

It took a few months for everyone to understand that they needed it to keep it short.

During my time we tested the following methods:

  • Standups around the desks
  • Standups in a conference room
  • Sit down in a conference room
  • Daily written over slack/teams

The reasons for these changes were because something was not going right and these little adjustments helped to get the team back in track.

As a Scrum Master you need to monitor and make sure people answer the basic questions:

  • What did you do yesterday?
  • What are you going to do today?
  • Any impediments/blockers? Do you need help with something?

Keep in mind that these questions might not be useful for you or your work type. Change them if you need to!.

At some point, I started using a timer on my phone and show it around to put a bit of pressure, and have fun, when someone was taking too long. Remember that Daily shouldn't take more than 10/15 mins.

Backlog Refinement (a.k.a Grooming)

Maybe one of the most inconsistent meetings for my team.

We changed according to our needs:

  • Every day 1 hour.
  • 3 times a week / 1 hour.
  • 2 times a week / 1 hour.
  • 3 times a week / 2 hours (complex tasks).
  • The whole team was present.
  • Sometimes I decided which members were present.
  • Sometimes members decided by the team were present.

Fun fact: Sometimes it took us one whole meeting just to break down a Story or Task. ๐Ÿ˜“

The Story/tasks points (the hard part)

Front and back devs pointed all Stories/Tasks. No matter if they were front or back Stories or Tasks.

If a task was 100% back or front, the frontend or backend dev would explain it without getting into the specifics and compare it, when possible, with an old task.

One thing that happened from time to time was the team getting confused on how to point Stories.

When I had to re-explain this I used this analogy:

A Story/Task is a race that the whole team has to run, and the points (numbers) are the distance to run.

This worked for a while but after some time we had to restart and I would have to explain it over.

This confusion was because we were using numbers for the points but at the Sprint Planning Meeting we were forced to make some kind of translation between points and a fixed time length.

Let me be more clear:

Points are not a measure of time, but rather a measure of how hard the Story/Task is.

But when you plan your Sprint, you need to translate those Stories/Tasks from "How hard is it" to "how many of them can we achieve in X weeks" and that mismatch is not always easy to solve.

One thing that might be easier and that we didn't try is to use sizes like XS, S, M, L, XL instead of numbers.

Having words instead of numbers maybe would be easier for detaching ourselves from the notion of time.

Fun fact: Sometimes I didn't warn them on a particular Story or Task points if I thought that the team was over or underestimating it. This helped built trust and awareness in the long term ๐Ÿ’ช๐Ÿป

Sprint Planning

This meeting was done on the lasts 3 or 4 days of the ongoing Sprint and on Fridays, when we officially agreed on the final version for the incoming Sprint.

Fun fact: Unless we were pressured to deliver something important, in some Sprints I'd let the team go over/under what I believed their capacity was, without warning them just to see the results and performance. ๐Ÿค”

Sprint Reviews

These meetings took place on the last day of the Sprint, on Fridays. Sometimes this meeting replaced the Daily Standup if everything was completed.

Fun fact: Sometimes the Sprint was not 100% completed! ๐Ÿ˜ฎ

Retrospective

We only did it when it was necessary.

How to determine that?

  • If I wasn't happy with the sprint results or if I saw problems within the team I would schedule a meeting for the first week of the new Sprint.
  • The last day of the sprint or during the first week of the new Sprint I'd ask the team if they needed a Retro and schedule one if they did.

Fun fact: We voted on who was the team member designated to take notes because we all hated writing ๐Ÿ˜‚

Photo Credit: https://www.pexels.com/@fauxels

on April 19, 2021
  1. 1

    Discussing Agile Scrum in real-life scenarios always brings forth a rich tapestry of experiences and insights. It's a methodology that thrives on adaptability, iteration, and collaboration. The "crystal methodology," as explored in depth in a recent article on DevCom's tech blog, introduces a nuanced approach to Agile development, emphasizing team dynamics, communication, and flexibility. In practical terms, Agile Scrum teams navigate challenges by breaking down projects into manageable chunks and following iterative cycles, leveraging key ceremonies like sprint planning and retrospectives. Integrating insights from the crystal methodology adds depth to Agile Scrum, encouraging teams to prioritize communication, trust, and adaptability. In conclusion, Agile Scrum in real-life projects is a journey marked by collaboration, iteration, and learning, where combining methodologies like crystal with Scrum's core principles enables teams to navigate challenges with confidence and deliver exceptional results.

  2. 1

    About stand-up meeting, I was thinking that was some kind of time waste. I would suggest that all team members write it down in a board and such that all could see the growth of the sprint with the evidence. Would that be valid in the agile teams?

    1. 1

      Whatever helps the teams to work more agile it's valid.

      You should review/drop any meeting that's not being useful to get the job done.

      Individuals and interactions over processes and tools
      Working software over comprehensive documentation
      Customer collaboration over contract negotiation
      Responding to change over following a plan

      From de agile manifesto

  3. 1

    Interesting ๐Ÿคจ

  4. 1

    @gdi3d if you have the time and are looking for people that can benefit from what you learned I'd love to talk to you. We sell a collaboration product and learning more about what really works so we can incorporate it in our product is vital.

    I have been attending multitudes of agile meetups but unfortunately they tend to focus more on what agile coaches can sell and less on what has been proven to work.

    Thank you,
    David