Gentoo Archives: gentoo-dev

From: Daniel Robbins <drobbins@g.o>
To: gentoo-dev@g.o
Subject: [gentoo-dev] *IMPORTANT* top-level management structure!
Date: Wed, 25 Jun 2003 01:33:14
1 Hi guys,
3 We are all painfully aware of the chronic communication, coordination and
4 planning issues that are a direct result of the massive growth of this
5 project. The primary victim of this growth has been the release of
6 Gentoo Linux 1.4, as well as all of our sanity.
8 Kurt and I have developed a comprehensive plan which we hope to get in place
9 *this week* to address all of these issues. A draft of the plan is below. It
10 is long, but *ALL* developers need to read it in its *ENTIRETY* and
11 understand why we need to move from a unstructured community development
12 model to a model that incorporates the best possible software development
13 and management practices. This is the first critical step in making this
14 happen. Being better organized is the only way we can effectively grow
15 while improving the quality of Gentoo. Enough said, please read.
17 Gentoo top-level management structure proposal, recursive implementation
18 ========================================================================
19 Authors: Daniel Robbins and Kurt Lieber
21 *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** DRAFT
23 This is a draft. But I want to get this finalized and in place by Thursday
24 if we can. We are simply growing too fast to not get this in place within
25 days.
27 (Note: see "manager responsibility #9" to understand the recursive nature
28 of this proposal.)
30 What is the purpose of this proposal?
31 -------------------------------------
33 The purpose of this proposal is to solve chronic management, coordination
34 and communication issues in the Gentoo project. In particular, currently we
35 have no clearly defined top-level management structure, and no official,
36 regular meetings to communicate status updates between developers serving
37 in critical roles. In general, most communication takes place on irc and
38 irregularly via email. There is also little to no accountability, even
39 at a high level, to complete projects on time.
41 Because of this current state of affairs, it is difficult to set goals and
42 track the status of projects. This lack of communication and coordination
43 also makes it difficult for top-level developers to manage their own
44 projects. In addition, we have the other chronic problem of not having
45 clearly-defined roles and scopes of executive decision-making authority for
46 top-level developers, which results in many top-level developers doubting
47 that they even have the authority to manage their own projects and
48 sub-projects. While this has *never* been the intention of top-level
49 developers, it is the unfortunate result of an unstructured development
50 process: no one knows what is going on, and everyone defers to the Chief
51 Architect for all executive decisions.
53 Clearly, a plan is needed to swiftly and permanently address these issues by
54 increasing communication, coordination, and accountability. Roles and scopes
55 of executive decision-making authority need to be defined for top developers
56 so that they have a clear mandate as well as accountability to manage their
57 projects and thus ensure their projects complete their appointed work
58 efficiently and on-schedule.
60 How do we fix this?
61 -------------------
63 This proposal suggests fixing this issue by creating an official top-level
64 management structure. This management structure will consist of the chief
65 architect and a group of developers that will be given the title of
66 "Top-level managers." Top-level managers will be accountable for the
67 projects they manage, and be responsible for communicating the status of
68 their projects to the rest of the top-level managers and chief architect,
69 among other things detailed later in this document.
71 All the top-level projects in the Gentoo project will be clearly defined,
72 including with goals, sub-projects, members, roadmap and schedules. The
73 "Hardened Gentoo" page at is a
74 excellent example of such a top-level project definition.
76 Certain executive decision-making authority will be granted to these
77 projects, as agreed upon by the top-level managers and project members.
78 Then, a top-level manager or managers will be officially adopt projects.
79 These managers will be responsible for tracking the status of the project,
80 ensuring that the project meets targets and is generally managed properly.
81 Manager responsibilities are described in detail later in this document.
83 The operational manager of each top-level project will also be responsible
84 to report the status of the project in regular weekly status meetings in
85 which all top-level managers will participate. This regular communication
86 will allow proper coordination, goal-setting and scheduling to take place.
88 Types of management
89 -------------------
91 For top-level projects, there are currently two possible types of managers.
92 Each project must have at least one manager of each type, although one
93 person may serve both roles. The first type of manager is the operational
94 manager, who is granted executive authority for the day-to-day running of
95 the project. Because this person is directly involved in the day-to-day
96 running of the project, this person has the responsibility to communicate
97 project status to the rest of the top-level management team.
99 The other type of manager is the tactical manager. The tactical manager has
100 executive decision-making authority over the long-term strategic direction
101 of the project. This manager's involvement in the day-to-day operations of
102 the project is limited. Both tactical and operational management are equally
103 important for a successful project.
105 Management team
106 ---------------
108 Proposed initial top-level managment team is as follows:
110 Top-level managers (in no particluar order):
111 Seemant Kulleen (seemant)
112 Jay Pfeifer (pfeifer)
113 Joshua Brindle (method)
114 Kurt Lieber (klieber)
115 Nick Jones (carpaski)
116 Pieter Van den Abeele (pvdabeel)
117 Jon Portnoy (avenj)
119 Chief Architect
120 Daniel Robbins (drobbins)
122 Management charter
123 ------------------
125 1) Constructive, professional communication: All communication should be
126 focused on improving the management of Gentoo projects, should be
127 constructive in nature and should be shared in a friendly, professional
128 manner.
130 2) Accountability to peers: Allow fellow members of this list to hold us
131 accountable to follow-through on projects and meet deadlines. Keep fellow
132 members accountable.
134 3) Management of projects: empower managers to have the authority and
135 strategic direction necessary to properly manage thier projects and efforts
136 to ensure projects complete their appointed work on time.
138 4) Results: our expectation is that our efforts, when properly executed,
139 will result in the Gentoo project's ability to meet deadlines, have much
140 better communication and coordination throughout the entire project, higher
141 overall quality and a more positive experience for all.
143 Manager responsibilities
144 ------------------------
146 Every top-level Gentoo project will have a clearly defined scope, and
147 clearly defined and explicit executive decision-making authority that will
148 be granted to managers of the project to exercise and/or delegate as they
149 see fit. Both the scope and any necessary decision-making authority must be
150 agreed upon by both the chief architect and project members. The scope and
151 executive authority of a project can be expanded over time as required as
152 approved by the top level managers.
154 In addition to decision-making authority, managers have the following
155 responsibilities:
157 1) Keep a complete list of all projects and efforts you are managing,
158 and associated project page up-to-date
160 2) Manage and track the status of these efforts. This includes active
161 direction as well as passive tracking of progress.
163 3) Define clear goals, roadmaps and timelines (preliminary if necessary) for
164 every effort.
166 4) Proactively identify efforts that have problems and need help.
168 5) Ensure that your efforts are completed on-time.
170 6) Remain focused. Make sure that you are not managing more than you can handle.
172 7) Fulfill formal communication and coordination responsibilities required by
173 top-level managers (weekly meetings, etc.)
175 8) Fulfill formal communication and coordination responsibilities required
176 by individual efforts (project meetings, communication with project members,
177 etc.) This is *important* -- our management of projects means that we
178 have the responsibility not only to communicate with our peers but
179 also those who we are managing. This communication should be frequent,
180 have a formal component (planned meetings, official status updates,
181 etc.) and model good management practices to members of our teams.
183 9) *RECURSIVE FUNCTIONALITY*: When possible, implement these management
184 practices for *sub*-projects (define managers, clear sub-project goals,
185 grant executive authority) with you serving as primary authority.
187 gentoo-managers list
188 ====================
190 The gentoo-managers list will be created as the official email communications
191 channel for all top-level Gentoo Linux managers.
193 The tenative plan for top-level management coordination is as follows:
195 Monday full status email:
197 Every Monday afteroon, every member of this list posts a status summary of
198 projects/efforts that they are managing, as well as any items that they
199 would like to discuss "live" on IRC in the upcoming "live" meeting.
200 If you are unable to attend the "live" IRC meeting, an email to this
201 list mentioning your inability to attend should be posted by Monday
202 afternoon or before.
204 The goal of the Monday afternoon email is to get every other top-level
205 manager up to speed on the status of your efforts and any efforts
206 managed by you, and to have a tenative meeting agenda in place for the
207 "live" IRC meeting.
209 Monday IRC chat:
211 On Monday evening, we convene on irc for a "live" meeting.
212 The goal of this meeting isn't to provide status updates on our
213 projects, but to work out any outstanding hands-on issues relating to the
214 management of Gentoo Linux. These issues can include:
216 1) Assignment of unmanaged projects
217 2) Resolving critical, time-sensitive problems
218 3) Trying to "fix" projects that are having trouble staying on-target
219 4) Sharing new ideas about how to coordinate our efforts better
220 5) Finding ways to improve our management of projects
222 The goal of this live IRC chat is to provide a regular forum to resolve
223 tricky issues that benefit from real-time, "live" discussion. Generally,
224 this meeting should last no more than one hour if possible. Generally,
225 new ideas and practices should be discussed in this live meeting, with
226 the list being used for status updates and coordinated resolution of
227 critical issues.
229 (Note: inability to attend due to time zone can be addressed by posting
230 the full IRC log to gentoo-managers and allowing non-attending members
231 to post ideas, comments and follow-ups)
233 Thursday update:
235 Every Thursday afternoon, every member of this list posts a "status
236 update" email, giving all members a quick, general update on any efforts
237 currently underway. This allows for some fairly rapid feedback for any
238 efforts that were started the previous Monday, and an opportunity to
239 recover from any efforts that have fallen off-target since the previous
240 Monday.
242 This email need not be exhaustive, but may be if necessary.
244 The goal of this update is to allow any problems with our projects to be
245 discussed and shared before the weekend, so that an adequate solution or
246 interim solution can be found before the weekend.
248 top-level projects and *preliminary* top-level managerial assignments below.
249 Note that *sub-project* managers are generally not listed, but will be
250 defined in time. We are starting with the top levels first.
253 gentoo-linux:
254 Gentoo Linux
255 tactical manager: drobbins, seemant
256 operational manager: seemant
257 back-up: avenj
258 sub-projects:
259 x86-stable: Gentoo Linux x86 stable branch
260 x86-unstable: Gentoo Linux x86 unstable branch
261 amd64
262 ppc
263 alpha
264 sparc
265 hppa
266 etc.
268 kernel:
269 Kernel development
270 tactical manager: pfeifer (lolo?)
271 operational manager: pfeifer (lolo?)
272 sub-projects:
273 x86
274 amd64
275 ppc
276 alpha
277 sparc
278 hppa
279 etc.
281 gentoo-alt:
282 Alternate operating system platform/special-purpose projects
283 tactical managers: drobbins, pvdabeel
284 operational manager: pvdabeel
285 sub-projects:
286 gentoo-bsd
287 gentoo-macos
288 livecd: Gentoo Linux LiveCD technology efforts
290 hardened:
291 Hardened Gentoo -- efforts related to integrated security
292 techologies into Gentoo Linux.
293 tactical manager: method
294 operational manager: method
295 page:
296 sub-projects:
297 selinux
298 propolice
299 systrace
300 hardened-sources
301 grsecurity
303 tools:
304 Useful Gentoo scripts and tools (for user or developer use, possibly
305 Portage-related)
306 tactical manager: pvdabeel
307 operational manager: pvdabeel
308 subprojects:
309 keychain
310 dynfw
311 eperl
313 devrel:
314 General development management, developer relations
315 tactical managers: seemant, drobbins
316 operational manager: avenj
317 back-up: klieber
318 subprojects:
319 newdev: Recruiting of developers, enforcement of recruitment policy
320 devops: Day-to-day oversight of Gentoo development, commits
322 releng:
323 Managing and coordinating release process
324 tactical manager: drobbins, seemant
325 operational manager: avenj
326 subprojects:
327 build: Management of stage/package building efforts on all architectures
328 install-doc: install documentation
330 qa:
331 Explicit, proactive quality control efforts
332 tactical manager: drobbins
333 operational manager: seemant
334 subprojects:
335 bugs: Overseeing bug distribution/assigment/completion and responsiveness
336 security: Manage tracking and application of security fixes to packages
337 policy-doc: policy documentation
339 pr:
340 Public relations efforts, contact with, etc.
341 tactical manager: drobbins
342 operational manager: klieber
343 back-up: seemant
344 subprojects:
345 partners: Gentoo partnerships, liaison(s) to metapkg, Gentoo Games, Inc.
346 shows: Planning and organization for trade shows
347 gwn: Gentoo Weekly News
349 portage:
350 Portage development, maintenance and new features implementation
351 tactical manager: drobbins
352 operational manager: carpaski
353 subprojects:
354 package-research: Research into new packaging technologies and capabilities
355 managers: carpaski, drobbins, pvdabeel
357 infrastructure:
358 tactical manager: klieber
359 operational manager: klieber
360 Mirrors, servers, email, hosting, server security
361 subprojects:
362 mirrors: ftp, web and rsync mirrors
363 web: Web site design and related technology
364 doc: general documentation
366 --
367 Daniel Robbins
368 Chief Architect, Gentoo Linux