2005年07月07日(木)

どのくらいでできる?

テーマ:見積
システム開発のプロジェクトでは、プログラマの「時間」は、きっちりと管理されるのが普通である。

例えば、「○○機能は3日でプログラミングする」というように、細かいスケジュールが引かれるだろう。

そういった状況の中、自分に与えられた作業がどのくらいの期間で出来るのか、ということを判断することは非常に重要である。

○○機能のプログラミングを任されたプログラマは、まず、自分がそれを3日でできそうかどうかを見積らなければならない。そして、できそうになければ、最初にそのように主張すべきである。3日後に「できませんでした」と言っていたのでは遅い。

リーダーが3日で出来るというのだから、がんばれば出来るのだろう、などと考えないほうがよい。自分がやる仕事は、最終的には自分が見積り、自分がスケジューリングするのだ。それも「プログラミングという仕事」の一部なのである。


スケジューリングが必要なのは、作業を与えられた時だけではない。1日目のプログラミングが終わった時点で、残り2日で全ての作業が出来るかどうかを判断することも大切である。このように、常に残作業を見積りながら仕事を進めなければならない。

そして、予定から遅れそうであれば、すぐにリーダーに報告する。これは絶対に躊躇してはならない。責任を感じて言い出しにくいという人もいるかもしれないが、開発作業の遅れなんて日常茶飯事だ。気にすることはない。

まともなリーダーなら、遅れを報告をしなかったことを責めることはあっても、遅れたこと自体を責めることはないだろう(※1)。

とにかく、遅れの報告は、早ければ早いほど良い。早く報告したほうが、再スケジュールなどの対策が取れる余地が多いからだ。


経験が少ないプログラマにとって、作業のスケジューリングは難しいものである。しかし、それをやらなければ、その場その場の思いつきで作業を行うような状態になってしまうだろう。そんなことでは、いつまでに作業が完了するのかわかったものではない。プロのプログラマとしては失格である。

どうしたらよいか分からない人は、まず、与えられた作業について、具体的にはどんなことをするのか、想像してみよう。作業をもっと細かいまとまりに分割して考えるといいだろう。次に、その細かい作業のひとつひとつについて、必要な時間を見積もる。そして、それを時間軸(カレンダー)上に配置するといいだろう。

こういった作業の見積は、プログラマという職種に特別に要求されるものではない。期限付きの仕事をする場合には、当たり前のことだ。しかし、意外と出来ない人も多いのである(※2)。




※1
もちろん、まともでないリーダーもいるので、困るのだが。それどころか、自ら顧客に遅れを隠し続け、納期直前に発表するようなプロジェクトマネージャもいたり...

※2
客先の担当者にも...



生産管理ができる事典
生産管理ができる事典
posted with amazlet on 06.06.24
田中 一成 黒須 誠治
日本実業出版社 (2004/03/25)
売り上げランキング: 25,963
おすすめ度の平均: 5
5 生産管理の入門書として最適


革新的生産スケジューリング入門―“時間の悩み”を解く手法
佐藤 知一
日本能率協会マネジメントセンター (2000/04)
売り上げランキング: 8,995
おすすめ度の平均: 4
4 スケジューリングについて最も分かりやすく書いた本


AD
いいね!した人  |  コメント(3)  |  リブログ(0)

argvさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

コメント

[コメントをする]

3 ■なるほど…

どうも答えにくい質問をしてしまって申し訳ありません。
やはり品質が優先されるべきですよね。
メンテナンスが終わって全くアクセスできないのには絶句しましたからね…

と、あまり言うとアレなのでやめておきましょう…

答えていただき有難うございました。
最後の二行に「悪態」がしっかりと付加されていたのが良かったです(笑

2 ■RE: 質問です

アメブロのメンテナンスですか。。。

プロジェクトがおかしくなる原因はたくさんありますし、内部事情を知らないので、私にはなんともいえません。

一般的な話になりますが、遅れが発生したときに「品質」を犠牲にしてでも「納期」を守る、という自殺プロジェクトが、なぜか多いようです。

不具合が出た時も、「早く直すことが誠意を見せることだ」、「徹夜してでもやれ」、みたいなことを言う人がいます。エンドユーザーが言うのは仕方ないとして、サービス提供側や開発側がそれを言うのはまずいでしょうね。

開発側としては、対応に必要な作業時間をなるべく正確に見積り、その時間を何としても確保することです。特に、元のシステムの「作りが悪い」ような場合(あくまで一般論です)は、見積時間には、十分なリスク分を上乗せしなければ、もっとひどいことになります。

ユーザーに何を言われても頭を下げ、とにかく作業時間を確保し、丁寧な対応をすることが開発者の本当の誠意ではないでしょうか。そのほうが、結局はユーザーのためになるはずですから(私は頭を下げずに時間だけもらおうとして睨まれますが・・・)。

1 ■質問です

この記事に関連するかと思ったので聞いてみたいと思うのですが、
今回のアメブロのメンテナンスに関してargvさんはどのようにお考えでしょうか?
スタッフblogには多くの苦情や文句が書き込まれているわけですが…
悪態のプログラマから見てどのように感じるのかを聞いてみたいのですが…
もしよろしければお答え下さい。

コメント投稿

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。