« Apple TV 販売開始 | トップページ | Firefox - MinimizeToTrayをいれてみる »

2007年3月31日 (土)

ソフトウェア職人気質

いま出張で熊本に来ています。
芋焼酎はおいしいですが、けっこう酔っ払いますね。

ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード Book ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード

著者:ピート マクブリーン
販売元:ピアソンエデュケーション
Amazon.co.jpで詳細を確認する

最近、電車の中などでヒマをみつけては読んでいます。以前紹介した『ソフトウェア開発の名著を読む』でも紹介されている本です。

この本では、ソフトウェア工学に基づく開発アプローチは超大規模なシステム開発にしか適用できず、中小規模のソフトウェア開発においては工学的な手法より開発者の職人気質やそこから派生する組織の体制が生産性に直結するということが論じられています。

ソフトウェア開発というと、非常にロジカルでシステマチックな作業のように思えがちですが、実際の開発の現場は試行錯誤の連続で非常に混沌としています。考えてみれば、ソフトウェアはまったく同じものはこの世にひとつとしてなく、基本的にお客様の注文に応じたフルオーダーメイドです。さらに、他の企業がやってないような新しい機能を実装したいというような要望もよくあるので、それを作りこもうと思ったら試行錯誤は当然必要なわけです。机上できれいに設計図が書けて、そのとおりにプログラミングすればソフトウェアができあがる、というようなスマートな作業ではないわけですね。

で、現実そのような作業であるソフトウェア開発においては、ベルトコンベア式流れ作業では品質の高いものは生産できず、伝統工芸の職人的なこだわりや情熱のようなものが生産性を高めるのだと論じているところが興味深いです。

特に、ソフトウェア開発における教育については、教科書を捨てて徒弟制度を採用すべきだと書いてあるのが面白いです。いわゆる中世の鍛冶屋のように親方と弟子といった体制がソフトウェア開発技術の教育にはふさわしく、また親方と弟子が協業することによって弟子の生産力もソフトウェアの生産性に貢献すると言っています。これはたしかに一理ありますね。

ボクも若いころ大企業でソフトウェア開発の現場にいた頃は、先輩の書いたモジュールをメンテナンスしたり改良したりする作業でコードを覚えたものでした。そういう作業の中で、プログラム言語の参考書には載っていない、開発を迅速に完了するためのノウハウをたくさん得ていたのだと思います。いわゆるそれが、徒弟制度の技術伝承なのかもしれません。

ITProの記事をながめていたら、タイミングよく「日本のソフトウエア産業、衰退の真因」という記事がありました。この記事の著者も言葉は違えど『ソフトウェア職人気質』が指摘していることと同じようなことを言っているのだと思いました。日本でのソフトウェア開発事業は、ビジネス的には概ね成功しているかと思いますが、ソフトウェア開発という本質については見事に失敗しているとボクも思います。専門学校で教育を受けていても力のないプログラマは多いです実際。

ボク自身がプログラム言語の教育を受けた経験がないので教育自体がどんな内容なのかわかりませんが、現場で使えなければ技術を習得していると言えないのは事実。特にソフトウェア開発の業界では技術者は即戦力になることが求められるので、技術者の教育はそのようにあるべきでしょう。『ソフトウェア職人気質』はそのような技術者を生み出すには職人気質が重要であると述べています。

ボクは「職人」と言えるほどプログラムについてこだわりを持っているとは自分自身思っていないですが、責任を持ってリリースできないようなものを作ってはいません。とりあえず自分が作ったものを自信を持って提供する。これは最低限の常識ですよね。

|

« Apple TV 販売開始 | トップページ | Firefox - MinimizeToTrayをいれてみる »

コメント

全くの初心者を、どのようにして職人に育てるかは、悩ましいところです。特に、日本では、きちんとしたソフトウェアエンジニアを教育・育成して、社会へ送り出している学校は非常に少ないですから。そうすると、初心者を育てなければならなくなりますから。

投稿: 柴田芳樹 | 2007年4月 2日 (月) 07時05分

柴田芳樹さん こんにちは。

なるほど、やはりちゃんとした教育できるところは少ないのですね。おっしゃるとおり職人を育てるのは難しいと思いますが、現場で本当に参考書を読んだ程度の知識しかない初心者が「経験アリ」として採用されてくる現状は異常です。専門学校卒でもそんな感じなので、なんとかなってほしいですね。

一方で、日本のソフトウェア技術教育は少し偏っているように思えます。それは、日本のソフトウェア技術がトレンドを追いすぎるあまり実際のニーズから離れたところに注力しがちで、教育もその悪影響を受けていると思います。欧米では枯れた技術に対してもある程度柔軟に捉えられているようですが、日本では業界全体がトレンドの風見鶏になっている感じに思えます。

ソフトウェア開発について、これはいい傾向とは言えない気がします。「トレンドがこうだから、これを作るべき」ではなく、顧客のニーズを受けとめて「自分の技術力でそれをどう表現するか」ということを考えるべきではないでしょうか。
『ソフトウェア職人気質』はそういうことを論じているのだと思いました。

投稿: rihi | 2007年4月 3日 (火) 10時57分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/125677/5927775

この記事へのトラックバック一覧です: ソフトウェア職人気質:

« Apple TV 販売開始 | トップページ | Firefox - MinimizeToTrayをいれてみる »