Personal tools
You are here: Home ブログ 井上 良いソフトウェア開発体制と人材育成は必ずしも一致しないかもしれないジレンマ
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
Categories
カテゴリなし
 
Document Actions

良いソフトウェア開発体制と人材育成は必ずしも一致しないかもしれないジレンマ

約3年前に「 ソフトウェア開発のスケーラビリティ 」の記事を書きました。一番書きたかったことは、ある一定の開発期間を経たソフトウェアには次の2種類のタスクが残るという話です。

  • 難しくて重要なタスク
  • 簡単でどうでもいいタスク

ソフトウェア開発に新しい人が来るたびに、これがジレンマになります。新しい人は、比較的簡単なバグ修正などの作業から入って、作業しながら全体像を把握するのが常套手段です。スキルがある人やベテランでも事情は同じです。自分の経験を振り返っても、新しいソフトウェアを目の前にした時は、手を動かしながら全体像を探っていくのが一番効率的だったと思います。

一方、どうでもいいバグは本当にどうでもいいことも多々あります。開発期間の長いプロジェクトの場合、数年放置されているようなバグも普通に存在します。このようなバグはそもそも修正が必要なのかどうかすら怪しいものがあります。修正による挙動の変化やバグの埋め込みの可能性を考慮すると、合理的に考えて、修正しない判断が正しいことも多々あるからです。

とは言え、鶏と卵の問題で、簡単なタスクで手を動かさないと新しい人が開発に慣れていきません。なので、どうでもいいタスクの中から見繕ってタスクをアサインしてきます。

開発期間が長くても、簡単で重要なバグがたくさん現れる例外的なプロジェクトがあります。それは、修正によって次々とエンバグしてしまう場合です。従来動作していた機能が壊れるので、このようなバグの修正は必須です。動いていたコードと動かなくなったコードの両方を見ることができるので、この手のバグの修正は、比較的容易です。このようなバグ(リグレッションバグ)の発生は避けられませんが、大量に次々と現れるソフトウェア開発は、大局的には終わっています。

皮肉なことに、プロジェクト管理の観点では問題がありますが、人材育成の点では結構良い環境だという点です。たくさんのバグを次々に修正していくと達成感も得られ、自信もつきます。壊れやすいコードや、プログラマがどうミスをおかすのかを多く目にできるのも長い目で見れば良い経験です。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/dev-scale2/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.