Process, People, and Pods


Thursday 9 August 2007

Ideal Developer Ratios for Pods

In the last post, I postulated that an ideal team structure exists for Agile, a pod. The pod is a collocated, self-contained team able to execute the project. Let's drill down into the structure of this "ideal" Agile team a bit more, focusing on the programming skills the pod should have. These observations specifically apply to a pod using OO programming techniques (see the secret assumption of Agile) to write code that is easily modified. It is a language independent assumption, whether using Java, C++, C#, Ruby, or any of their brethren.

I will describe the team composition using the skills taxonomy I introduced earlier, the Master-Journeyman-Apprentice model. Briefly, an apprentice is the typically trained programmer; the journeyman has acquired the vocabulary of objects, including principles and design patterns; the master readily crafts object solutions to business problems.

The first rule of thumb for the team is that apprentices when paired together are not productive. Indeed, such a pair can be negatively productive, developing code that must be re-opened and reworked before delivery. (Of course, you do pair within the pod; a solo apprentice is truly a destructive force in the code base.)

So the guideline against apprentices pairing together leads to the first rule of an agile team:

Masters + Journeymen >= Apprentices

Simply put, the number of Masters and Journeymen needs to outnumber the Apprentices so that the Apprentices have a more experienced person with which to pair. That keeps everyone on the team productive. It also provides the mentoring to move the Apprentice to a Journeyman (see Building a Better Programmer). With care, the Apprentices gradually become Journeymen, providing more pairing options or the ability to absorb additional Apprentices.Master programmers provide continuous architectural and design direction to a project. They recognize the need for new components to support emerging stories, and pioneer these new components themselves to ensure a sound base exists for the rest of the team. How many Master programmers do you need? Fortunately, not that many:

Masters >= 10% (Masters + Journeymen + Apprentices)

In my experience, you can get away with as few as 10% of your developers as Master programmers; it is safer if you can work that percentage up to 20%, particularly in the early project stages. That may be the same number of Master programmers, but just keeping the team smaller (with fewer Apprentices early as recommended above.)

Pitfalls of a Team Out-of-Balance

The most common destructive mistake for an Agile team is to have too many Apprentices. Not only do they not produce in pairs, the best you can hope for is that they didn't damage the code base today. As individuals, it is an almost certainty that damage has been done. But the damage goes further than the code base; an Apprentice who hasn't positively contributed to the project is going home not feeling good about themselves. That creates an unnecessary morale problem for the individual and the team.. I don't know of any programmer who goes into work saying, "Today I am going to create some bugs." That this happens is not a failure of the programmer, but in the team creating the situation. So bring on apprentices only at the rate they can be productive to the team; otherwise, be courageous and defer the staffing, ignoring what your spreadsheets are telling you.


Even if you can tolerate 50% Apprentices in theory, you should not start a project with that mix. The early few weeks are the time in which the initial application architecture and design become visible. Apprentices can rarely contribute to these efforts, and can feel useless. There is one exception to this guideline: An Apprentice who has domain knowledge is very valuable to this initial team; providing key insights in what will need to be done in the long run. So start your projects with few, if any, Apprentices, and stage them into the project as the rate you can productively absorb them.

If you are attempting a reasonable size project without Master programmers, you are running a great risk of failure. Master programmers are the key to building the application architecture and design incrementally. Agile works by having such talent embedded in the team. Without it, significant up-front architecture and design is required to provide the road map for the Journeymen.

Many Agile projects seem to start fine, then seem to hit a wall in a couple of months. It is almost like Agile is not working. Refactoring is common, and is being cited more and more often in stand-up meetings. This is actually a sign that the design is weak, a reflection of the lack of continuous guidance a Master programmer provides. So ensure you have sufficient Master programmers on the project, particularly in the formative stages.

The flip side of the Master programmer requirement is that they may not be required in small or enhancement projects. A small project for certain short-term benefits may not reach a crisis point before it is complete. Similarly, if enhancements are being made to an existing, healthy code base, Journeymen are fully capable to following the tracks laid down by previous Master programmers. So Master programmers are not required for small enhancement projects.

245 comments:

«Oldest   ‹Older   201 – 245 of 245
トゥイッター said...

