Product Build - iterations and experiments on getting work done (Part 2)
Previously in Part 1 , I went through the stages of being ambitious, and get my hands dirty, to get the team on the same page. In this part, you'll see how I eventually arrived at the stage I brought people along the journey.
Stage 4: Team Goals; Individual Champions. Once we were on the same page and cleared out confusion and road blocks; it's about tight execution. Having a clear team goal, either sprint wise or bigger program wise is great (this particular program took months to finish). However, it comes down to the individuals in the team to make it work. I observed "then" agile approach of pick up the new cards in the backlog when you finish, but I saw the special modifications needed for the time; That agile approach works great for a very mature team with everyone hands on hearts for a bigger mission; for a less mature team with fluctuated number of people in the team (some are part time, or during uni vacations) it wasn't necessarily the best way to achieve our goals in time, with fair distribution of workload.
So what I did I find out? Agile practices and any other industry practices are guidelines, and not a Bible; We have seen some hard working people and senior developers in the team naturally took on more workload while others were slow in finishing their cards. Cross skilling is a long term process that will address some of the problems here and benefit us sustainably, but it doesn't address the other performance issues we have seen. So I ran a skill matrix at one of our retros to identify team's skill strength and where they want to get better at. To achieve our immediate goals of finishing the program on time, I mapped out a matrix to match component leads across features. This individual level of accountability that mapped into existing skill sets really helped us to push through the work and resolved issues as we go. The downside is people may get bored of what they were doing, which is what the cross-skill can bring more engagement to the team.
Stage 5: Elevate individual accountabilities. Once we finished the big program with a base app; we moved on to smaller additional features to build on top. This gave us a chance to execute in team cross-skill pairing and also I started to delegate more responsibilities to the team so they started to feel and act more like an owner of the goals. I started to rotate the host of our sprint planning and retro sessions, so each of us get a chance to practice and show very diverse ways of leading the team. Specifically during planning session; I focused more on illustrating what the feature is about; how the user experience would be; One experiment seems to work well was creating a channel wide placeholder template for the team to break down the tasks at the same time on post it notes; we then look at the notes together to see whether anything is missing.
So what I did I find out? We were at a more comfortable position that the experts in the team were able to share some of their thinking process publicly with the team in a conversation, instead of their knowledge only visible at solution design document that may or may not be read by the team. The breakdown template as partially shown here, was also a great way to reminder everyone we should be designing and building a holistic experience, and piecing each other's solution and thinking together to achieve the goal.
Stage 6: Look beyond the current sprint. This is the last iteration of my experiments (until the next generation of iterations). Once we nailed 1 sprint planning, I looked into team feedback especially around the uncomfortableness when urgent priorities came to change our existing priorities due to broader scheme of things beyond the sprint. I believe transparency is the best solution for this and I started with a big white board with 3 sprints runway to bring forward thinking, work continuity, and prepare team to be comfortable with being uncomfortable. (you can swipe below to see the original hand drawn whiteboard)
So what I did I find out? The sprint goals has a mix of product feature build, clients work and tech debts and it provided fluidity to reprioritise within the fixed capacity, while still get the must have stuff done. It also naturally build a buffer if there is any unplanned production issues we need to deal with, so the portion of 10% tech debt can be traded off for production issue and support when we need to. And on the good days, we will be able to pull more tech debts and other tasks from our stretch goals.
Interestingly, the leave calendar kept me in check (as I am a terrible scrum master) and visually it helped me to set the right goals for the immediate sprint and beyond as it acted as a neutral negotiator of what is realistic to be achieved vs my expectations as a product manager.
What the team really liked about are the weekly milestones of 2 week sprint; and the easy to access sprint goals visible in the room when we do standup. I also confess I love the feeling of crossing the goals off when we finished them at standup.
As I cannot always predict and fill out 3 sprints capacity, the coming up product features and clients pipeline are another great way to give the team a hint of what might come up to fill the space.
So this is the latest iteration of how I ran the product team in building features that helps us to achieve our product vision; meet clients demand; and continue to build stronger platform for scalability.
What I have learnt over this six month process? It seems like I am circling back around the initial thinking of injecting product feature build and tech debt into sole client services focus in our roadmap and development pipeline. But I am grateful for this experience to learn and practice bringing people along the journey. #Actions Not Words.
The biggest lesson for me is about working with people, and be humble regardless of your experience. I will keep holding myself true to our company value "Diverse Thinking", "Actions Not Words" and "Transparency". Hopefully by sharing my stories, anyone joining us will see a snippet of how we hold our culture, and understand the meaning and purpose behind our company's true values.