ソフトウェア開発の格言
2010年03月02日
世の中には数多の「格言」と呼ばれる言葉があります。
それは偉大な先人達が後世に残した財産であり
ある時には1人の人間の人生を左右するほどの力を持つ言葉達です。
我々ソフトウェア開発の業界にも「格言」は存在します。
今日はそんなソフトウェア開発の格言をいくつか紹介してみましょう。
まずは有名なところで
『Good code is its own best documentation.』
Steve McConnell
(優れたコードというのは、それ自体が既に最良のドキュメントである。)
耳が痛い部分もありますが、まさしくその通りですね。
開発者として、常にこの心がけを持って開発にあたりたいものです。
「優れたコード」とは、難しい処理を行うことでも、
独創的な手法で書くことでもありません。
誰もが読める、理解出来るコードのことであり、
そしてそれが最も高度な技術なのだと思います。
『There is no programming language
no matter how structured
that will prevent programmers from making bad programs.』
Larry Flon
(悪いプログラムを防止するプログラミング言語は存在しない。
たとえどんなに構造化されていても。)
これまた耳が痛いですね。
「悪いプログラムは言語ではなく、人が作る」といったところでしょうか。
どんな言語であろうと、それ自体が悪いなんてことは稀で
大抵の場合はそれを使う人間が未熟であったりするものです。
『The trouble with programmers is that you can never tell
what a programmer is doing until it's too late.』
Seymour Cray
(プログラマーは何をしているか、決して分からない。手遅れになるまで。)
なかなかグサリときます。
プログラミングはやはりPCに向かって作業をしている時間が1番長いわけで、
(ソフトウェア開発全体のスパンで見ると、決してそうとも限りませんが)
確かに管理者からすると実作業の中身が見えづらいことが往々にしてあります。
そうなる前に手を回し、見えないことを見えないままにしないのが
優れた管理者であり、優れた開発手法、管理手法なのでしょう。
他の人のコラムでもいくつか紹介されているので割愛しますが
もちろん我が社でもこうならないための予防策はいくつも実践されています。
(馴染めなくてボツになった策もいっぱいありますが)
私はアジャイル開発の現場に飛び込んで、まだ1年半ほどですが
アジャイル開発はこういった手法を「実践しやすい環境」のように思います。
『You can't have great software without a great team,
and most software teams behave like dysfunctional families.』
Jim McCarthy
(素晴らしいソフトウェアは素晴らしいチームから生まれる。
そして、大部分の開発チームは崩壊した家庭のようだ。)
後半は皮肉を込めたブラックジョークなのでしょうが
前半の一文はまさにその通りだと思います。
ソフトウェア開発のほとんどは、大なり小なりチームで行われるものです。
残念なことにこの業界は体(または心も)を壊し、
去って行く人が多い業界と言われています。
「素晴らしいチーム」の定義は人それぞれになってしまうかもしれませんが
こういったメンバーを1人でも出してしまったチームは
少なくとも「素晴らしいチーム」とは呼べないでしょうし
どんなに利益を上げようと、そのプロジェクトは「失敗」です。
私も良いチームを作っていくことが、
より良いソフトウェアを作る最善の道であると信じています。
どうですか?
いくつか紹介した中にあなたの心に響いた言葉はあったでしょうか?
改めて見直すと「戒め」の格言が多いように思えますが
それはソフトウェア開発の世界において、
まだまだ改善する余地があるということなのかもしれませんね。
自分の仕事を見つめ直す意味でも、
今後もこういった言葉に触れる機会は大事にしていこうと思います。
