original: 2001年刊行予定の Squeak Book ドラフトEmbracing Change with Squeak: Extreme Programming (XP)

by John Sarkela, David Caster, and Paul McDonough of the 4th Estate



Squeakで変化を抱擁せよ:究極プログラミング(XP) 概要

#顧客の変更要求を容認せよ:顧客第一主義ということです。



<序> <XPの概要> <XPの実践> 略

XPの入門的な解説です。わかり易いです。

以下、面白そうなところだけ紹介します。



<XPをSqueakプロジェクトで使う>

XPはSmalltalkでオブジェクト指向開発を行った多くの個人の経験から育ったも

のなので、SqueakでXPを使うのは自然な成り行きだ。Squeakベースのプロジェク

トでXPを適用するスケッチを示す。



・スケール

規模に応じてXP手法を簡略化して使う。

一人で仕事をしているなら、ペアプログラマを探そう。ペアプログラマのスキル

を得る事は良いことで、その人があなたのやっていることをより良くするサジェ

スチョンをくれるだろう。



・テストと統合

テストと頻繁な統合は小さなプロジェクトでも飛ばしては駄目。小さなプロジ

ェクトでこそ、テストを書くことから始めないと。設計を肉付けしている時にテ

ストを書きなさい。テストされる振る舞いを実装し、全てのテストが通るように

しなさい。既存コードの追加も同じ。



・継続統合

構築マシンにはディレクトリを2つつくる。一つはrawイメージで、定期的なフル

システムのビルド用。2番目は現行の開発ベースイメージ。

#Smalltalkの統合開発環境では、”イメージ”に全てのソース、バイナリ、変更

履歴が吸収されています。



コード開発の最初にプログラマは、現行の開発ベースイメージを、構築マシンか

ら自分の開発マシンにコピーする。単体セットが全部通ったらチェンジセットを

file out してシステム構築担当に渡す。

#チェンジセットは差分ファイルで、それを出力するのがfile out、読み込むの

が file in です。



このチェンジセットは現行の開発ベースイメージに file in され、プロジェクト

の全単体テストが走る。全テストをパスすればイメージをセーブし、新開発ベー

スにする。チェンジセットは、リリースコードのチェンジのサブディレクトリに

いれ、ビルドファイルのリストの最後に追加する。

もしテストが100%通らなければ、イメージはセーブされず、責任のあるチー

ムが100%通るように問題を解決する。



・フルシステム構築

各イテレーションの終了時にシステムのフル構築を行う。rawイメージに保管して

あるチェンジセットをビルドファイルのリストの順番で file in し、全テストを

走らす。全てのテストがパスするまで、次のイテレーションはスタートしない。



・前に開発したコードの再利用 略

・UI機能のテスト

Squeakのようなメディアリッチな環境では、自動テストはなかなか適用しにくい。

100%UIのテストは出来ないが、20-80%ルールを使って、効果的にテストしよう。

EventRecoderMorphを使うと包括的なテストができる。UI操作をplay backできる。

#画面操作を記録して、後で自動実行するような機能でしょうか?



(以上)