1 |
Hi guys, |
2 |
|
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. |
7 |
|
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. |
16 |
|
17 |
Gentoo top-level management structure proposal, recursive implementation |
18 |
======================================================================== |
19 |
Authors: Daniel Robbins and Kurt Lieber |
20 |
|
21 |
*** DRAFT *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** DRAFT |
22 |
|
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. |
26 |
|
27 |
(Note: see "manager responsibility #9" to understand the recursive nature |
28 |
of this proposal.) |
29 |
|
30 |
What is the purpose of this proposal? |
31 |
------------------------------------- |
32 |
|
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. |
40 |
|
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. |
52 |
|
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. |
59 |
|
60 |
How do we fix this? |
61 |
------------------- |
62 |
|
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. |
70 |
|
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 http://www.gentoo.org/proj/en/hardened/ is a |
74 |
excellent example of such a top-level project definition. |
75 |
|
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. |
82 |
|
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. |
87 |
|
88 |
Types of management |
89 |
------------------- |
90 |
|
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. |
98 |
|
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. |
104 |
|
105 |
Management team |
106 |
--------------- |
107 |
|
108 |
Proposed initial top-level managment team is as follows: |
109 |
|
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) |
118 |
|
119 |
Chief Architect |
120 |
Daniel Robbins (drobbins) |
121 |
|
122 |
Management charter |
123 |
------------------ |
124 |
|
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. |
129 |
|
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. |
133 |
|
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. |
137 |
|
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. |
142 |
|
143 |
Manager responsibilities |
144 |
------------------------ |
145 |
|
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. |
153 |
|
154 |
In addition to decision-making authority, managers have the following |
155 |
responsibilities: |
156 |
|
157 |
1) Keep a complete list of all projects and efforts you are managing, |
158 |
and associated gentoo.org project page up-to-date |
159 |
|
160 |
2) Manage and track the status of these efforts. This includes active |
161 |
direction as well as passive tracking of progress. |
162 |
|
163 |
3) Define clear goals, roadmaps and timelines (preliminary if necessary) for |
164 |
every effort. |
165 |
|
166 |
4) Proactively identify efforts that have problems and need help. |
167 |
|
168 |
5) Ensure that your efforts are completed on-time. |
169 |
|
170 |
6) Remain focused. Make sure that you are not managing more than you can handle. |
171 |
|
172 |
7) Fulfill formal communication and coordination responsibilities required by |
173 |
top-level managers (weekly meetings, etc.) |
174 |
|
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. |
182 |
|
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. |
186 |
|
187 |
gentoo-managers list |
188 |
==================== |
189 |
|
190 |
The gentoo-managers list will be created as the official email communications |
191 |
channel for all top-level Gentoo Linux managers. |
192 |
|
193 |
The tenative plan for top-level management coordination is as follows: |
194 |
|
195 |
Monday full status email: |
196 |
|
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. |
203 |
|
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. |
208 |
|
209 |
Monday IRC chat: |
210 |
|
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: |
215 |
|
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 |
221 |
|
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. |
228 |
|
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) |
232 |
|
233 |
Thursday update: |
234 |
|
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. |
241 |
|
242 |
This email need not be exhaustive, but may be if necessary. |
243 |
|
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. |
247 |
|
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. |
251 |
|
252 |
|
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. |
267 |
|
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. |
280 |
|
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 |
289 |
|
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: http://www.gentoo.org/proj/en/hardened/ |
296 |
sub-projects: |
297 |
selinux |
298 |
propolice |
299 |
systrace |
300 |
hardened-sources |
301 |
grsecurity |
302 |
|
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 |
312 |
|
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 |
321 |
|
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 |
329 |
|
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 |
338 |
|
339 |
pr: |
340 |
Public relations efforts, contact with distrowatch.com, 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 |
348 |
|
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 |
356 |
|
357 |
infrastructure: |
358 |
tactical manager: klieber |
359 |
operational manager: klieber |
360 |
gentoo.org Mirrors, servers, email, hosting, server security |
361 |
subprojects: |
362 |
mirrors: ftp, web and rsync mirrors |
363 |
web: gentoo.org Web site design and related technology |
364 |
doc: general documentation |
365 |
|
366 |
-- |
367 |
Daniel Robbins |
368 |
Chief Architect, Gentoo Linux |
369 |
http://www.gentoo.org |