日曜日, 1月 04, 2009

【雑記】 工数と期間の関係を知る、それから適材適所 このエントリーを含むはてなブックマーク


短納期、低予算をどうやって解決していくかという問題にいつも悩ませられる。

弊社には請負の仕事を年間30%しかやらないという30%ポリシーがある。
特にお客様メンバーの一員として働く派遣は基本的にはやらないのだが、それは請負型が生産的でないからという理由が一番大きい。まず、お客様は無理難題を平気で主張してくる。いつまでたっても仕様がFIXしないので、議論や調整で疲弊してしまいモチベーションが下がる。そこで、生産性向上のための提案をやっていくのだが、まず受け入れてくれない。そのうち提案にも疲れて、しょうがなく言われたことをそのまま作りはじめる。そして一度作ったものはなるべく変更したくないので変更管理を始めて後工程に廻そうとするのだが、納期が迫ってくると、何とか先にやってくれと泣きつかれてデスマーチとなる。

こういう環境でエレガントなコードや斬新なアイデアはあまり生まれてこない。
たとえお客様への納品物が完成したとしても我々には何も残らない。
これは時間をお金に換える考え方であり、あまり生産的ではない。

弊社はより生産的なソフトウェアやWebサービスのビジネスにシフトしたいと考えているのだが、少なくとも30%は請負の仕事をやらなくてはならないのが今の現状である。なので、どうやってデスマーチを防ぐかという点に注力して、この手の開発案件に取り組むようにしている。

 目標は、いかに無駄な労力をかけずに、不幸な人を出さずに終われるかということ。チームとしてストレスなく仕事をやり遂げ、もう二度と一緒にやりたくないという人が出てこないようにすること。品質はクリアーできれば及第点でよい。<=これが請負の悪いところかもしれないが、酷い環境で酷使されている現状を考えると、これでよいと自分は納得している。

 抑えるべきポイントは以下の2つである。

1.工数見積もりを信用しない

お客様の見積もりと期間には根拠がないことが多い。
人と月は可換ではないことは明らかである。人と月は可換ではない
3人で6ヶ月かかる仕事が,18人で1ヶ月で終わるわけではない
「一人の子供を産むのに妊婦一人で約10ヶ月かかります.では同じ一人の子供を産むのに妊婦10人がかりだと何ヶ月かかるでしょうか?」もちろん,これの答は1ヶ月ではない.
 先日、Akamai主催の会で聞いた大槻先生の話のなかで、「人月に対して人と月は交換できない」という興味深いものがあった。
 これは妊婦の話を数式まで落とし込んだものだ。

 開発期間 = C × (工数)^D




 お客様は納期が迫るときまって人を増やせというが、そのくせ予算はない。
どれくらいの期間でどれだけ可能なのか、自分たちであらためて見積もりを作成することが肝要である。また、工数に応じて最適な開発期間が存在することを、しっかり認識しておくべきである。

2.適材適所

  人には様々なタイプがある。コードを書くのが得意な人、人と調整するのがうまい人、淡々と業務をこなしていく人。私は順に、Geek、Suit、Sweeperと名づけて、彼らに専門的に業務に取り組むように指示する。これら3つのスペシャリストがシステム開発で重要な役割(ロール)を果たす。どのロールが欠けても不都合になる。特にSweeperが見落としがちで、ビルドやテスト、リファクタリング、ドキュメンテーションなど、開発で必要な雑用を淡々とやりこなす。この作業はGeekやSuitは嫌がってやらないから、いてくれると本当に助かる人たちである。彼らがいないとGeekやSuitのフラストが大きくなっていく。

 適材は揃えたが適所を誤ると元も子もない。Geekがお客と調整をやっても効果は望めないし、その逆もしかりである。自分の得意とする作業に集中させてあげることが全体の生産性を高める鍵となる。それからコミュニケーション。Geekとそれ以外の人々との間には何か深い溝があり、コミュニケーションが図れない場合が多い。私は、時間とお金、労力と効果の関係、それから経緯をよく理解しないまま、素朴な発想をそのまま主張するGeekが悪いとは思っていない。先日読んだ革新的ソフトウェア企業の作り方にも書いてあったが、変なのは間違いなく我々Geekの方ではあるが、それをうまく通訳し、価値を伝えるべきはSuitの方だと考えている。

 最後に、弊社のロゴマークの意味を付けて締めくくるとする。




0 件のコメント:

 
© 2006-2015 Virtual Technology
当サイトではGoogle Analyticsを使ってウェブサイトのトラフィック情報を収集しています。詳しくは、プライバシーポリシーを参照してください。