ITシステムの開発手法の一つ、ウォーターフォール開発は、多くの開発業者が実践している手法ですが、時代の変化に伴い、ウォーターフォール開発からアジャイル開発に移行したいと考えている現場も多いようです。
ウォーターフォール開発とは、英語で「滝」を意味した言葉です。滝のように上から下に、いわば上流工程から下流工程へと順番に開発を進める、まるで滝のように流れる開発手法です。認知度の高い開発モデルとされており、その原点は1970年代にまでさかのぼることができます。
アジャイル開発とは「素早い」を意味した言葉です。大まかな計画を立てた後、設計・実装、そしてテスト・機能のリリースという流れを何度も繰り返します。開発をいくつもの小さな単位に振り分け、先の流れを何度も繰り返すことで、短時間で完成度の高い開発を可能にする手法です。
上から下へと流れるウォーターフォール開発に対し、上下という概念ではなく、小回りを利かせて、スピード感のある開発を行うアジャイル開発。時代の流れとして、アジャイル開発が適しているとされていることから、ウォーターフォール開発からアジャイル開発への移行を考えている環境も多いようです。そこで、ウォーターフォール開発からアジャイル開発に移行するために必要なポイントをいくつかお伝えしましょう。
上から下に流すウォーターフォール開発と比べると、アジャイル開発は、それまでの常識では考えられない流れで開発が進みます。このような変化を受け入れることこそ、アジャイル開発移行のための条件です。好奇心旺盛で、比較的若い人間が多い現場であれば、移行はスムーズに行われる可能性が高いです。反対に、保守的な現場の場合は、効率ではなく、変化を嫌って、アジャイル開発への移行を拒絶するケースもあります。
ウォーターフォール開発は、いわば責任の所在が明確な点が特徴だったことから、「上司の許可が必要」、「上司の目の届く範囲で仕事をする」といった日本の社会構造にマッチした部分もありました。しかし、アジャイル開発は会社全体で連動させるものです。そのため、役割や責任、仕事のスタイルを変える必要があります。
アジャイル開発ではチーム連携が不可欠です。そのため、絶え間ないWhole-Teamアプローチが求められます。これまでのような、「上司に逆らえない」、「上司だから」といったものではなく、チームとして積極的に仕事に取り組むことが必要になるので、Whole-Teamアプローチの活用がカギです。
アジャイル開発を継続的にテストすることも大切です。変化に対応できているのかどうかはもちろんですが、開発環境が変わったことで、クオリティまで変わっていないのかを確認する面もあります。
ウォーターフォール開発は、いわば「見えやすいゴール」が設定されています。しかし、アジャイル開発は反復的です。「大きなゴール」を目指すのではなく、何度も小さなゴールに到達しては、新しいスタート地点に立つを繰り返すことになります。このようなアジャイル開発の性質を理解することも大切です。
一部の人間、あるいは上司だけではなく、全員の意見を大切に扱う透明性のあるコミュニケーションが求められます。そこには、立場の上下などありません。誰の言葉であれ、平等に取り扱うのはもちろんですが、意見を主張する場そのものにも平等性・公平性・透明性が求められます。
アジャイル開発は、基本的に自動テストになると覚えておきましょう。なぜなら、アジャイル開発で求められるスピード感のある対応は、手動テストでは現実的に難しいからです。自動ツールがもたらすスピード感こそ、アジャイル開発の肝です。
アジャイル開発はスピード感が大切です。しかし、時には失敗することもあるでしょう。実は、失敗することも大切なポイントのひとつです。なぜなら、失敗は今後に活かせばよいからです。ウォーターフォール開発であれば、失敗は咎められる材料ですが、アジャイル開発では、「次に活かす材料」です。失敗したらすぐにフィードバックし、成功への材料にしましょう。
アジャイル開発への移行を一部の部署で行うより、組織全体で行った方が効果は高まります。組織全体を巻き込んで、移行に取り組みましょう。
アジャイル開発での共同作業を円滑にするためのツール使用が望ましいです。
アジャイル開発ではスピード感も大切です。つまり、コミュニケーションにもスピード感が求められますので、従来のオーソドックスなコミュニケーション以上に、スピード感のあるコミュニケーションが求められます。ツールを駆使したコミュニケーションを採用してみましょう。
商品名 | Ranorex (ラノレックス) |
Autify (オーティファイ) |
---|---|---|
商品タイプ | パッケージ型
膨大なテスト工数を |
SaaS型
初期費用を抑えて |
対応テスト |
|
|
実行回数 の制限 |
制限なし |
制限あり
400回/1000回/任意 ※プランにより異なる |
日本語サポート | 導入後のセミナーが充実! | ヘルプサイトが充実! |
体験版 | 14日間 | 14日間 |
※Googleで「テスト自動化ツール」と検索し上位表示されたパッケージ型、SaaS型のテスト自動化ツール21種類の中から、(1)クロスデバイス、マルチブラウザに対応し、(2)日本語のサポートがあり、(3)ノンプログラミングでシナリオ作成が可能なツールをピックアップ(2021年11月1日調査時点)。パッケージ型、SaaS型それぞれの代表商品を選出しました。
【代表商品の選出基準】
☆パッケージ型:上記の条件の通り。
☆SaaS型:上記の条件に加え、公式サイト上に導入事例がもっとも多かったツールを選出。