アジャイル開発を実施するにあたって、ドキュメントの作成は必要なのか気になっている人もいるでしょう。開発におけるドキュメントとは設計書・仕様書などを意味します。この記事では、アジャイル開発でのドキュメントの必要性や役割、作成のポイントなどを解説します。併せて、ドキュメントにはどのような種類があるかも紹介するので、ぜひ参考にしてください。
アジャイル開発とは?
アジャイル開発とはプロジェクト開発手法の1つです。アジャイルには素早い、回転が速いといった意味があります。アジャイル開発では小さな単位で実装とテストを繰り返して開発を進めます。従来の開発手法と比較し、開発にかかる時間を短縮可能です。
従来のプロダクト開発では、ウォーターフォール開発という手法が主流でした。プロダクト開発をはじめ、機械製造や船舶業でも採用されています。ウォーターフォール開発では初めに全体の設計、計画を決めてから開発を進めます。そのため、開発途中での仕様変更が簡単にはできません。
アジャイル開発のメリット
アジャイル開発では小さな単位で開発を進めていくため、急な仕様変更が必要でも柔軟に対応可能です。問題が生じても1つ前のイテレーションを見直せばよいため、戻り工数を減らして効率的に進められます。イテレーションとは設計・開発・テスト・改善で構成されるサイクルを指します。
アジャイル開発なら優先度に高い機能から開発に取り組み、テストしたうえでリリースするため、開発に必要な期間を短縮可能です。新しいサービスでも比較的短期間で提供できる点が、アジャイル開発の大きなメリットです。
併せて読みたい:アジャイル開発とウォーターフォール開発の違いとは?
アジャイル開発にドキュメントは必要?
ウォーターフォール開発と比較し、アジャイル開発ではドキュメント作成に重きを置いていません。開発におけるドキュメントとは、プロダクト開発における設計書・仕様書などを意味します。とはいえ、アジャイル開発ではドキュメントが不要なわけではなく、少なからず必要とされています。
アジャイルソフトウェア開発宣言を見ても、ドキュメント作成を否定してはいないことが分かります。アジャイルソフトウェア開発宣言とは、ソフトウェア開発分野で活躍する17人の専門家がアジャイル開発を定義した文書です。2001年に発表されました。
※参考:アジャイルソフトウェア開発宣言
アジャイル開発におけるドキュメントの役割・目的
アジャイル開発におけるドキュメントの役割・目的は下記のとおりです。
・開発の進捗状況の把握
・関係者同士のすり合わせ
・業務の引き継ぎ
それぞれ解説します。
開発の進捗状況を把握する
プロダクト開発では予定通り開発が進まず、途中で仕様変更が求められる場面もあります。特にアジャイル開発では最初に綿密な計画が立てられるわけではないため、変更が必要となりやすい傾向です。もしも変更点が全体に共有されていないと、開発におけるズレが引き起こされる場合もあるでしょう。変更が生じた際でも記録しておき、開発の進捗状況を可視化できるドキュメントがあれば、情報共有の漏れを防止できます。
関係者同士のすり合わせを円滑に行う
アジャイル開発では詳細な計画が用意されていません。そのため、プロダクト開発を進めるうえでは関係者同士の密なすり合わせが必要です。開発にはエンジニアといったITの専門家だけでなく、クライアントをはじめとするIT用語に不慣れなメンバーも参加します。そのため、IT用語に対する理解度の違いから、認識のズレが生じやすくなります。
口頭でのやりとりだけだと記録が残らず、トラブルに発展する可能性が高まってしまうでしょう。ドキュメントがあれば誰もが分かりやすい形の情報共有に役立ちます。
業務の引き継ぎを容易に行う
プロダクト開発では工程ごとに担当者が異なる場合も珍しくありません。また、プロダクト開発に携わるメンバーが始めから揃っておらず、途中から加わることも一般的です。特に運用・保守の分野に携わるメンバーは後からの参加が多いでしょう。
そのため、担当者が変わってもメンバーが増えても、プロダクト開発の状況が正確に伝わるような仕組みづくりが必要です。ドキュメントがあれば引き継ぎが容易になり、キャッチアップもスムーズです。バグやトラブルの発生・対応に関する経緯も把握できるため、開発が効率的に進められます。
アジャイル開発で必要なドキュメントの種類
アジャイル開発で必要となるドキュメントの主な種類は下記のとおりです。
・ユーザーストーリー
・要件定義書
・設計書・仕様書
それぞれ解説します。
ユーザーストーリー
ユーザーストーリーはプロダクト開発において、「どのようなユーザーが・何の目的で・何をしたいのか」を定義づける文書です。アジャイル開発では頻繁に用いられるドキュメントです。プロダクト開発の目的を整理でき、搭載すべき機能・実現すべき体験などを洗い出せます。
開発の開始時点では詳細な計画を立てず、ユーザーストーリーを軸に進めることで、ニーズに合ったプロダクトを効率的に開発可能です。開発におけるタスクの優先順位が決まらない場合や、エンジニアとステークホルダーで認識にズレが生じている場合などに役立ちます。
要件定義書
要件定義書とは前述したユーザーストーリーを、実際のプロダクトに落とし込むための文書です。要件定義書に決まったフォーマットはありませんが、案件の背景・課題・対処法の案などを盛り込むとよいでしょう。意思決定におけるクライアントとのすり合わせでも要件定義書は役立ちます。
アジャイル開発における要件定義は動的な点が特徴で、プロジェクトが進むにつれて変化していきます。そのため、要件を初めから詳細に定義する必要はありません。段階的に要件定義を固めていき、必要に応じて見直しや更新を行いましょう。
設計書・仕様書
アジャイル開発であっても設計書・仕様書があれば開発がスムーズです。必要に応じてER図や画面仕様書、API仕様書、システム構成図などを作成してください。ER図(Entity Relationship Diagram)とはデータ同士の関連性を可視化する設計図です。画面仕様書にはプロダクト画面のデザインや機能、操作、画面遷移などが示されます。
API仕様書はAPI機能や利用方法、リクエスト・レスポンスの形式などを定義します。API機能とはデータ・機能を連携し、第三者が開発したソフトウェアでも使えるよう拡張する機能です。システム構成図はシステムの構成要素、接続を図で表して可視化したものです。
アジャイル開発のドキュメントを作成する際のポイント
アジャイル開発のドキュメントを作成する際はメンテナンスのしやすさ、バージョン管理ツールの活用がポイントです。それぞれ解説します。
メンテナンスがしやすいドキュメントを作成する
アジャイル開発におけるドキュメント作成はそれ自体が目的なのではなく、目的達成の手段なので手間をかける必要がありません。プロダクト開発では工程が進むにつれて、ドキュメントの変更や修正といったメンテナンスが求められます。そのため、ドキュメントはメンテナンスが必要な際も簡単にできて、負荷が少なくなるよう工夫しましょう。
たとえば、社内Wikiを活用したドキュメントなら作成やメンテナンスが容易になります。ドキュメントの数を絞ることも有効です。ドキュメントの修正箇所が発見しやすい仕様を心がけ、履歴がしっかり残るようにしましょう。
バージョン管理ツールを上手く活用する
バージョン管理ツールを活用して、プロダクト開発におけるバージョン情報を記録できれば、ドキュメントとして利用できます。ドキュメントを別途作成する必要がなくなり、業務負担や手間を軽減できます。また、バージョン管理ツールがあれば、ファイルを変更したり誤って上書きしたりしても、元通り復元が可能です。変更履歴が残されるため変更の実行者、内容、理由などを、後から他のメンバーも確認できます。
併せて読みたい:アジャイル開発の成功事例5選
アジャイル開発のご相談なら株式会社Sun Asterisk
アジャイル開発を依頼するうえでは、さまざまな疑問や悩みがあるのではないでしょうか。専門家に相談することで不安を解消できる場合があります。
株式会社Sun Asteriskはエンジニア、デザイナー、戦略コンサルなど、幅広い専門家が集まるデジタル・クリエイティブスタジオです。アジャイル開発の実績が豊富で、貴社の課題に合わせて質の高いプロダクト開発を支援できます。アジャイル開発でのサポートが必要なら、まずは株式会社Sun Asteriskへお気軽にご相談ください。
まとめ
アジャイル開発を取り入れれば、従来のウォーターフォール開発と比べてスピーディにプロダクトを作れます。開発が柔軟に進められるアジャイル開発ですが、進捗の把握や情報共有のためにはドキュメントが必要です。とはいえドキュメントを詳細に作り込んでおく必要はなく、開発に合わせた柔軟な変更ができます。
自社でアジャイル開発を利用したいと考えても、どこから始めればよいか難しい場合もあるでしょう。アジャイル開発のご相談なら株式会社Sun Asteriskにお任せください。設計から開発まで一貫してサポートし、ニーズに合わせたサービスをご提供します。
貴社の状況にあわせて最適なチームをご提案します。アジャイル開発のご相談やお見積りのご依頼は、お気軽にお問い合わせください。
Sun*アジャイル開発に関するソリューションやこれまでの開発実績をまとめた資料のダウンロードはこちらから。