TOP
>
プロジェクト管理
> ペアプログラミング 〜トラブルプロジェクトへの対策
今こそ再考するアジャイル開発
第5回:プロジェクトマネジメントに活かす
著者:
日本コンピューター・システム 新保 康夫
アッズーリ 濱 勝巳
2006/10/10
前のページ
1
2
3
ペアプログラミング 〜トラブルプロジェクトへの対策
ペアプログラミングは、トラブルプロジェクトへの対策の1つとして考えることができます。トラブルプロジェクトにおいては、短期間で実装からテストをひとりひとりに割り当ててしまいがちです。しかし、ペアプログラミングを採用してみてはどうでしょうか。
こんなことをいうと、「そんなときに無駄な人を使って、時間をかけて作っている暇はない」と答えが返ってきそうです。でも、実際は、逆に、ひとりひとりに割り当てて無駄な人と無駄な時間を費やし、プロジェクト責任者の自己満足になってはいないでしょうか。
こういうプロジェクトにおいては、メンバーに必要以上のプレッシャーがかかっています。そのため、ケアレスミスが発生しやすく、2次障害を起こしやすくなります。いくら品質を叫んだところでプレッシャーをかけつづけているのならば、何の意味もありません。プレッシャーを軽減することを考え、品質を高めることが大切です。
このために、ペアプログラミングにより、2人ということでプレッシャーを軽減し、2人の視点で見ることによりケアレスミスや1人なら漏れてしまう障害を回避することができます。
また、1人だけがそのプログラムやシステムがわかるという状態を回避できますから、メンバーが途中で倒れるようなことがあってもあわてることがなくなります。これは、メンバーのリスク分散だけではなく、システム構築のリスク分散にもなります。
図5:ペアプログラミングの効果
テストファースト 〜仕様を把握し、環境を整備する
従来のシステム開発においても実装する前にテストを考えることは非常にメリットがあるといえます。それは、何をテストするか/どのようにテストするか/どのような結果が想定されるかをまず考えることにより、仕様と環境の2つの面をチェックすることになるからです。
まず、仕様の面からは実装担当者が作るプログラムの仕様を正しく把握するということと、このときに、小さなあいまいな仕様が明確になるということです。たとえば、「このデータがエラーのとき、エラーメッセージを表示するが、カーソルの位置はそのデータの入力域では」というようなことがわかるということです。
また、環境という面では、このプログラムをテストするにはどのようなテストデータを準備し、どのようなプログラムを用意しないといけないかということが事前にできているということです。テスト環境が整備されていれば、プログラムのユニットテストをしっかりと行うことができます。
これらの両面から当然プログラムの品質は高いものになります。
何か、特別なことをお話しているようですが、汎用機で事務処理システムの開発経験のある年配者の方は、実際のプログラムを作成する前に、テストプログラムやテスト環境を整備した記憶があるのではありませんか。
さて、今回は4つの方法について、従来のシステム開発に活用する方法をお話しましたが、これがすべてでも、これだけでもありません。プロジェクトは生き物です。システム開発するプロジェクトの特性を見出し、アジャイル開発のプラクティスを利用してプロジェクトを成功に導くのも、プロジェクトマネージャーやプロジェクトリーダーの力量になります。
次回は、アジャイル開発の事例について解説することにしましょう。
前のページ
1
2
3
著者プロフィール
日本コンピューター・システム株式会社
新保 康夫(しんぼ やすを)
本部企画室 コンサルタント、ITコーディネータ/ITCインストラクタ、システム監査技術者。
1975年 日本コンピューター・システムに入社。システム開発に従事し、プロジェクトマネージャを経て現在、コンサルタント業務に従事する。コンポーネントベース開発やアジャイル開発にも関与する。
「ソフトウェアプロセスレベルを向上させるCMMI活用術〜ソフトウェア開発の品格」をThinkITにて掲載。
有限会社アッズーリ
濱 勝巳(はま かつみ)
(有)アッズーリ 取締役社長。メーカ系ソフトウェア会社でファームウェアのプログラマを経て、フリーのエンジニアとして独立し、1999年に有限会社アッズーリを設立。オブジェクト指向、アジャイルプロセスを利用したエンタープライズアプリケーションを開発に従事し、現在は経営やプロジェクトマネジメントの視点でアジャイルプロセスを見つめ、情報システムベンダのあるべき姿を追求している。2003年よりアジャイルプロセス協議会副会長。
INDEX
第5回:プロジェクトマネジメントに活かす
エクストリーム・プログラミングに学ぶ
この方法はプロジェクトに使える
ペアプログラミング 〜トラブルプロジェクトへの対策