平成27年春期試験問題 午前Ⅰ 問17

エクストリームプログラミング(XP)のプラクティスとして,適切なものはどれか。

  • 1週間の労働時間は,チームで相談して自由に決める。
  • ソースコードの再利用は,作成者だけが行う。
  • 単体テストを終えたプログラムは,すぐに結合して,結合テストを行う。
  • プログラミングは1人で行う。
正解 問題へ
分野 :テクノロジ系
中分類:ソフトウェア開発管理技術
小分類:開発プロセス・手法
解説
エクストリームプログラミング(XP:eXtreme Programming)は、1990年代後半、Kent Beck氏らによって提唱されたソフトウェア開発手法でアジャイルソフトウェア開発と称される一連の手法の先駆けとなったものです。「プログラマーは人間である」という思想のもと、叩き台となるプログラムを早期に開発し、短いサイクルで頻繁にテストとリリースを繰り返すことで、顧客の要求への対応力と生産性を高め、リスクを軽減することを目的としています。

XPには年々いくつかのプラクティスが追加されていますが、基本となった12のプラクティスは次の通りです。
計画ゲーム
求める機能のコンセプトを短い文章で記したストーリーカードを作成する。そのカードをもとに、開発者・管理者を含めたチームとのミーティングを行い詳細を決定する。
短期リリース
動くソフトウェアを1~3ヶ月というできるだけ短い時間間隔でリリースする。
共通の用語
開発メンバー・顧客・管理者全員でイメージや理解を共有するため、用語集や図表を作成する。
単純さ優先
品質低下のもとと複雑な実装の組込みを避け最も単純な実装を優先する。
テスト駆動開発
求める機能を明確化するため、テスト対象コードを実装するよりも前に単体テストを作成する。
リファクタリング
完成済みのものでもソフトウェアの機能を変えずにソースコードの品質を良くすることを随時行う。
ペアプログラミング
これは二人一組で実装を行い、一人が実際のコードをコンピュータに打ち込み、もう一人はそれをチェックしながら補佐するという役割を随時交代しながら作業を進める。
ソースコードの共同所有
開発チーム全員がどのコードに対しても改善処置を行えるようにするため、ソースコードの所有者を決めない。
常に統合
あるコードが単体テストをパスする度にすぐに結合テストを行い問題点や改善点を探す。
週40時間労働
集中力を高め、開発効率を高めるためには心身の健康を保つ必要があるため残業を認めない。
顧客も一緒
顧客は開発チームと同室(または近く)で開発の見守りを行う。
コーディング規約
上記を実現するためのにコーディング規約を決めて遵守する。
選択肢の事例を上記のプラクティスに照らし合わせると以下のようになります。
  • 「週40時間労働」に反します。
  • 「ソースコードの共同所有」に反します。
  • 正しい。「常に統合」のプラクティスに適合します。
  • 「ペアプログラミング」に反します。

Pagetop