システム開発現場とオーケストラの共通点

正月に放送されていた『のだめカンタービレ』の特別番組を見て思ったこと。


劇中でオーケストラの指揮を執る千秋真一は、音合わせの際にプレッシャーからオーケストラのメンバに対して自分の音楽を押し付けるような強硬な態度を取って、いぶし銀の演奏テクニックを持つメンバから嫌われて、惨憺たるコンサートになるシーンがありました。
システム開発もこれと同じで、開発リーダ(指揮者)がプロジェクト(オケ)のメンバを信じずに仕事を押し付けまくることで、やがてプロジェクトメンバのモチベーションも下がってサービスイン(コンサート)は悲惨な結果を迎えることになってしまいます。


千秋君が最後にオーケストラのメンバを信じた指揮の振り方をして成功を収めたように、開発リーダ(指揮者)はレビュー(音合わせ)の場で決して自分の下らないポリシを押し通すことなかれ。音合わせの場はあくまでもバグ(不協和音)を取り除く場であるのです。
開発リーダ(指揮者)がプロジェクト(オケ)メンバを信じて統制の取れたシステム構築(演奏)を行えた場合は、必ず良い結果を迎えられるのです。


と、ここまでは理想論。
オーケストラとシステム開発の現場が似ているならきっと↓こんなトラブルがあるはずだと思う。

コンサートまでの期間が異常に短い

コンサートの日程(サービスイン)は動かせないのに、主催者(顧客)が演奏曲(システムの仕様)をいつまでも決めてくれない。気が付くとコンサートまで2週間前という状況。あれ、いつ音合わせ(レビュー)するの?
現実は主催者が曲を決めるってことは無いのだろうけど。

主催者の求める音楽が変わる

↑の悲惨なケース。もうリハーサル(結合試験)もある程度進んでいるのに、主催者(顧客)が急に「この曲は嫌だ(この仕様は気に食わねー)」とか言い出す。でもコンサートはもう間近。終わった。

人がいない

主催者(顧客)が求めるのはフルオーケストラの曲(凄い巨大なシステム)なのに、なぜか15人しか人が集まらない。
終わった。物凄く貧相な演奏をすることに。
現実はオーケストラ全体として演奏するはずなので、中途半端とか有り得ないけど。

集まったメンバのパートが偏る

ティンパニがいねー!(共通関数とかmakefileとかシミュレータとか下回りの開発できる人がいねー!)
仕方がないのでバイオリン担当のコンマス(プログラマの親分)の傍らにティンパニを置いて、手が空く場所は叩いてもらうことに。当然酷い結果に。終わった。

楽譜くらい読めるようになってほしい

「君、音大出身(情報系の学部出身)だったよね?」
「いやー実はレポートとか全部他人に任せてたんで、自分で演奏したのって中学の頃のたて笛だけ(1年の頃の基本的な授業)なんスよねー」
「ふざけるな!」
終わった。

重要パートが休みがち

ティンパニとか、一人しかいないパートなのにいないことが多い。
たまに来てもまだチューニング(製造)もできていないので、音合わせ(レビュー)なんかも当然できない。終わった。