エクストリーム・プログラミング
ケント・ベック氏が1999年に出版した書籍で提唱したソフトウェア開発プロセスで、
以下のようなキーワードを持ちます。
- アジャイル
- 短いサイクル
- ペアプログラミング
- テストファースト
- コードレビュー
2000年代には日本でもかなりのブームとなりました。
米クライスラー社の給与計算のための C3プロジェクトに携わる際に実践されたものです。
ペアプログラミング
エクストリーム・プログラミングのいくつかの手法のうち、「ペアプログラミング」という2名のチームをビルディングし、同じ画面を見ながら時間枠の中で交互にコーディングするというやりかたがあります。これは一見2名で1つのタスクを行うので効率は半分になるように思えますが、実際のパフォーマンスは2倍以上の生産性をアウトプットできます。
やってみて
XPのうち、特にペアプログラミングについては自分もあれこれ試してみました。実際にやってみて特筆するべきことは以下のようなことがありました。
- なるべく大画面を使用することが望ましい
- 細部に凝って隘路に陥らないようにいしないといけない
- 2000年当時のツール、Skype、Screen などを活用し、遠隔のメンバー同士でペアプログラミングを行うことも十分可能
自宅環境
さて、時は移り自宅では50インチディスプレイなどを用いた環境をリビングに構築しています。
そんななか、息子の高校受験がやってきました。
試験対策
最初は試験対策は自分でやっていたのですが、なかなかパフォーマンスが上がらずでちょっと行き詰まってしまいました。ここでちょうどこの時期に秘密結社オープンフォースの読書会でも話題になった、赤羽雄二氏の「ゼロ秒思考」を問題点の言語化のために試してみることにしました。
「ゼロ秒思考」 は1分でA4の紙に書き出す、という方法を中心に構築された問題分析・可視化手法です。大画面を前にしましたがそれはあくまで1分タイマーと時刻表示のみ使用しています。しかしながら取り組む座席配置や時間配分などはペアプログラムングの手法を使用し、集中することにしました。
試験対策をペアプログラミングで
「ゼロ秒思考」の実践の際に、ペアプログラミングを模した環境だと割と集中できることがわかり、他の試験対策全般に同じやりかたを拡大することにしました。
用意
基本的にはこのような紙の問題を用います。オンラインコンテンツなども多々ありますが、一部を除き紙の問題と紙に書いた回答の共有をスクリーンで行うことにしました。
大画面に投影するために、書画カメラを導入して写します。
写真ではありあわせの機材で書画カメラをでっち上げましたが、そのあとに使いやすい書画カメラを導入しました。
机の上が紙や筆記用具でちらかるのでマウスはつかいづらく、トラックボールを用いることにしました。
実施
問題を投影し、
30分のタイマー表示し、ペアで問題を解いていきます。
やってみて
受験対策は3教科に絞って行いました。
数学
数式を描く一挙一動が書画カメラで写されて、プラスマイナスを間違えるとか、幾何図形に思い違いがあったりなど、リアルタイムで可視化できるのが大きいです。
国語
Kindleで図書を読んでいきました。リーディングのスピードが異なるので異なるスクリーンで読みましたが、その後のディスカッション時には大画面の効果絶大。
英語
英単語を中心に、独自のオンラインコンテンツを消化していきました。これについての詳細は別機会に。
役に立ったツール
国語の Kindle 、 英語の独自コンテンツ以外に、数学は図形、数式の処理のツールが役立っています。
作図、数式エディタ
LibreOffice Draw
簡単な図形や数式は、問題を解きながら黒板代わりに作図していきます。

一度描いた図形は保存しておけば、復習や類似問題で思いの外役立ちました。
LibreOffice + TexMaths
数式が立て込むと、ちゃんとした数式を表現したくなります。中盤からは TexMaths を使って数式を描いてきました。
GeoGebra
図形の性質を掴むのに、例えば赤い点を頂点とした三角形は円周上のいずれに置いても同じ性質を持つか、などは言葉で説明してもいいのですが、GeoGebraで円周上をドラッグして動かせば一目瞭然でした。
めんどくさそう、とおもって導入は遅れてしまったのですが、もっと早く知っていれば大々的に活用したかったところです。
その後
入試対策が終わった後も、大画面の活用は気に入ったようで、いろいろと捗っています。
これは証明の成果発表で、スマホで描画を写しながら説明したものを、みんなで大画面で説明を聞いているところです。
俺達の戦いはこれからだ!
次回作にご期待下さい












