スイーツ(笑)と呼ばないで!!
| |||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
11/24/00:29 [PR] |
08/19/19:11 プログラミングの時間配分についてもし、
全く知らないフレームワークを使って、 100時間で、 粒度や難易度が同じレベルの独立した10個の機能を開発する、 というシチュエーションになったら、 あなたはどのように時間を配分しますか? 私だったら・・・ ◎第1段階 5時間 一番オーソドックスな1つの機能について、 とりあえず動くものを作る。 ◎第2段階 55時間 第一段階で作ったソースをひたすらリファクタリングする。 ◎第3段階 30時間 第2段階で蓄積されたノウハウを使って、 一気に残り9個の機能を開発する。 ◎第4段階 10時間 最初のリファクタリングで蓄積されず、 残り9個の機能の開発で蓄積されたノウハウを生かして、 全体をリファクタリングする。 と使う。 中には、100時間を10個の機能で均等割してスケジュールを立てる人もいるかもしれない。 でも、それは非効率だし、そもそもできあがったものの品質が一定ではない。 おそらく、最初の頃のものは品質がとてつもなく悪く、 最後の頃のものの品質もちょっと悪い。 でも、上に書いたやり方であれば、 少なくとも100時間を使って出せる最高の品質で、 全ての機能について実装ができる。 ただ、このやり方を実践するには、 最初の60時間で1つの機能しか出来上がらないことに対して、 理解がありその後の追い込みを信じてくれるプロジエクトマネージャーと顧客の存在が前提だ。 私がプロジェクトマネージャーとして案件を担当する時、 極力、毎週1回の定例の実装完了部分のデモ、という形式の約束をさけるのはこのためだ。 もちろん、リスクを前倒しで解決するために、 画面だけの紙芝居的なプロトタイプを使用してイメージの確認をしたり、ということは行う。 今回の話はあくまで実装デモの話。 できるだけ効率的な開発ができるよう不必要なチェックを排除することも大事なPMのお仕事だと思う。 PR
|
|
|