僕が務める会社は、500人程度の規模の、ガチガチのシステムインテグレーション会社です。上流工程から下流工程まで、いろいろやります。
はたから見ると、やっぱり一つの会社なので、どの程度の技術・規模であれば一通りこなせるように見えますよね。
しかし一歩中に入れば、別作業都合でスキルのマッチしたメンバーがアサインできなかったり、人数確保のために不安のあるパートナーさんでも大量投入するなど、リスクがそこらじゅうにはびこっています。
こういった状況は避けて通れないものです。
私も、リスクが爆発して炎上した様々なプロジェクトを、消火器担いで見学に行きました。
(ついこないだも、1ヶ月ほど消防活動してきました。エイプリルフールに、「今のタスク3日前倒しで終わりました」って言ったのがウソだとバレたとき、マジギレされました。)
何度か、放火犯と仕様調整したり、ファイヤーマンにお話を伺いましたが、
炎上しているプロジェクトは往々にして共通点があるように感じました。
- 仕様、実装方法など、中間の責任者がわからない
- 上位メンバー(この表現自体がもうね…)の誰が何を知っているのかわからない
- プログラマが経験なさそうな機能・業務なのに、開発を一手に任せる
- PLが、寝泊りするからって、会議室の一角に自室をつくりはじめる
- etc...
誰か一人でも同じような想いを持っていただけていれば幸いです。
さて、これらの考察を踏まえて私が密かに妄想しているのが、
表題の「共有フォルダ駆動開発」です。
これからこの手法を確立し、広め、本を書いて大儲けして、印税生活におさらばするので、皆さんあとはお任せします(調子乗りました)。
コンセプト・方針
- メンバーの役割をしっかり決める
手が空いている人がやる、って状況にならないように持っていきたいですね。
ロールを忘れなければ、何かを失っても、透明にはならない。ということです。
- 知らないものは知らない、を受け入れる
スキルの差は、あるんだよ。
前提
- 3人月以上の規模
あまり規模が小さいと、オーバーヘッドのほうが大きくなるかも。多分。
- イントラネットベースの環境、もしくはWebのフィルタリングによってサービスが自由に利用できない環境
Webサービスいっぱいありますよね。そっち使ったほうが準備時間も使い勝手もいいです。
社内と社外は、断絶されているのです。
- BP、派遣の出入りの多い環境
あるよねー
必要なロール
- PL
PLです。極力実作業は持たないようにしましょう。開発したいなら、役割を全てこなしてからやってください。
- フォルダ管理者
キモ。PLが兼任するか、責任者に対してスピーディにジャッジを仰ぐことができるバイタルのある人がいいです。
- 情報責任者
いわゆる業務リーダー。基本は経験ベースで決定しますが、開発したがりそうな人はあまりアテンドしないほうがいいかも?
- 開発者
何人いても並列な位置です。業務専任でもよいし、進捗に応じて臨機応変に動かしてもいいと思います。
各ロールの日々の仕事
★PL(やること多いね。サブPLつけるのはアリです。)
しましょう。やり方は、お任せします。いつも通りやって頂ければいいです。
- 改善活動の旗振り
ふりかえりを行い、情報責任者の稼働状況や、フォルダ管理の状況を確認しましょう。
開発者の間でも作業のやり方を共有させ、評価値の高い作業手順を遺伝させましょう。
※あまりうまく稼働していなければ、思い切って要員変更、もしくは共有フォルダ駆動開発自体からの脱却も考えましょう。
何かあったら、勇気で補えばいい!
- 情報責任者(間に合えば開発者も)のコーチング
ふりかえりで足りなければ個別にお話しましょう。
- その他組織毎のPL業
プロジェクト収支とか。うちはISO9001とってるので、品質管理資料けっこう作ります。
オ、オーバーヘッド…
★フォルダ管理者(キモ)
- 情報責任者、開発者にヒアリングしながら、次の操作”のみ”を行う
ファイルの統廃合、リネーム
ファイルの削除
フォルダの作成
フォルダの統廃合、リネーム
フォルダの削除
”間違っても新しいファイルを起こさないこと!”
※共有フォルダの具体的な構成については、後述します。
★情報責任者
- 各開発者から、共有フォルダで見つからない情報の質問を受ける
質問に回答するのが主な仕事と思ってください。
- 受けた質問には回答しておき、同じ質問が今後想定されれば、情報資料を作成する
フォルダ管理者が取り扱うファイルは主にここで作成されると思ってください。
※質問対応、資料作成で時間が追われるようであれば、実作業は持たないほうがいいと思います。開発作業ってけっこう責任としては重くはないので、そっちに逃げてしまう場合もあります。
”開発者から作業指示を仰がれても、独自の判断で行わないこと!
それはPLの仕事です!”
★開発者
- 開発に必要な情報は、まず共有フォルダから探す
そこで見つけられなければ、他の開発者→情報責任者、と聞いていきましょう。
(その3点で確定しなければ、ちょっとご相談…)
- PL(サブPL)の指示に従って開発を行う
間違っても情報責任者に指示を仰がないようにしましょう。
以上!
…あれ?肝心な
共有フォルダの構成がないよ?
…
これ、私の実証があまり足りてないので、今度またいつか纏めます。
というわけで今回はここまでです。