In a previous post I provided an introduction to my time as a Product Owner and how I went from Passenger to Driver. I would like to continue that journey and consider how things changed when we moved from an internal Development Team to an external, third party Development Team.
During the course of the delivery for which I was a Product Owner, a decision was taken to engage a third party to deliver the remainder of the project (releases three, four and five), with the transition set to occur following our second release. The new Development Team was to be based in London while I was in Leeds, 169 miles and a three hour train journey from them.
As work transitioned from one team to another, one of the first actions that I had was to visit the new Development Team at their office in London in order to provide an overview of where we were in the development, what was remaining in the backlog, the proposed release dates and proposed content. We also needed to re-size the backlog based upon the new team’s understanding of the work involved. Sizing the backlog was necessary and made more complicated by the fact that the contract that had been agreed for the project related to a number of story points being delivered over a set period of time.
Development started and initial progress was slow. This probably felt worse than it really was due to the fact that the Development Team did not have the same level of knowledge of the project or the codebase as the previous internal team. This would not helped by the fact that after the initial overview and sizing session, I had travelled back to Leeds. This meant that rather than crossing the floor of a building to ask/answer a question face-to-face, queries had to be raised and answered by phone, e-mail, instant messenger or video conference. Furthermore, the majority (if not all) of the questions raised at that time were routed through the Business Analyst or Architect for the third party, meaning that there was little direct communication with the Development Team during the initial stages of development following the transition.
Due to this separation it was difficult for trust to be built between Leeds and London. This was highlighted most during the Sprint Planning and backlog sizing sessions that took place around a spider phone. I, and the others still on the project in Leeds, were often put on hold while the Development Team in London held a discussion about a user story. Why was there a need for a separate clandestine conversation? Was this due to the contractual element of the development, that was termed ‘pound for points’, with the sizes of user stories being gamed?
I know that you are asking why I did not travel to London more and spend time with the team during these early stages. Unfortunately, this phase of the development coincided with the 2012 London Olympics and during that period my organisation stopped all but essential travel to London. During this time and throughout the project, the Business Analyst, Architect and Delivery Manager from the third party company were coming to Leeds two days a week so there was some face-to-face communication, however, it was not with the Development Team.
Following the Olympics I was able to travel to London more regularly and have greater face-to-face time with the Development Team. This made it possible to start building the trust that was not there in the early stages of the development. Although not every Sprint Planning session was held together, those session that were held remotely became much easier with phone conversations no longer being muted. It became clear that the the sizes of user stories were not being gamed, but it was the lack of trust and knowledge of the project and system that caused the issues.
Although the journey was not as smooth as it could have been, with the occasional misfire from the development engine and odd obstacle to maneuver around, I continued to drive the project car forward, with delivery occurring to the agreed timescales and budget. Looking back with more experience of software development projects, there are a number of recommendations that I would give myself and make to any Product Owner not located with their Development Team:-
- If co-location is not possible, spend as much time as possible with the Development Team. This is particularly important in the early stages of the development.
- Get to know the Development Team and look to build a trusting relationship where you can speak openly and freely.
- Ensure that there are direct communication channels available (instant messenger, Skype etc.) to be able to speak with the Development Team rather than using conduits.
- Document any decisions made or changes to user stories/acceptance criteria in the appropriate location(s).
- Try to remove anything from the development that could influence how people think, i.e. ‘pounds for points’.