Making Remote teams successful with Agile.
6 December, 2017
VP of Engineering at Apartment List
At Blackhawk Network, I was given the role of managing the company's native app team. The team was comprised of four engineers in California, and five engineers working in Bangalore, India. This meant the team had to deal with significant time zone differences. The team had a product manager who was in India, who worked with a tech lead here in California on a daily basis. Information between the teams was exchanged between these two team members. However, the tech lead in California was not involved in discussions with remote teams. The features of our products would often have gaps, and there was always at least a 24-hour turnaround time for these issues, which caused delays in feature delivery.
To resolve this issue, I first put together some metrics regarding the team's output, issue resolution time, and feature delivery times. I then got the whole team together in two separate sessions and explained the issue we were having. Next, I recommended that the team should operate as one scrum team of nine engineers, and I asked the team to pick a time that would work for both the Indian and Californian teams, so they could hold their scrum meetings. The teams discussed this among themselves and came to an agreement to do two-week sprints. They also agreed that:
- They would hold daily stand-ups. These would be during the early morning for the Californian team, and during the late evening for the remote Indian team.
- Groomings would be held once a week, and the two teams would alternate between morning and evening schedules.
- Sprint planning and a retrospective would be held once for every sprint. They would be held in the evening for the Californian team, which would be early morning for the Indian team.
- The Sprint Review would be held once for every sprint. It would be held during the day, which would be late in the evening for the remote Indian team. The product manager was involved in all of these meetings and helped to articulate the vision to the entire team. Sprint Reviews and demos at the end of each sprint helped all of the stakeholders to visualize the progress we had made, and we were able to release an update to our native apps after every sprint. We kept the daily stand ups to 10 minutes and timeboxed the other meetings for efficiency. The teams were able to plan their schedule more efficiently, and were less bothered by the difficulties of working with time zone differences.
Having the whole team work together as a single scrum team helped to eliminate a lot of the communication gap my team had. The project manager took on the role of scrum master for the remote team, to remove any roadblocks. Having the product manager in all of the meetings helped the team to understand the feature more accurately. They could ask questions in grooming meetings, make better estimations and infuse a commitment-driven approach to the team. In addition, having daily standups helped to reduce the 24-hour turnaround time, as there was frequent communication.
Satendra Pratap, Founder of WakeupBasket, talks about the need to create a product feature process as the company expands into new markets with new demands.
CEO and Founder at WakeupBasket
Chris Rude, Senior Engineering Manager at Stripe, talks about focusing engineers on core KPIs over the feeling of being a ‘hero’ and fixing ad-hoc problems.
Senior Engineering Manager at Stripe
Chris Rude, Senior Engineering Manager at Stripe, talks about some techniques to restore sanity, and get on the path to sanity if your team is overloaded with more “must-haves” than you can handle.
Senior Engineering Manager at Stripe
Matt Nemenman, Director of Engineering at Lyft, shares how he relied on data to introduce strategic changes that challenged the company status quo.
Director of Engineering at Lyft
Benny Wong, CTO at Spin explains the importance of working on roadmaps and OKRs hand in hand as opposed to separate entities.
CTO at Spin