何度かこのブログにも書いた事がありますがウチはdeveloperにはdevelopment…を徹底していて、驚くほど外界との接触を無くしています。お仕事を頂いた企業様の数はこの6年半で数知れずありますが、ウチのエンジニアと直接会って頂いたケースは3%にもなりません。

僕が全ての案件のゲートウェイになっていて、全てを把握して、全てのタスクを割り振って、全てのフィードバックをお客様に返しています。ネットワーク的には僕の役割はルータ。内部はプライベートネットワークで外からは一切見えませんしアクセス出来ません…みたいな感じですか。

エンジニアは4人(上の図はちょっと古いので3人だけど)。そしてエンジニア1人が複数案件を同時並行で回しますので必然的にゲートウェイが捌く案件(といっても全部)は結構な数に。これらを全部俯瞰する必要があるので、その為にプロジェクト管理ツールを普通とはちょっと違う方法で使ってます。

通常は1つのプロジェクトをWBS(Work Breakdown Structure)してタスク分解の上でガントチャートを作成しますが、僕は会社全体を見る立場から視点を一層上に持ってきて、ガントチャートにおけるタスクを一つのプロジェクトに見立て、プロジェクト全体を会社の1年ってな単位にして俯瞰するようにしています。

こんな感じですね。

これは実際に使っているリアルな2012年ガントチャートを1枚の画像として出力してみたものです。縦方向がタスクではなくプロジェクトってのが特徴で、これ1つを見ればおおよその会社全体の動きが分かるようになっています。これだけの数のプロジェクトをhandlingしてるのかと思うと爽快だったり :-)

プロジェクトの進捗率は僕が自ら入力。よくあるプロジェクト管理システムでは担当者が自分のタスクの進捗率を入力すると合算されてプロジェクト全体の進捗率が自動計算されるってなモノがありますが、iOSアプリ開発程度のプロジェクトの場合は余り意味が無いと思っていますのでやってません。

issue管理システムであるRedmineには全てのプロジェクトが登録されています。各プロジェクト単位で色んなタスクがチケットとして毎日目まぐるしく発行され回され消化されていく様子がRSSフィードとして出力されますので、これを元におおよその進捗率を僕が自分で判断します。

こんな風に一日の終りに誰が何をやったのか全て分かるんですよね。チケット残数はどの程度か、チケットはどの程度消化されたのか、この情報からプロジェクトの進み具合を掴みます。そして毎日のミーティングで各エンジニアが担当案件の何をやったのか共有する情報を補完的に使っています。

そもそも進捗率という数字そのものが曖昧なもの。スーツな人の為の便宜上の道具に過ぎません。曖昧な感覚値をエンジニアに入力させてそれを足し算/掛け算してコネクリ回したプロジェクト進捗率はどうせ曖昧なのです。そんな無駄な数値化にエンジニアの時間を費やすぐらいなら、次々とチケットを消化していける環境の方が全体効率は上がります。

エンジニアの動きをチケットという単位で日々デジタルに捉えながら、一方で毎日の夕方mtgでアナログにも情報共有して、マネージャ自らの感覚で進捗率は幾らと判断した方がマネジメントにも自信が持てるってもんです。

 

まぁこんな感じなんですが、ゲートウェイの役回りは結構それなりに大変で(笑)。エンジニアも4人になるとそろそろ1人でマネジメント出来る限界が見えてきています。開発の知見があって、対外交渉が出来て、チケット管理システムを使ってタスクの采配と把握が出来るような人がもう一人いれば経営に専念出来るのになぁ、なんて思う今日この頃だったりします :-)