MENU

エンジニアに教えるべきアジャイル開発:ウォーターフォール開発からアジャイル開発に移行する際の注意点

ウォーターフォール開発とアジャイル開発では、プログラムを開発するまでにたどるプロセスは全く異なります。
そのため、ウォーターフォール開発になじみが深いエンジニアにアジャイル開発についての教育を行う際には、気を付けなければならない点があります。

ウォーターフォールからアジャイル開発へ移行する際に引きおこること

アジャイル開発

ウォーターフォール開発の場合は、開発をスタートする前に打ち合わせや会議を重ね、プロジェクト全体の要件定義をし、仕様を決定します。
しかし、アジャイル開発では、開発前にプロジェクト全体の設計を行うことはありません。
開発すべき機能を小分けに区切って開発を進めていくため、機能ごとに設計、実装、テスト、リリースを繰り返していく手法をとります。
したがって、初めにすべてをきっちりと決めてから開発に取り掛かるウォーターフォール開発に比べ、全体の設計はせずに最初の機能のリリースを終えてから次の機能の設計を考えていくアジャイル開発は、非常に自由度が高い開発手法となります。
また、ウォーターフォール開発は、フェーズごとの担当が決められますが、アジャイル開発では担当が分けられることはなく、エンジニアはすべてのフェーズに関わるようになるなど違いが多くあります。
ウォーターフォール開発に携わってきたエンジニアにとっては、これまでとは全く違った手法に不安や戸惑いを感じることが多くなるでしょう。

アジャイル開発にするメリットとデメリット

アジャイル開発

アジャイル開発のメリット

アジャイル開発では、開発が完了した機能から順次リリースしていくため、実際に動くプログラムをクライアントは早いタイミングで利用することができ、開発側は開発中にクライアントからのフィードバックをもらうことができます。
クライアントから、当初の想定と異なる要求が出てきても、開発をしながら次の機能の設計をしていくため、要求変更にも柔軟に対応することができます。
また、フィードバックを受けながら開発を進めることができるため、よりクライアントの要望に添った機能を開発することができ、無駄な機能を開発するリスクを抑えることができます。

アジャイル開発のデメリット

初めにプロジェクト全体の設計や計画を立てるわけではないため、プロジェクトの全体像や完成形の把握がしづらいこと、途中で仕様変更や要求変更にも対応していくため、スケジュール管理が難しくなるということなどが、デメリットとなります。
また、月ごとに見た場合に成果物がわかりにくくなってしまう点や、チーム内にアジャイル開発に精通した人が必要となる点もデメリットであると言えるでしょう。

ウォーターフォール開発との違いによる不安を緩和するために

アジャイル開発にはメリットも多くありますが、デメリットもあります。
そして、ウォーターフォール開発とは全く異なる開発手法であるため、ウォーターフォール開発に携わってきたエンジニアにとっては、未知の開発手法であると言ってもいいでしょう。
エンジニアの戸惑いや不安を取り除くためには、事前にアジャイル開発の手法やメリットについてきっちりと教えることが大切です。