the upstream game
TRANSCRIPT
The Upstream GameUnderstanding the Development Community
through Legos
Sean Roberts @sarobDavid Lenwell @davidlenwellRama Puranam @puranamr
What is Open Source DevelopmentWith over 3,300+ developers from 230+ different companies worldwide, OpenStack is one of the largest collaborative software-development projects. Because of its size, it is characterized by a huge diversity in social norms and technical conventions. These can significantly slow down the speed at which changes by newcomers are integrated in the OpenStack project.
What is Open Source Development
We've designed a training program to accelerate the speed at which new OpenStack developers are successful at integrating their own ideas into that of an OpenStack project.
What is Open Source Development
We have taken a slice of the two day OpenStack Upstream Training program from https://wiki.openstack.org/wiki/OpenStack_Upstream_Training and broken out the session dealing with development interaction.
What is Open Source Development
This live class teaches students to navigate the intricacies of a project's technical teams and social interactions using Legos. It is a lot fun and very informative to the way upstream development teams, companies, and individual technical contributors behave and react to delivery dates.
Materials
● Few example Lego buildings (source projects)
● Lots of Legos○ about a 1 lb per person○ interconnects (APIs)○ base plates (community infrastructure)○ random pieces (source code)
Roles
three major roles● upstream people (7-8 people) green, red● company people (7-8 people) yellow, blue● individual contributors (7-8 people) grey
Purpose
● each team will have the same task: to expand the city block the way they want○ this will be your team’s project, whether you’re
playing the company or upstream role. ○ individual contributors will set their own purpose, for
example: decorate all in pink, cut all the trees, build something, be for hire… anything
Rules of the Game
● Select CEOs from individual contributor group
● Upstream teams elect their own leader● Company and Upstream pick their objective
in the first planning session● Offer them to write an Epic
Purpose (contd.)
● purpose is not to complete the building but the collaboration in expanding the city
● each group will start with a completed building with room for expansion
● extra: plan for final result to be compatible with the other large team
Schedule30 minutes Introduction15 minutes Design Preparation30 minutes First Cycle15 minutes Break30 minutes Second Cycle30 minutes Third Cycle30 minutes Feature Freeze30 minutes Release Review
Facilitator's Role
facilitators are there to smooth out the process● lead the conversation● help with the planning process● discovery of how other teams were working● focus on creating communication● help participants to identify social
mechanisms that work or don’t
Before We Start
15 minutes, Design Preparation● to design your project● pick your name● write the epic on the whiteboard
Four Milestones
four cycles● 5 planning● 20 execution● 5 review
visible countdown and audible soundkeep on the timing
Milestones 1-3
● Complete Features per milestone● Identify Bugs during review● Facilitators will help keep teams on track to
bigger issues like compatibility with existing buildings, collaboration with other teams
Feature Freeze
● Last cycle should be focused on Bug fixes● Work on making Features already
implemented work