A few weeks ago, one of the teams I lead tried a different way to structure their two week build.
Instead of committing to work and tasking everything out at the start of the two weeks, we started each day committing & tasking work and ended each day seeing if we made those commitments. Also, we had a retro at the end each day to try and improve for the next day.
We tried this approach due to two identified issues (described in Day 0)
- New team members cause storming
- We added two new team members and we were storming. Our old processes of accomplishing work changed because new team members needed to learn our solutions and that added time to what we thought we could accomplish in the past
- Estimating our work is hard and we were struggling with it
- Due to adding more time to what we thought we could accomplish, we had trouble estimating what we could truly accomplish over a two week period (our build cycle). We found that we were crunched for time or dropping work as we neared code complete.
It’s been over two weeks since we started this process. What happened as a result of this different way of working? Did we improve our estimation due to this?
The short answer is no.
Instead, we accomplished something I believe may be more valuable. Our teamwork improved! Instead of improving our estimation, we improved our ability to accomplish whatever was put in-front of us.
Here is how our teamwork and ability to accomplish our work improved
- Setting a daily goal made each day clearer
- We had a really good idea of what we wanted to accomplish by the end of that day and it reduced questions because we could bring them up at the start or end of each day, if not earlier during our teamwork on Zoom (Day 3)
- Increase in challenging each other created better solutions
- We started to challenge each other more often, when something didn’t seem clear or there seemed to be a better way (Day 7)
- Our daily schedules helped understand our real capacity
- Simple yet effective because it helps us understand how much capacity we had to accomplish work that day (Day 4)
- We established that we would always use Eastern Time when describing meeting times, so we don’t have to figure out all the different time zones (Day 6)
- Leveraged Zoom more often to improve problem solving as a remote team
- We started to improve our problem solving because we used Zoom more by talking about issues that came up and we began raising awareness to roadblocks earlier (Day 3)
- Pair-programmed via Zoom more often for work that was newer to others, regardless of experience level – this helped everyone learn and improved teamwork (Day 1, Day 2, Day 3)
- Brought people into our Zoom room, instead of having solo conversations, so everyone could hear the issue and bring solutions to the table (Day 8)
- Thinking about what the work really required, rather than guessing/assuming
- We started spending time each morning really thinking and solution the story via tasking to create as many tasks we needed to do to accomplish each story, rather than just creating a few tasks based generalities of what we were trying to accomplish
- This also led to understanding potential roadblocks sooner, which the team then went and tried to solve immediately, rather than running into the roadblock during development (Day 4)
- Building time for future work with time boxes to avoid getting in the weeds
- If we thought we would bring in new work the next day, but we didn’t have familiarity with it, we would build time (30 minutes to an hour) to learn about that work instead of guessing on the time it would take to accomplish the work (Day 3)
- Celebrate success often!
- We did an excellent job of finding ways to improve, but we forgot to celebrate our success until later in the two week build. We did so much and it was amazing to see! (Day 7)
So what’s next for the team?
We continue to utilize these ideas in our day-to-day build process. We’ve even added to them. Most notably, we have a weekly goal and use daily goals that roll up to the weekly goal. These goals are based on business deliverables for a project we are currently working on.
We set out to improve our estimation. Instead, we became a better team. That result is better than expected. Why? Great teams can accomplish any challenge that is placed in front of them, even if their estimation is off. Our team’s goal remains the same – create amazing software solutions to make the real estate experience faster and easier for everyone. Now the team is better positioned to accomplish that goal because we are one step closer to being a great team.