during: 2001(期間:2001年)
To Be Explicit(明示的にする)
システムをより柔軟にするために設計技法がよく使われますが、結局は扱いにくくなってしまうことがよくあります。その理由の一つは、設計において明示性が見過ごされがちであることです。
Reducing Coupling(結合度を下げる)
結合度を可視化し、削減する方法について考察する。
Interview with Kent Beck and Martin Fowler on Extreme Programming(ケント・ベックとマーティン・ファウラーへのエクストリームプログラミングに関するインタビュー)
著書Planning Extreme Programming(エクストリーム・プログラミング計画)の宣伝のためにピアソンが行ったインタビュー。XPの背景と、XPプロジェクトにおける計画の役割について語り合っています。
Protected Variation: The Importance of Being Closed(保護されたバリエーション:閉じていることの重要性)
クレイグのコラムでは、オープン/クローズドの原則と保護されたバリエーションの重要性、そしてパルナスの情報隠蔽がカプセル化以上の概念である理由について考察しています。また、保護されたバリエーションを実装する方法についてもヒントをいくつか紹介しています。
Separating User Interface Code(ユーザーインターフェースコードの分離)
私が最初に学んだ教訓の一つは、ユーザーインターフェースコードは常に他のものから分離しておくことでした。これは今でも有効なアドバイスであるだけでなく、驚くほど頻繁に忘れられています。
Crossing Refactoring's Rubicon(リファクタリングのルビコン川を渡る)
2001年1月、2つのJavaツールがリファクタリングのルビコン川を渡りました。Javaでのリファクタリングは、本格的なツールサポートを得られるようになりました。
Interviewed by Jim Highsmith(ジム・ハイ・スミスによるインタビュー)
2001年にスノーバードで開催されたマニフェストにつながる会議に参加した際、ジムは執筆中の著書のために私にインタビューを行いました。エクストリームプログラミングと、数日後にアジャイルソフトウェア開発と呼ばれるようになったものについての私の考えのスナップショットを提供しています。
The Manifesto for Agile Software Development - an early article.(アジャイルソフトウェア開発宣言 - 初期の論文)
2001年2月、ユタ州スノーバードに17人が集まり、軽量級メソッドの新しいスタイルについて話し合いました。この会議の成果の一つは、ソフトウェア開発のための新しい種類のアジャイルプロセスを表す言葉として「アジャイル」を作り出したことです。また、アジャイルソフトウェア開発宣言を作成し、アジャイルメソッドの価値と原則を記述しました。ジム・ハイ・スミスと私は、このマニフェストをさらに説明するために、Software Development誌にこの記事を寄稿しました。
Avoiding Repetition(繰り返しの回避)
ソフトウェアにおける繰り返しの回避という単純なルールが、優れた設計につながることがあるのは、実に驚くべきことです。
Planning and Running an XP Iteration(XPイテレーションの計画と実行)
新しいミレニアムの初めから、私たちは興味深いXPプロジェクトを実行してきました。ソートワークスにおける最初のXPプロジェクトの一つであっただけでなく、約50人が参加したという規模の大きさからも、興味深いプロジェクトです。ここでは、単一のイテレーションに対して行う必要がある活動と、さまざまなサブチームがどのようにイテレーションに関わっているかに焦点を当て、このプロジェクトの実行方法について説明します。
Variations on a Theme of XP (XP のバリエーション)
XPの魅力の一つは、XPを実践するために何をすべきかについて、非常に明確な記述がされていることです。さらに、その一連プラクティスは、互いにうまく連携するように注意深く設計されています。どれか一つを取り除くことは、深刻な結果をもたらします。しかし、XPやその他のアジャイルメソッドの原則の一つは、自己適応型であることです。つまり、プロジェクトを開発しながらプロセスを変更する必要があるということです。この概念は、XPの厳格なプラクティスとどのように適合するのでしょうか?