BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース クラフトとしてのソフトウェアプログラミング

クラフトとしてのソフトウェアプログラミング

原文(投稿日:2010/08/02)へのリンク

Cutter Consortium は先日,クラフト(Craft)としてのソフトウェアプログラミング:アジャイル開発の影響 を特集した Cutter IT Journal を発行した。無料ダウンロードで入手可能だ (ただし登録と,ページ上の小さなオレンジ色のボックスにプロモーションコードを入力する必要がある)。

Jens Coldewey 氏が今回のゲスト執筆者である。巻頭の文章で氏は,クラフトマンシップ (craftsmanship,職人気質) 運動の起源を OOPSLA ワークショップに求めている。

12年前,Bruce Anderson,Norm Kerth,Dave West,Ken Auer という注目すべき4氏が,バンクーバーの OOPSLA カンファレンスにおいて "徒弟制度としてのソフトウェア (Software as a Studio Discipline)" と題する,注目すべきワークショップを開きました。 ... 1998年のこのワークショップは,公式には教育を議題とするものでしたが,今になってその参加募集を読み返してみると,これが [ソフトウェアクラフトマンシップ運動の] 出発点であったように思われます。

ワークショップに参加した Pete McBreen 氏はこの3年後,Software Craftsmanship を出版した。また2008年には Bob Martin 氏が,アジャイルソフトウェア宣言 (Agile Manifesto) の第5行として "くずのようなコードよりも職人気質を(尊重しよう)" を追加するように提案している。

Coldewey 氏は,ソフトウェアクラフトマンシップがひとつの運動にまでなった理由を,"多数のアジャイル主義者の間で増え続ける不安,すなわち Scrum の大成功によって,Scrum プラクティスだけをアジャイル運動と捉える人々が増えていって ... コードベースを損なうことなく,頻繁かつ早いリズムで高品質なコードを提供する,というアジャイルの特質が [無視される] ..." ことに対する反応である,と言っている。

さらに氏によれば,クラフトマン擁護派の主張は次のようなものだ。

... 優れたコードベースは,価値あるソフトウェアを頻繁に提供する上での基盤になります。そしてそのようなコードベースの基盤となるのが,プロフェッショナルをステークホルダのビジネス目標に緊密に近付けるような,安定感のあるチームなのです。[そして] プログラミングは生涯を通じて学ぶべきスキルであり,... スキルを持った仲間とのコラボレーションであり,... [そして]暗黙の知識であり,経験なのです。クラフトの登場する場がここにあります。クラフトマンシップとは,暗黙の知識と経験を教え伝えるための伝統的な手法なのです。

本刊はゲスト執筆者による冒頭文書と,次の6つの記事で構成されている。

  • "真のクラフトマンが持つ7つの特質" Mathew A. Stuempfle,J. David Gibson。この記事は「本当のクラフトマンの条件とは何か」という問いに答えようとするものだ。氏らにとって,それは7つの特質に帰結する - 技能の必要性の理解,複数の役割の担当,指導者(mentor)の重要性の自覚,チームプレーヤとしての活発性,支持者に対する理解,失敗も時には許容されるという認識,そして継続的な変化の予測と対応,である。
  • "エンジニアリングはYES,クラフトはNO" Ken Orr,Paul G Baset。氏らはクラフトマンシップを見当外れの "憧れ" であるとして,ソフトウェア産業に本当に必要なのは "工学の一領域として成熟することである",と主張する。
  • "クラフトマンシップはどのようにして爆発的成長を生き残るか" Lawrence Fitzpatrick。"成長するソフトウェア開発グループが重大な対抗的圧力を前にして,どのように見せ掛けのクラフトマンシップを維持し得たか",というケーススタディ。
  • "持続可能なアジャイルソフトウェア開発" Stefan Roock。"インクリメンタル設計の基本原則" と,それがどのように長期的,かつコスト効率のよいソフトウェアシステムのメンテナスを可能とするかを解説する。
  • "今日のビジネス界に必要とされる文脈的クラフトマンシップ" Gil Broza。氏は "純粋なソフトウェアクラフトマンシップは,今日の世界では非現実的である" とした上で,異なった意味でのクラフトマンシップである "文脈的クラフトマンシップ" の必要性と可能性を論じている。
  • "ユーザエクスペリエンスは誰が作るのか - UI 開発者,それとも UX デザイナ?" Michael Hughes。氏は,人/コンピュータシステムのユーザビリティと,ユーザエクスペリエンス (UX) デザインに関する新たな専門分野が,クラフトマンシップの一部であるべき理由を取り上げている。

この記事にはクラフトマンシップ運動の起源に関する興味深く有用な情報と,議論に値するいくつもの重要な問題が提供されている。2010 SCNA カンファレンスに参加するための準備として役に立つだろう。

この記事に星をつける

おすすめ度
スタイル

BT