図書館司書と利用者双方のニーズに対応する図書館システムを開発することは、挑戦的な課題である。すべてのステークホルダーの要件を満たし、予定された期間内にシステムを提供するためには、アジャイル開発アプローチを採用することが有効である。本記事では、100営業日かけて10スプリントで完了可能な図書館システムのアジャイル開発計画を提示する。
問題シナリオ – 図書館システム
地域の公共図書館は、オンラインカタログシステムに問題を抱えている。過去1週間、システムが断続的にダウンしており、図書館職員と利用者の両方にとって不満を生じさせている。一部の利用者は、書籍の検索ができないと報告している一方、他の利用者は、返却済みの資料のオンラインでの更新ができないと報告している。
図書館職員は、システム障害に関する電話や来館による問い合わせが多数寄せられており、他の図書館サービスの遅延を引き起こしている。さらに、システムが稼働しているときでさえも、動作が遅いと職員が気づいており、職員と利用者の両方にとってさらなる不満を生じさせている。
図書館のIT部門は、問題の原因を特定し修正するため努力しているが、現時点ではシステムの完全な機能回復に至っていない。その間、図書館職員は利用者に対して手動で資料の貸出・更新を行っているが、これにより多くの時間を使い、他の業務の遅延を引き起こしている。
図書館長は、IT部門に、システムが完全に機能するまでのタイムラインと、今後同様の問題を防ぐための計画を提示するよう求めた。また、図書館全体の技術インフラを評価し、改善策を提案するコンサルタントの雇用も検討している。
問題シナリオから候補となるユースケースを特定する
問題シナリオから候補となるユースケースのリストを特定するには、以下の手順に従うことができる。
- 問題シナリオにおける主要なアクターを特定する。アクターとは、開発中のシステムとやり取りする個人、組織、またはシステムを指す。
- 各アクターについて、その目標や目的を特定する。アクターは、システムを使って何を達成したいのか?
- アクターが目標を達成するためにシステムとやり取りするさまざまな方法を特定する。これには、実行する操作、提供する情報、システムから受け取る情報が含まれる。
- 各やり取りに対して、それを説明する具体的なユースケースを特定する。ユースケースとは、アクターとシステムとの間の特定のやり取りを記述したものであり、通常はアクターが目標を達成するために実行する一連のステップや行動を含む。
- 候補となるユースケースのリストを検討・改善し、完全性、関連性、重複のない状態を確保する。必要に応じて、ユースケースを統合または分割し、システムにとって不可欠でないものを削除する。
全体として、候補となるユースケースのリストを特定する目的は、開発中のシステムがすべてのステークホルダーのニーズと要件を満たし、彼らが目標を達成できる明確で完全な機能と特徴を提供することである。
以下は、図書館システムの候補となるユースケースの一例である。
- カタログを検索する:利用者は、図書館のカタログから書籍、DVD、その他の資料を検索できる。
- 予約する:利用者は、現在貸出中またはまだ入手できない資料に対して予約できる。
- 資料を貸し出す:利用者は、図書館から書籍、DVD、その他の資料を貸し出せる。
- 資料を更新する:利用者は、オンラインまたは対面で貸出中の資料を更新できる。
- 罰金を支払う:利用者は、図書館に支払うべき罰金や手数料を支払える。
- 館外貸し出しを依頼する:利用者は、自らの地域システム外の図書館から資料を借りる依頼ができる。
- アカウント情報を管理する:利用者は、住所や電話番号の更新など、個人情報を管理できる。
- 読書履歴を管理する:利用者は、読んだ本を追跡し、レビューまたは評価を残せる。
- お気に入りリストを管理する:利用者は、読みたい本のリストを作成でき、その本が入手可能になったときに通知を受けられる。
- アラートを受け取る:利用者は、予約した資料が入手可能になったときや、貸出中の資料の返却期限が近づいたときにアラートを受け取れる。
アクターを特定する方法
アクターを特定し、ユースケースに主アクターおよび補助アクターとして紐づけるには、以下の手順に従うことができる。
- システムとやり取りする主要なステークホルダーを特定する。これらのステークホルダーには、ユーザー、管理者、顧客、およびシステムを使用するか影響を受ける他の当事者が含まれる。
- 各ステークホルダーについて、システムを使用する際の主な目標や目的を特定する。彼らは、システムを使って何を達成しようとしているのか?これにより、各ステークホルダーの主なユースケースを特定する手がかりとなる。
- ステークホルダーが持つ追加の目標や目的を特定してください。これらは主なユースケースの中心ではない可能性があります。これらの目標は、システム内の他のステークホルダーまたはサブシステムとの連携に関連するもの、またはシステムの運用管理や保守に関連するものである可能性があります。これにより、二次的なアクターおよびそれに対応するユースケースを特定するのに役立ちます。
- 主要なアクターと二次的なアクターの間、およびアクターとシステムの間の相互作用を特定してください。これらの相互作用には、データの共有、情報の伝達、システム内のアクションのトリガーが含まれる可能性があります。これにより、ユースケースの境界や範囲を明確に定義するのに役立ちます。
- ユースケースとアクターのリストを作成し、各ユースケースをその主要なアクターおよび二次的なアクターに関連付けます。これにより、ユースケースモデルにすべてのステークホルダーが含まれていることを確認でき、システムがすべてのユーザーおよび管理者のニーズを満たすように設計されることを保証できます。
アクターを特定し、それらをユースケースに関連付ける目的は、システムの機能性について明確で完全なイメージを描くこと、そして設計および開発プロセスにおいてすべてのステークホルダーが考慮されることを保証することです。これにより、最終的なシステムがすべてのユーザーおよび管理者のニーズと要件を満たすことを確保できます。
以下は、図書館システムの候補となるユースケースのリストを要約した表であり、関連するアクターと目的を示しています:
| ユースケース | 主要なアクター | 二次的なアクター | ユースケースの目的 |
|---|---|---|---|
| カタログを検索 | 利用者 | なし | 利用者が図書館のカタログ内で書籍、DVD、その他の資料を検索できるようにする。 |
| 予約する | 利用者 | なし | 利用者が現在貸出中またはまだ入手できないアイテムを予約できるようにする。 |
| 資料を貸し出す | 利用者 | 図書館職員 | 利用者が図書館から書籍、DVD、その他の資料を借りられるようにする。 |
| 資料を更新 | 利用者 | 図書館職員 | 利用者が貸出中の資料の返却日を延長できるようにする。 |
| 罰金を支払う | 利用者 | なし | 利用者が図書館に支払うべき罰金や手数料を支払えるようにする。 |
| 館外貸し出しを依頼 | 利用者 | 図書館間貸借担当者 | 利用者が自らの地域システム外の他の図書館から資料を借りる依頼ができるようにする。 |
| アカウント情報の管理 | 利用者 | なし | 利用者が住所や電話番号の更新など、個人情報を管理できるようにする。 |
| 読書履歴の管理 | 利用者 | なし | 利用者が読んだ本を追跡し、レビューまたは評価を残せるようにする。 |
| お気に入りリストの管理 | 利用者 | なし | 利用者が読みたい本のリストを作成でき、その本が利用可能になったときに通知を受けられるようにする。 |
| アラートの受信 | 利用者 | なし | 利用者が予約した資料が利用可能になったときや、借りた資料の返却期限が近づいたときにアラートを受けられるようにする。 |
Use Casesの優先順位付け
Use Casesの優先順位付けは、ソフトウェア開発プロセスにおいて重要なステップであり、システムの最も重要で価値のある機能を最初に開発することを保証するのに役立ちます。優先順位付けにより、開発チームの努力とリソースを、最終ユーザーおよびステークホルダーに最大の価値をもたらす機能に集中させることができます。
以下に、最も重要なものから最も重要でないものへと優先順位を付けたUse Casesのリストと、優先度フィールドを示します:
| Use Case | 主なアクター | 補助アクター | Use Caseの目的 | 優先度 |
|---|---|---|---|---|
| 資料の貸出 | 利用者 | 図書館職員 | 利用者が図書館から本、DVD、その他の資料を借りられるようにする。 | 1 |
| カタログを検索する | 利用者 | なし | 利用者が図書館のカタログ内で本、DVD、その他の資料を検索できるようにする。 | 2 |
| 予約する | 利用者 | なし | 利用者が現在貸出中またはまだ入手できない資料を予約できるようにする。 | 3 |
| 延長する | 利用者 | 図書館職員 | 利用者が貸出中の資料の返却日を延長できるようにする。 | 4 |
| 他館間貸借を依頼する | 利用者 | 他館間貸借担当職員 | 利用者が自らの地域システム外の他の図書館から資料を借りる依頼ができるようにする。 | 5 |
| 罰金を支払う | 利用者 | なし | 利用者が図書館に支払うべき罰金や手数料を支払えるようにする。 | 6 |
| アラートを受け取る | 利用者 | なし | 利用者が自分の予約済みの資料が利用可能になったときや、借りた資料の返却期限が近づいたときにアラートを受け取れるようにする。 | 7 |
| アカウント情報の管理 | 利用者 | なし | 利用者が住所や電話番号の更新など、個人情報を管理できるようにする。 | 8 |
| お気に入りリストの管理 | 利用者 | なし | 利用者が読みたい本のリストを作成し、その本が利用可能になったときに通知を受けられるようにする。 | 9 |
| 読書履歴の管理 | 利用者 | なし | 利用者が読んだ本を追跡し、レビューまたは評価を残せるようにする。 | 10 |
優先順位は図書館システムの具体的なニーズや目標によって異なる可能性があることに注意してください。これは一般的な図書館利用者のニーズに基づいた一つの可能な優先順位付けです。
チームを編成し、コストを推定する
例えば、
香港における6か月間の人的資源のコストを推定するには、各役割とその最低給与および平均給与の範囲を考慮する必要がある。
最低人材要件を想定し、平均給与範囲の中間値を用いて、10名のチームのコストの推定値は以下の通りである:
- プロジェクトマネージャー:
- 最低月給:HKD 35,000
- 平均月給:HKD 60,000
- 6か月間の推定コスト(最低給与):HKD 210,000
- 6か月間の推定コスト(平均給与):HKD 360,000
- プロダクトオーナー:
- 最低月給:HKD 25,000
- 平均月給:HKD 45,000
- 6か月間の予想費用(最低給与):HKD 150,000
- 6か月間の予想費用(平均給与):HKD 270,000
- スクラムマスター:
- 最低月給:HKD 25,000
- 平均月給:HKD 45,000
- 6か月間の予想費用(最低給与):HKD 150,000
- 6か月間の予想費用(平均給与):HKD 270,000
- UX/UIデザイナー:
- 最低月給:HKD 20,000
- 平均月給:HKD 35,000
- 6か月間の予想費用(最低給与):HKD 120,000
- 6か月間の予想費用(平均給与):HKD 210,000
- 開発者:
- 最低月給:HKD 18,000
- 平均月給:HKD 30,000
- 6か月間の予想費用(最低給与):HKD 540,000(6名の開発者を想定)
- 6か月間の予想費用(平均給与):HKD 900,000(6名の開発者を想定)
- 品質保証/テストエンジニア:
- 最低月給:HKD 18,000
- 平均月給:HKD 30,000
- 6か月間の予想費用(最低給与):HKD 108,000
- 6か月間の予想費用(平均給与):HKD 180,000
- DevOpsエンジニア:
- 最低月給:HKD 20,000
- 平均月給:HKD 35,000
- 6か月間の予想費用(最低給与):HKD 120,000
- 6か月間の予想費用(平均給与):HKD 210,000
最低給与範囲を想定した場合、10名のチームが6か月間でかかる総費用は約HKD 1,308,000となります。平均給与範囲の中間値を想定した場合、総費用は約HKD 2,400,000となります。これはあくまで推定値であり、プロジェクトの具体的な詳細や各メンバーとの報酬交渉の内容によって実際の費用は変動する可能性があることにご注意ください。
アジャイル開発計画を作成する
上記のチームを想定し、図書館システムのためのアジャイル開発計画を以下に示します。10回のスプリントを想定し、各スプリントは10営業日間続きます:
スプリント1(1〜10日目):
- プロジェクトキックオフミーティングを実施する
- ユーザーストーリーの作成とバックログの優先順位付け
- 主要画面のワイヤーフレームを作成する
- 開発環境を構築する
- ユーザー認証および承認システムの開発を開始する
スプリント2(11〜20日目):
- ユーザー認証および承認システムの開発を完了する
- 書籍検索機能の開発を開始する
- 書籍の貸出機能の開発を開始する
- ステークホルダーとワイヤーフレームをレビューし、必要な変更を行う
スプリント3(21〜30日目):
- 書籍検索機能の開発を完了する
- 書籍の貸出機能の開発を完了する
- 書籍の返却機能の開発を開始する
- 書籍の予約機能の開発を開始する
スプリント4(31〜40日目):
- 書籍の返却機能の開発を完了する
- 書籍の予約機能の開発を完了する
- ユーザープロフィール機能の開発を開始する
- 書籍推薦機能の開発を開始する
スプリント5(41〜50日目):
- ユーザープロフィール機能の開発を完了する
- 書籍推薦機能の開発を完了する
- 書籍レビューおよび評価機能の開発を開始する
- 図書館員用の管理ダッシュボードの開発を開始する
スプリント6(51〜60日目):
- 書籍レビューおよび評価機能の開発を完了する
- 図書館員用の管理ダッシュボードの開発を完了する
- 書籍購入および在庫管理機能の開発を開始する
- 罰金管理機能の開発を開始する
スプリント7(61〜70日目):
- 書籍購入および在庫管理機能の開発を完了する
- 罰金管理機能の開発を完了する
- レポート作成および分析機能の開発を開始する
- モバイルアプリケーションの開発を開始する
スプリント8(71〜80日目):
- レポート作成および分析機能の開発を完了する
- モバイルアプリケーションの開発を完了する
- 外部システム(例:決済ゲートウェイ)との統合の開発を開始する
スプリント9(81〜90日目):
- 外部システムとの統合の開発を完了する
- テストおよびバグ修正を開始する
- ユーザー受入テストを開始する
- ドキュメントおよびトレーニング資料の作成を開始する
スプリント10(91〜100日目):
- テストおよびバグ修正を完了する
- ユーザー受入テストを完了する
- ドキュメントおよびトレーニング資料の作成を完了する
- システムのデプロイを実施する
- 最終レビューおよびリトロスペクティブを実施する
これは図書館システム向けのアジャイル開発計画の一例であり、実際の計画はプロジェクトの具体的なニーズや各スプリントにおけるチームの進捗に応じて変化する可能性があります。
プロジェクト提案例 – 図書館システム
プロジェクト提案:図書館システム向けアジャイル開発
導入:私たちは、図書館員と利用者双方のニーズに応える包括的な図書館システム向けのアジャイル開発プロジェクトを提案することを嬉しく思います。当該システムは、利用者に対してスムーズな書籍検索、貸出、返却、予約、購入、在庫管理、罰金管理の体験を提供するとともに、図書館員には管理ダッシュボード、レポート作成、分析機能を提供します。提案するアジャイルプロジェクトにより、すべてのステークホルダーのニーズを満たし、予定された期間内にシステムを提供することが保証されます。
プロジェクトの目的:本プロジェクトの目的は、利用者にとって使いやすく、効率的かつ効果的な図書館運用管理が可能な図書館システムを開発することです。システムは以下の機能と特徴を提供します:
- 利用者向けの書籍検索、貸出、返却、予約、購入、在庫管理、罰金管理機能。
- 図書館員向けの管理ダッシュボード、レポート作成、分析機能。
- 図書館システムおよびデータベースとのシームレスな統合。
- 利用者および図書館員向けのカスタマイズ可能なユーザーインターフェース。
プロジェクト手法:プロジェクトの目的を達成するため、私たちはアジャイル開発手法を採用します。アジャイル開発は、継続的なフィードバック、柔軟な計画、迅速な納品を重視する反復的で協働的なアプローチです。要件が変化する複雑なプロジェクト、たとえば図書館システムのようなプロジェクトに適しています。
アジャイル開発手法は、10営業日間のスプリントを複数回実施することで実装されます。スプリントは、定期的なミーティング、明確なコミュニケーション、段階的な開発を重視する人気のあるアジャイル手法であるスクラムフレームワークを使用して進めます。
プロジェクトスケジュール:プロジェクトは10回のスプリントで完了し、各スプリントは10営業日間続きます。スケジュールは以下の通りです:
- スプリント1:ワイヤーフレーム開発、ユーザー認証。
- スプリント2:書籍検索および閲覧機能。
- スプリント3:書籍の貸し出しおよび返却機能。
- スプリント4:書籍の予約および購入機能。
- スプリント5:在庫管理およびレポート機能。
- スプリント6:罰金管理機能。
- スプリント7:管理者ダッシュボード機能。
- スプリント8:レポートおよび分析機能。
- スプリント9:テスト、文書作成、デプロイ。
- スプリント10:最終テスト、文書作成、デプロイ。
プロジェクトチーム:プロジェクトチームは以下の役割で構成されます:
- プロジェクトマネージャー
- スクラムマスター
- プロダクトオーナー
- 開発者(2~3名)
- 品質保証エンジニア
- 技術文書作成者
プロジェクトチームは図書館システムの開発、テスト、文書作成、デプロイを担当します。プロジェクトマネージャーはプロジェクト全体を監督し、スクラムマスターはスクラムフレームワークが適切に運用されていることを確認します。プロダクトオーナーはステークホルダーを代表し、そのニーズが満たされるよう確保します。開発者はシステムを構築し、品質保証エンジニアはシステムが品質基準を満たしていることを確認します。技術文書作成者はシステムの文書を作成します。
予算:プロジェクトの総費用は200万香港ドルです。これには人件費、ハードウェアおよびソフトウェアインフラ、プロジェクトに必要な第三者サービスの費用が含まれます。
結論:図書館システムのための提案されたアジャイル開発プロジェクトにより、利用者および図書館職員の両方のニーズを満たす効率的で効果的かつ使いやすいシステムが実現すると確信しています。この提案についてさらにご相談できることを楽しみにしており、成功裏な図書館システムの開発にご協力いただけることを心から期待しています。
例 – 支払いスケジュール
以下は、提案された図書館システムプロジェクトの支払いスケジュールです:
- プロジェクト開始および契約締結時に、総費用の20%(香港ドル40万)を支払います。
- スプリント5の完了およびクライアントによる提供された機能の承認時に、総費用の30%(香港ドル60万)を支払います。
- スプリント8の完了およびクライアントによる提供された機能の承認時に、総費用の30%(香港ドル60万)を支払います。
- クライアント環境でのシステムの成功裏なデプロイおよびクライアントによる最終製品の承認時に、総費用の20%(香港ドル40万)を支払います。
この支払いスケジュールについてご質問やご懸念がある場合は、お知らせください。
ご検討いただきありがとうございます。
敬具、[あなたの名前]
例 – プロジェクト承認依頼用サンプル署名書
[クライアント様]へ
包括的な図書館システムの開発について、私たちが提案する計画を提出できることを嬉しく思います。当社が提案するアジャイルプロジェクトは、利用者に対して使いやすく効率的な書籍検索、貸出、返却、予約、購入、在庫管理、罰金管理の体験を提供するとともに、図書館職員に対して管理ダッシュボード、レポート作成、分析機能を提供します。
当社が提案するアジャイル開発手法により、システムがすべての関係者のニーズを満たし、予定された期間内に納品されることを保証します。定期的なミーティング、明確なコミュニケーション、段階的な開発を確保するためにスクラムフレームワークを採用します。プロジェクトチームは、プロジェクトマネージャー、スクラムマスター、プロダクトオーナー、開発者、品質保証エンジニア、技術文書作成担当者から構成されます。
プロジェクトは10回のスプリントで完了し、各スプリントは10営業日間続きます。プロジェクトの総費用は200万香港ドルです。
私たちの提案する図書館システムにより、貴施設の運営の効率性と効果が著しく向上すると確信しており、今後さらにご相談させていただくことを楽しみにしています。
ご検討いただきありがとうございます。成功裏な図書館システムの開発にご協力いただけることを心より楽しみにしています。
敬具、[あなたの名前]
概要
本記事で説明する図書館システムは、利用者に対して書籍検索、貸出、返却、予約、購入、在庫管理、罰金管理の機能を提供するとともに、図書館職員に対して管理ダッシュボード、レポート作成、分析機能を提供する包括的なプラットフォームです。開発計画は10回のスプリントに分けられ、各スプリントは10営業日間続き、ワイヤーフレーム開発やユーザー認証からテスト、文書作成、デプロイメントまでをカバーしています。このアジャイル開発計画に従うことで、図書館システムは効率的かつ効果的に完成し、すべての関係者が最終製品に満足できるようにすることが可能になります。











