講演資料テストエンジニアのスキルとアジャイル開発はどのように交わっていくのでしょうか。アジャイル開発において、品質保証はどのように行われていくのでしょうか。セッションでは、アジャイル開発におけるテストについて議論した後、アジャイルの基本といえるスクラムのチーム運営について学びます。最後に、ゲーム感覚のワークショップで、チームの実際の動きを体感していきます。川口恭伸1.本研修の目的日本においても、アジャイル開発プロジェクトは、もはや珍しいものではなくなりました。テストエンジニアのスキルとアジャイル開発はどのように交わっていくのでしょうか。アジャイル開発において、品質保証はどのように行われていくのでしょうか。本セッションでは、アジャイル開発におけるテストについて議論した後、アジャイルの基本といえるスクラムのチーム運営について学んでいきます。呼びかけで、軽量で実践的なソフトウェア開発プロセスを実践している人々が、米国ユタ州ソルトレイクシティ近郊のSnowBirdという山荘に集まりました。アジャイルマニフェスト)」がまとめられ、以後、様々なソフトウェア開発手法や、その文化に「アジャイル」という呼称が用いられるようになりました。よい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。認めながらも、私たちは右記のことがらにより価値をおく。この宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。動くソフトウェアこそが進捗の最も重要な尺度です。8.アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。シンプルさ(ムダなく作れる量を最大限にすること)が本質です。最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。それに基づいて自分たちのやり方を最適に調整します。アジャイルは様々な方法論を含む総称としてつけられたラベルのため、「アジャイル開発をしている」という場合にも、その実体としてどのようなプラクティスを採用しているのか、どの程度行っているかによって、大きな多様性があります。従来の品質保証担当は、製品開発の最終段階におけるチェックを主に行ってきました。仕様書を(開発者とは別に)読み解き、テストケースを作成し、主に手作業で実施する...。テストの自動化が進展した現在では、そのあり方も変化しています。ケント・ベックらXPコミュニティで発展してきた技法です。開発者自身がユニットテストとソースコードをセットで書くことで、仕様の理解を明確にし、リファクタリングを用いてコードの品質を洗練していきます。テストコードのカバレッジを計測し、ユニットテストが用意されていないコードをなるべく無くすことを目指します。ペアプログラミング(2人一組でのプログラミング)によって、仕様の明確化とコードレビューを同時に行うこともあります。用のサーバを用意し、ソースコードとテストがソースコード管理システムにコミットされたらすぐに、ビルドとテストを自動実行して後退(リグレッション)がないことを確認します。このように、開発者自身が自動テストを書くようになれば、時間のかかる品質保証(QA)は不要になるのではないか?という意見もアジャイルコミュニティにはあったようです。TDDで記述するテストはあくまで「開発の足がかりになるもの」にとどめるのが一般的です。その一方で、求められる品質を確かめようとすれば、必要なテストは多岐にわたります。配布資料アジャイルテスターアジャイルチームの中に、テストについての十分なスキルを持った人が必要です。リザとジャネットはそういった人を「アジャイルテスター」と定義しました。アジャイルテスターになるためには、アジャイルチームの文化や振る舞いを知り、参加していく必要があります。素を把握しているのです。通してチームに役立つことを探しています。