ここ数ヵ月、モチベーション最悪でした。
ストレスで2kgほど太りました。酒の量も増えました。
ホントに身体壊した人もいたので、まだましですが。。。
この業界は病んでるなぁ、とつくづく思う今日この頃です。
何か書くと愚痴しかでて来そうになかったので
書いてなかったのですが、久しぶりに書きます。
最近、業界の病気の根っこにはなにがあるのか、という
ことをよく考えます。
語らねばならぬことは沢山ありますが、今日は、開発プロセスに
おける"工程"というものについて考えてみたいと思います。
伝統的な開発プロセスにおいては、
工程というものによって、開発作業が複数の部分に分割されます。
一般的な考えです。
でもよく考えてみて下さい。
工程に分けることによって何か良いことありますか?
悪いことは3つほど思い付きます。
その1:余計な作業が増える
前工程を担当する人は後工程の人に必要な情報を伝達
するために、文書の作成等の作業をする必要があります。
これは工程に分割しなければ必要無い作業なので、
純粋なオーバーヘッドです。
その2:コミュニケーションロスのリスクが生じる
どんなに緻密な文書を作成しても、常にコミュニケーションロスの
リスクは残ります。
その3:仕様変更に弱くなる
工程間の情報伝達のために作成した文書をメンテナンスするため、
システム全体が仕様変更に弱くなります。
でも良いことは、少なくとも私には思い付きません。
みなさんは思い付きますか?
この件についてはまだまだ言いたいことがあるので、
また続きをかきます。
バリバリの重量級プロセス信奉者の方の反論をお待ちしてます。
ストレスで2kgほど太りました。酒の量も増えました。
ホントに身体壊した人もいたので、まだましですが。。。
この業界は病んでるなぁ、とつくづく思う今日この頃です。
何か書くと愚痴しかでて来そうになかったので
書いてなかったのですが、久しぶりに書きます。
最近、業界の病気の根っこにはなにがあるのか、という
ことをよく考えます。
語らねばならぬことは沢山ありますが、今日は、開発プロセスに
おける"工程"というものについて考えてみたいと思います。
伝統的な開発プロセスにおいては、
工程というものによって、開発作業が複数の部分に分割されます。
一般的な考えです。
でもよく考えてみて下さい。
工程に分けることによって何か良いことありますか?
悪いことは3つほど思い付きます。
その1:余計な作業が増える
前工程を担当する人は後工程の人に必要な情報を伝達
するために、文書の作成等の作業をする必要があります。
これは工程に分割しなければ必要無い作業なので、
純粋なオーバーヘッドです。
その2:コミュニケーションロスのリスクが生じる
どんなに緻密な文書を作成しても、常にコミュニケーションロスの
リスクは残ります。
その3:仕様変更に弱くなる
工程間の情報伝達のために作成した文書をメンテナンスするため、
システム全体が仕様変更に弱くなります。
でも良いことは、少なくとも私には思い付きません。
みなさんは思い付きますか?
この件についてはまだまだ言いたいことがあるので、
また続きをかきます。
バリバリの重量級プロセス信奉者の方の反論をお待ちしてます。
たとえば分析・設計から導入まで1つの工程になっていた場合、それをこなすためにはオールラウンドプレーヤーでなければなりません。
しかし、工程に分ければ、何でもできる人でなくても、ある工程だけを担当することが可能になります。
世の中、何でもできる人ばかりではないので、役割分担した方が効率的な場合もあるのです。
軽量プロセスのTestCodeを考慮しないと
フェアじゃないと思います。
ただ、できる人だけで集まってモノを作れるのなら、
重量/軽量関係なくそれなりのモノが作れるので、
開発プロセスが問題になることないんじゃないかと思います。
問題は1人のできる人と9人のできない人で
システムを作らないといけなかったりするのが現実なので、
その場合にどっちのプロセスがリスクが少ないのか?
って所が肝なんだと思います。
しばらくお世話になっていた
wildcatsと言います。
伝統的な開発プロセスの悪いところだと私が思っているのは
承認プロセスによる手待ち時間の無駄です。
伝統的な開発プロセスではレビューに重きを置き
大規模なプロジェクトではレビューだけで1ヶ月なんてスケジュールがざらにありますが
そのレビューにかける1ヶ月間はエンドユーザの視点に立った価値付加の時間とは私には思えません。
あと何回かこのテーマで書くつもりなので、
またご意見いただけると嬉しいです。
tatakahaさん
確かに分業の問題は考慮しなければならない問題です。
しかし、分業が可能になる事自体は積極的なメリットとはならないこと、次のエントリに記述してある通りです。
Saisseさん
「出来る人だけで集まってモノをつくるならどんなやり方でもそれなりのモノが出来る」というのは私は違うと思っています。むしろ、「出来る人はどういうやり方で作ったらいいか知っている」と言った方がよいでしょう。
私は開発プロセスとは、「出来る人」の仕事の仕方を形式知化したものだと考えています。
1人の出来る人と9人の出来ない人の例は確かに現実的に良くあるシチュエーションですね。そのような場合に、どう開発プロセスを組み立てたら良いのか、ということについても今後考えて行きたいと思っています。
wildcatsさん
ウチの会社にいるうちに、一度一緒に仕事してみたかったですねぇ。残念です。
私もまともなレビューはこの業界に入って以来ただの1度も経験していません。
レビューが儀式化してしまっていることが問題です。これは官僚主義の弊害だと思います。