N2 ToolBox(跡地)

跡地です。引っ越しました。http://d.hatena.ne.jp/nosen

まだ工程の意義を問う

2005-11-23 14:21:07 | 開発手法/方法論
つづきです。

昨日途中で力尽きて結論を最後まで言っていなかったのが
悪いのですが、実は今回私はソフトウェア開発から工程を
完全に無くすべきだとか、
重量級開発プロセスよりも軽量級開発プロセスの方が
常に優れているとかいうことを
言いたい訳ではありません。
主張したかったことは、もっとシンプルで、単に

工程を分割せずに済むなら、分割しないほうが良い

ということです。

昨日のエントリに対し、tatakahaさんとSaisseさんからコメントを頂きましたが、
注意を促したいのは、開発プロセスを複数の工程に分割すべき
積極的理由、つまり、
「工程に分けるとこんな良いことがある」ということはまだ示されていない、
ということです。

「何でも出来る人でなくても開発が可能になる」

これは積極的理由ではないと思います。
「良いこと」とはソフトウェアプロジェクトにとって良いことです。
ソフトウェアプロジェクトにとって「良いこと」とは
QCD(Quality, Cost, Delivery)にプラスの影響を与えることです。

何でも出来る人でなくても開発が可能になることによって、
品質が向上するでしょうか? 向上する理由は思い付きません。
納期は短縮されるでしょうか? 短縮する理由は思い付きません。

コストはどうでしょう?

確かに何でも出来る人より、限られた事しかできない人の方が人件費は
安いかもしれません。しかし、そのコスト的なメリットは
工程を分割することによって発生する余分な作業、やり直し作業の
コストと見合うものなのでしょうか?定量的なデータはありませんが、
少なくとも、明らかに人件費が安いメリットの方が大きいということは
いえないと思います。

だから、「何でも出来る人でなくても開発が可能になる」が
工程を分割することのデメリットを補ってあまりある程の「良いこと」
であると断定する事はできないと思います。

結局のところ、工程に分割すべき理由の多くは、
消極的理由、つまり、「工程に分けないとこういう場合に
うまく行かない」ことなのです。

工程を分割せずに済むなら、分割しないほうが良い

という主張に反論するためには、消極的理由ではなく、
積極的理由をあげる必要があります。

言葉を変えて、今一度問います。

開発作業を複数の工程に分ける積極的理由はありますか?
工程に分けることによって、品質は向上しますか?納期は短縮されますか?
コストは削減されますか?


まだつづきます。

最新の画像もっと見る

3 コメント

コメント日が  古い順  |   新しい順
並行処理 (tatakaha)
2005-11-25 15:18:08
工程を分割することで、並行作業ができるようになり、納期短縮が可能だと思います。

たとえば、分析や設計は整合性が重要なので、並行作業すると危険ですが、実装に関しては作業を分割して複数メンバーに割り振ることで、並行作業が可能になるのではないでしょうか?

返信する
Re: 並行処理 (酔狂人)
2005-11-27 06:51:31
私も「工程を分割せずに済むなら、分割しないほうが良い」と思います。

「工程を分割することで、並行作業が可能になり、納期短縮が可能」というのは、「納期短縮のために、並行作業ができるように工程を分割」するということであって、納期短縮のために開発コストを犠牲にしているに過ぎないと思います。

工程を分割し並行作業しても、工程を分割しない場合と同じ開発コストでは納期短縮は可能になりません。
返信する
工程をわけないでうまくやる方法があるのでしょうか? (hiro345)
2005-11-27 19:03:02
 工程を分けずに作業をするのはスケジュール管理上ハイリスクではないでしょうか? 品質、納期、コスト、これらは密接に関係していますから、見積もりをする必要があります。見積もりを出すためには、なんらかの方法で作業を分割して計算をするはずです。この分割単位が工程になるのだと思います。

 次に、各工程の見積もりを出した結果とクライアントからの要望をあわせて、各工程を誰に任せるのかを決めるはずです。このとき、何に重点をおくかによって、必然的に仕事分担が決まってくるのではないでしょうか。

 ここからは管理者のスキルになるのでしょうが、クライアントから要求されている品質、納期、コストから算出した結果、一人に任せた方がよいならそうするでしょうし、複数のメンバーへ任せた方がよいならそうします。もちろん複数のメンバーが関係する場合は、メンバー間の調整に必要なコストなども計算に入れることでしょう。

 いずれにせよ、スケジュール管理は必須でしょうから、工程分割は必要な気がします。

 いや、さすがにですね、資金調達から設備調達、設定、進行状況の報告、クレーム対応、関係各社との調整をしつつ、開発をして運用まで持っていって、そのままサポート窓口までやりつづけるというのは、かなりしんどいのではないかと思います。まぁ、社長になればやるしかないですし、やるのが当たり前なので、工程をわける積極的理由が見つからない場合は、独立して生きていくことを選択肢のひとつとして考えてみると、よいのかもしれません。

(脱線させていたらごめんなさい)
返信する