日経BP企画
スペースシャトルの設計とワープロ・ソフトの開発は違う。当たり前のように思うかもしれないが,これらを一緒くたに扱ってきたのが従来のソフトウエア工学だった,と著者は喝破する。代わって著者はソフトウエア職人気質という“思想”を提示し,生産性向上のための新たなシステムと人材育成手法を示唆する。
従来のソフトウエア工学は,ソフトウエアを「工業生産物」としてとらえてきた。その開発は「工場内の流れ作業」であり,「いくらでも代替可能な開発者が定量的に投下できる」と見なしていた。重んじられるのは開発者よりも管理者であり,経験や熟練よりも資格の有無であった。
宇宙開発や軍事開発など,国家的な巨大プロジェクトでは,従来のソフトウエア工学の手法は有効だった。そもそも,巨大プロジェクトにおける必要性からソフトウエア工学が誕生したのであるから,当然といえば当然である。
しかし,その手法が商用ソフトウエアに適用されると様相が一変してしまう。
人員は膨らみ,コストがかさむ。その一方で,ソフトウエアには「クール」な機能が次々と付け加えられていく。機能が飽和状態となり,明らかに使いにくいものであっても,悪いのはそれを使いこなせない「間抜けなユーザー(lusers)」ということにされてしまう。開発に人員が過剰に投下されながらも,保守はないがしろにされるため,ますますこんがらがったソフトウエアが出来上がっていく―著者は従来のソフトウエア工学の問題点をこのように描く。
こうした現状を踏まえて,ソフトウエア工学そのものの変革を唱えているのが本書である。
まず,従来のソフトウエア工学的なメタファから「職人気質」というメタファに切り替えよ,と筆者は主張する。顔の見えないソフトウエア開発者より,自分の「作品」に責任を持つソフトウエア職人を重んじたほうが,結果として生産性の向上につながると説く。後継者育成という観点においても,「職人的な徒弟制度の方が,従来の学校や資格制度よりも有効」と指摘する。
職人気質や徒弟制度と言うと,いかにも前時代的な考え方に聞こえる。「工芸品を作るのには適しているのかもしれないが,近代的な生産物を作るのにはあまりにアナクロな発想だ」。だれもがまずそう考えるだろう。
しかし,そのとき我々は「ソフトウエアとは工業生産物である」という観念に知らず知らずのうちにとらわれてしまっているのではないか。そうした意味で著者の主張は新鮮だ。
著者は職人気質のメリットとして,「自分で考え,個人あるいは少人数グループで理解可能な“作品”を作り出すから,ユーザーとの乖離かいりがないこと」や,「ソフトウエアにクレジットを入れることによって,仕事に対して責任が持てるようになること」などを挙げる。
後継者育成についても,「アプレンティス(弟子)」,「ジャーニーマン(一般職人)」,「熟練職人」といった徒弟制度のメタファを提示して言及している。このメタファからは,ソフトウエア工学が長年見捨てようとしてきた熟練の「技」を再発見できる。
(日経コンピュータ 2002/06/03 Copyright©2001 日経BP企画..All rights reserved.)
内容説明
内容(「MARC」データベースより)
Back Cover Copy
By recognizing that software development is not a mechanical task, you can create better applications.
Todays software development projects are often based on the traditional software engineering model, which was created to develop large-scale defense projects. Projects that use this antiquated industrial model tend to take longer, promise more, and deliver less.
As the demand for software has exploded, the software engineering establishment has attempted to adapt to the changing times with short training programs that teach the syntax of coding languages. But writing code is no longer the hard part of development; the hard part is figuring out what to write. This kind of know-how demands a skilled craftsman, not someone who knows only how to pass a certification course.
Software Craftsmanship presents an alternative—a craft model that focuses on the people involved in commercial software development. This book illustrates that it is imperative to turn from the technology-for-its-own-sake model to one that is grounded in delivering value to customers. The author, Pete McBreen, presents a method to nurture mastery in the programmer, develop creative collaboration in small developer teams, and enhance communications with the customer. The end result—skilled developers who can create, extend, and enhance robust applications.
This book addresses the following topics, among others:
Software Craftsmanship is written for programmers who want to become exceptional at their craft and for the project manager who wants to hire them.
0201733862B07242001
--このテキストは、 ペーパーバック 版に関連付けられています。
著者について
Pete McBreen is an independent consultant who actually enjoys writing and delivering software. Despite spending a lot of time writing, teaching, and mentoring, he goes out of his way to ensure that he does hands-on coding on a live project every year. Pete specializes in finding creative solutions to the problems that software developers face. After many years of working on formal and informal process improvement initiatives, he took a sideways look at the problem and realized, “Software development is meant to be fun. If it isn’t, the process is wrong.” Pete lives in Cochrane, Alberta, Canada and has no plans to move back to a big city.
0201733862AB07092002 --このテキストは、 ペーパーバック 版に関連付けられています。