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.
1. The Upstream Game
Understanding the Development Community
through Legos
Sean Roberts @sarob
David Lenwell @davidlenwell
Rama Puranam @puranamr
2. What is Open Source Development
With 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.
3. 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.
4. 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.
6. 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.
7. 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)
8. There is not
enough for
everyone on
purpose.
Collaborate and
Innovate.
Materials: Share the Critical Pieces
9. Roles
three major roles
● 2-3 teams: upstream people (6-10 people
each) red1, red2, red3
● 2-3 teams: company people (6-10 people
each) yellow1, yellow2, yellow3
● individual contributors (30 people) blue
10. 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
11. Rules of the Game
● Select 2-3 CEOs from individual contributor
group
● Upstream teams elect their own leader
○ Leader will also speak for the team at the recap
● Company and Upstream pick their objective
in the first planning session
● Offer them to write an Epic
○ use case, objectives, features to implement
12. 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 an another team
13. Schedule
45 minutes Introduction and Design Preparation
30 minutes First Milestone
30 minutes Second Milestone
30 minutes Feature Freeze
45 minutes Release Review
14. 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
15. Before We Start
5 minutes, Design Preparation
● to design your project
● pick your name
● write the epic on the whiteboard
16. Three Milestones
three cycles
● 5 planning for this milestone
● 20 execution
● 5 review
visible countdown and audible sound
keep on the timing
17. Milestones 1-2
● 5 min plan, 20 min execute, 5 min review
● 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
18. Feature Freeze, Milestone 3
● 5 min plan, 20 min execute, 5 min review
● Last cycle should be focused on Bug fixes
● Work on making Features already
implemented work
19. Release Review
For 5 minutes, each team speaks to
● Their team name
● Their objectives
● Their accomplishments
● What they learned