proposed new team structure

Christoph Otto christoph at
Sun Oct 17 00:32:11 UTC 2010

At the developer meeting today, one of the topics we covered was a new way of 
structuring the how we Parrot developers work as a group.  I've gotten a rough 
consensus from those who were present at the meeting and put it up on the wiki 
at ParrotTeams, which is copy/pasted below.  This is a pretty radical change 
from the current approach, but we also think it will be a significant 
improvement in our process and and in improving our bus numbers.  We'll be 
discussing this further at the next #parrotsketch, so please attend if you 
have any questions or can suggest any improvements.


Copy/paste from the wiki:

How teams work ¶

Participation ¶

Each team will have one person who has primary responsibility for that team. 
Any interested people are strongly encouraged to participate in any team, but 
the team lead will have final say over membership. Developers in a team other 
than the lead are referred to as team members. A team consisting of a single 
member is fine, but we love having high bus numbers.

Team Leads ¶

A team must consist of at least one member, who is the team lead. Team leads 
are required to commit to performing their duties for a period of 6 months at 
a time, with a brief review and request for renewal being performed at the 
#parrotsketch meeting before the x.0 and x.6 releases.

Qualifications ¶
Team membership is a formalization of a developer's prior actions. A developer 
wants to join a team, the procedure is to talk to the team lead and start 
contributing to that team's goals. Once a developer proves capable of working 
with the team and the community, the team lead will add that developer to that 
team. Team membership is documented on the wiki on TeamMemberships (TODO).

Disqualification ¶
Maintaining team membership and team membership documentation the 
responsibility of the team lead. A team lead may be ejected by a unanimous 
vote of the Parrot Foundation board of directors. The reason for ejection is 
at the discretion of the board of directors, but the primary criteria is that 
the lead is unable or unwilling to carry out the team's responsibilities.

Teams and Responsibilities ¶

Architecture ¶
This team is responsible for the overall vision and direction of Parrot. Their 
job is to determine where Parrot needs to go, keeping an eye toward the 
future. They have the final say in disagreements between the Project 
Management Team and the Product Management Team.

Project Management ¶
This team is responsible for taking the Architecture Team's vision and 
allocating resources with the aim of reaching that goal on an immediate, 
practical level.

Community Management ¶
This team acts as the face of Parrot to other communities. They are 
responsible for attracting new developers to Parrot, directing interested 
developers toward places where their interests and skills can be put to 
effective use. They also serve as and advocate for current Parrot developers.

Product Management ¶
This team is responsible for the vision of Parrot as a user-facing product. 
They also act as an advocate for the needs of Parrot's users (e.g. HLLs and 
libraries such as Rakudo and Kakapo), and as an interface between Parrot and 
its users.

QA Management ¶
This team is responsible for ensuring that we have good documentation and test 
coverage, that existing tests are run regularly and that tests are added for 
new features and bug fixes. This team may not be distinct from Project 
Management, but it is a distinct and vital responsibility.

More information about the parrot-dev mailing list