最近、話題のトゥイッターから始まる理想の関係…理想の恋をこの場で見つけていきませんか

スタービーチ said...

スタービーチは誰にでも出逢いという奇跡をもたらしてくれる。スタビで理想の関係作りしてみませんか

名言チェッカー said...

自分の名言を一つは残しませんか、しかし考えると意外と難しい。そんな時に名言チェッカーならあなたの本当の性格を見抜けちゃいます。世界の偉人達が残した名言にはどことなく重みがあるものです

日本ダービー said...

第77回 日本ダービー 2010 予想、オッズ、厳選買い目は?今年の波乱をズバリ!確勝買い目公開中!結果を出す前に結果がまるわかり

スタービーチ said...

スタービーチから始まる新たな恋をしませんか?スタビ掲示板を利用して新たな恋をしていきましょう

日本ダービー said...

第77回 日本ダービー 2010 予想、オッズ、厳選買い目は?人気が平然と馬券に絡む理由とは!?見事に展開を読んで結果を的中させる

出会い said...

エロセレブとの出会いを完全無料でご提供します。逆援助で高額報酬をゲットしよう

モバゲー said...

モバゲータウンでいろんな異性と交流を深めあいませんか。異性に対して経験がない方でも簡単にお楽しみいただける、シンプルかつ効率的に優れているサイトとなっています

ツイッター said...

全世界で大ブームを巻き起こしているツイッター!!それを利用して今まで経験したことがないような恋を経験してみませんか

モテる度チェッカー said...

モテる度チェッカーが今回リニューアルしました!!今迄と違い診断内容にモテない人と診断された方を救済する、速攻効果が出るモテる為のアドバイスが付きます、またモテる診断された人には、より一層のモテ・テクニックを手に入れませんか

安田記念 said...

第60回 安田記念 2010 予想 オッズ 出走馬 枠順で万馬券をズバリ的中!絶対なるデータが確実に当てるための秘訣

スタービーチ said...

スタービーチで素敵な愛を掴みませんか?愛に対する理想や想いを現実にしていきましょう

モバゲー said...

モバゲータウンでは今までとは一味違う出逢いを体験する事ができるのです。これまで良い出逢いがなかった人にはもってこいの無料登録型の掲示板です

ゲーマーチェッカー said...

ゲーマー達のステイタス、ゲーマーチェッカーであなたのゲーマー度数を測定!!測定結果を元に自分と同レベルのオンライン対戦も出来ます。ゲームが得意な人もそうでない人もどちらも楽しめますよ

出会い said...

エロセレブとの出会いを完全無料でご提供します。逆援助で高額報酬をゲットしよう

スタービーチ said...

スタービーチがどこのサイトよりも遊べる確率は高いんです。登録無料で新しい恋をGETしてみませんか

出会い said...

一流セレブたちが出会いを求めて集まっています。彼女たちからの逆援助でリッチな生活を楽しみましょう

出会い系 said...

セレブの為の出会い系、セレブの雫では女性会員数も増え、男性会員様が不足するという状態となっております。そこで先着順に、男性会員様を募集しております

SM度チェッカー said...

最近普通のプレイに物足りなさを感じているそこのアナタ、ワンランク上のプレイをしてみませんか?そんな時の目安にSM度チェッカーを使うんです。自分の深層心理を暴きパートナーとのプレイ時のアドバイスも付きますよ!!一度どうですか

mコミュ said...

素敵な出 会 いで愛を育む♪理想の人と楽しめる関係を築きませんか?mコミュでしか味わえない幸せを掴みましょう

スタービーチ said...

スタービーチで会える!?理想の異性をGETしよう☆素敵な出会いばかりだから求めている関係も作りやすい!!貴方が求めているのはどういった恋ですか?

名言チェッカー said...

他の人が言ってる名言や格言って良い事言ってるな~とか思ってる方、名言チェッカーで今日から自分に相応しい言葉を見つけませんか!!これでどんな人にも一目置かれる存在に為れますよ

mixi said...

mixiをも凌駕する出会い率!!出会いをするならここしかない♪mixiより出会えてしまうこのサイト。一度ハマれば辞めれません。スタービーチで素敵な出会いをしちゃいましょう

モバゲー said...

