Gavin Thomas, Technology COO, London recounts the journey of open-sourcing Corda
Two months ago we did something we had never done before. We held hands and jumped off. We broke new ground. Opened a new chapter. Added a string to our bow. On 30th November 2016 we open sourced Corda, R3's blockchain-inspired distributed ledger platform. Corda’s open source release is the culmination of 18 months of hard work by a team of carefully selected, industry-leading developers at R3. So why would we choose to share it with every man, woman and child? In this post I share four of the most significant aspects of the project management approach.
Releasing Corda to the open source community had always been the strategy. Richard Gendal Brown, R3 CTO, announced in April we would be open-sourcing Corda but the precise date was only set in September. Richard had given us two months and there was much to do. But Richard's deadline had the desired effect. It galvanised the team and focused them on a near-term goal. Up to then we had been working on large components with delivery timeframes of many months. Where we were previously building the ship to carry the shipping containers (Corda Platform), we now needed to build the shipping containers and fill them with lots of goodies to entice and interest a global open source community.
Start at the Beginning
Whilst there is plenty of debate within the project management community on best approaches to deliver projects, there are some things that simply work. Brainstorming and defining a strawman plan with some well informed colleagues is one of those things. Because R3 use an Agile framework for delivery this meant whiteboarding a backlog of activities to get us to an open source offering we were happy with (sticky notes and marker pens at the ready!). Then we prioritised the work. Then we shared the backlog. We posted a photo of the whiteboard and shared it on our internal chat.
And the effect was immediate. The other R3 offices in US and Asia took notice, contributed their thoughts and suggested improvements. Our US colleagues created a mirror copy in their office (yes we use Jira but sticky notes are more tangible) so they could keep track of progress and make changes when a lightbulb-moment struck. It almost felt like we were crowd-sourcing the project management.
Pin the Tail on the Donkey
Within two days we were confident we had a backlog of activity defined. Stories were created in Jira ready for the next Sprint planning session and the most immediate tasks could be given owners, so far so good. But I found having all activities (development, communication, press release, community tooling, trademark protection…) in Jira was not working. Where the Corda developers happily use Jira to track their work and provide the drumbeat of their delivery, the non-developers on the project team were not getting it. I realised the Agile delivery mindset had not permeated much beyond the development teams, and without a period of formal education and training this would not change. So I took a mixed approach: Jira for those teams comfortable with Agile (development and Developer Relations) and a Gantt chart, action list and playbook for those teams comfortable with Waterfall. I was reaching into my project management toolbag and pulling out some well honed and familiar tools to partner with my latest additions. The project team was now assembled, owners assigned to activities, and whilst there would be some course-correction along the way, the work was defined well enough to get cracking.
Tick Tock Tick Tock Tick Tock
Done properly, daily stand-ups are one of the most effective techniques for information sharing and decision-making. They need to be laser-focused, prompt and punchy. Every day the project team had a 30 minute call (by all means we could finish early) to make decisions and agree and assign tasks for the next 24 hours. Within days the delivery team had a well formed mental picture for the shape of the project so upcoming tasks were rarely unexpected. The daily stand-up helped refine the thinking and close out the decision or assign an owner to a task. There were no hard copies of actions lists or risk and issues logs floating about, I read from my master sheet and everyone listened. By keeping the stand-up punchy concentration levels were kept high, and if discussions were getting bogged down they were continued offline and the 30 minute limit was never breached. And in maintaining good project hygiene a summary of decisions made and actions assigned were sent to all attendees straight after the stand-up.
I have described four aspects of the project management which were instrumental in open sourcing Corda and proving R3 can meet its goals on technology delivery. To conclude:
- Define a hard end date. Don't be reluctant to set a final date for delivery because it does not fit the Agile way
- Reach beyond the immediate project team and use your firm's pool of intellect and experience to flesh-out the early stages
- Check which project management frameworks are the most familiar, be prepare to mix them and if you want to apply new techniques give the project team the training and the time they need to use them effectively
- Daily stand-ups are a powerful metronome to maintain cadence and drive action ownership. But keep them short, punchy and do not run over time
Please do leave comments below and visit http://www.corda.net to learn more about Corda and join the community!