旧サーバー

生産性の向上を目指すなら、魚を与えるのではなく釣り方を教えたほうがいい

『魚を与えるのではなく釣り方を教えよ』という言葉があります。

 [quote]魚を与えればその場の飢えはしのげる。しかし明日も同じ状態になる。
釣り方を教えれば、その後もずっと食べていける。[/quote]

生産性向上を目指して、作業を単純化させようとする場合がありますが、それってどうなんでしょう?と疑問に感じることがあります。
開発プロジェクトは、その時その時の特性があります。
プログラム言語、開発手法、フレームワーク、インフラ、各種バージョンなど、全く同じものって少ないと思います。
だから、その時のプロジェクトで作業を単純化しても、そのプロジェクトでは良いかもしれませんが、別のプロジェクトで使えないことがあります。(むしろ、その方が多い)

ありがちなのが

 コピー&ペーストで作成できるようにするひな形とか。
 設計書から、ソースコードを自動生成させるやつとか。
 世間一般的ではないフレームワークとか。

これらを否定するわけではないのですが、使う側が『何のために必要なのか』を理解する必要があると思います。
その時のプロジェクトで適用したからといって、次のプロジェクトでも適用できるとは限らないからです。
さらに、システム(アプリケーション)は、作って終わりではなく作ってからが本番です。
バグ対応だってありますし、メンテナンスだって必要になってきます。
本質を理解していなければ、自分たちが使っているのを修正すら出来なくなってしまいます。
そして、○○さんじゃないと直せないといったことになってしまいます。

だから単純化するのではなく、本質的なところをメンバーが理解していくことが大切だと感じています。
当然、初めから全部理解することは無理でしょう。
小さい部分からでもいいので、本質的に理解していくと、自分で考えれるようになるし自己解決の場も増えるのだと思います。

合わせて、読みたい・・・。
[url=http://xp.miyacomp.net/modules/d3diary/details.php?bid=519]生産性の向上を目指すなら、残業はやめたほうがいい[/url]
[url=http://xp.miyacomp.net/modules/d3diary/details.php?bid=511]生産性の向上を目指すなら、人月見積もりはやめたほうがいい[/url]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ツイていない話

2012年7月17日