モバゲーで出会いをすれば楽しい事は間違いありません。暑いからこそ出会いを楽しむべきなのです。登録無料で簡単に利用可能!

モバゲータウン said...

モバゲータウンでは恋愛から出合いまでのキッカケをつかめる無料のコミュニティサイトです。常時サポートスタッフが掲示板をチェック、サクラや業者を排除しておりますので安心してご利用いただけます

スタビ said...

スタビが今一番アツイのはご存じでしょうか?夏休みで出会いを探している娘とすぐに会えちゃうんです。登録無料でここまで出会える所は他には存在しません。今登録して良いパートナーに巡り合おう

スタービーチ said...

出会いのシーズン、夏到来!スタービーチでご近所さんと知り合っちゃおう!ひと夏の体験も女の子は求めている

モバゲー said...

モバゲーでついに出会いができる!?楽しめる出会い、求めていた出会いはココから始まる。素敵な出会いでまずは関係づくりwしていきましょう

gree said...

greeで素敵な時間を過ごしたい・・・そんな願望を叶えてくれるサイト誕生!!今までにないドキドキ感と興奮をこのグリーで楽しみましょう

スタビ said...

スタビで出会いができる!!いつでもどこでも出会いが可能なスタービーチで最高の出会いをしてみませんか

mコミュ said...

簡単な出逢いはココでできる☆素敵な出逢いをmコミュで体験していきませんか?楽しめる出逢いを経験するならここしかない!!まずはお試しを

ツイッター said...

新時代突入!ツイッターで始まる出逢い…ここでしかできない出逢いが新しい風を巻き起こす!!素敵な巡りあわせを体験していこう!

SMチェッカー said...

あなたの秘められたSM度がわかるSMチェッカー!簡単な質問に答えるだけで自分の隠された部分が分かります!みんなで試してみよう

モバゲー said...

今やモバゲーは押しも押されもせぬ人気SNS!当然出 会いを求めてる人も多い!そこで男女が出 逢えるコミュニティーが誕生!ここなら友達、恋人が簡単にできちゃいますよ

モバゲー said...

もう夏休みも終わりに近づき、この夏最後の思い出を作りたいと焦ってる方が、モバゲーのコミュニティーに書かれてましたよ!!折角なんで夏の思い出作りに協力して自分も美味しい思いをしてみるのはどうですか?大手スポンサーサイトが付いてるので全部タダですよ

グリー said...

最近はどこのSNSサイトも規制ばっかりで、ちょっと出 合いに関して書き込みするとアク禁食らうけど、夏休み終盤に差し掛かり色々なサイトを調べた結果、グリーだけはどうも規制が緩んでるみたいです。今がチャンスの時期ですよ

ツイッター said...

ツイッターで出 合 いを求めるのです。気の合う異性と交流して楽しいひと時をお過ごしください。登録無料で使えるので気軽さは100点満点!

モテる度チェッカー said...

夏休みももう終わりに近づきこのまま一人は寂しいのちがう?そこでモテる度チェッカーを使い自分がなぜモテないか診断してもらいましょう。10~20代の女性アドバイザーが多数在籍してるので、アドバイスを参考に夏終盤を楽しもう

モバゲー said...

モバゲーにはありとあらゆる出 会いが沢山詰まっています。色々な出 会いを求める事が出来る掲示板となっておりますので気軽にご利用いただけます☆

モテる度チェッカー said...

もう年末でお酒の席も増えてると思いますが、こんな時こそ自分のモテ度をさり気無くチェック出来るのが、モテる度チェッカーです。診断結果にはモテる為のアドバイス付き!!これで君もヤリチンの仲間入り

Anonymous said...

レンタルサーバー
レンタルサーバー
レンタルサーバー
レンタルサーバー

side effects amoxicillin said...

this post really very good and effective for me thanks for sharing this nice post

viagra cheapest said...

Thank you for sharing to us.there are many person searching about that now they will find enough resources by your post.I would like to join your blog anyway so please continue sharing with us

slot hoki asia said...

Thank you for sharing articles on the internet, don’t forget to visit my website.

slot 5000 said...

Daftar situs Slot 5000 Tanpa Potongan bonus new member 100 di agen terpercaya

«Oldest ‹Older   201 – 245 of 245   Newer› Newest»