
要件定義で業務フローを作成することになったんですが、どこから手をつければいいか分からなくて…



ああ、最初は誰でも悩みますよね。でも心配いらないですよ。基本的な書き方さえ押さえれば、意外と簡単です。一緒に見ていきましょうか?
はじめに
業務フローは、システム開発における要件定義の重要な要素です。しかし、「どのように書き始めればいいのか」「正しい書き方がわからない」という声をよく耳にします。
本記事では、業務フローの基本的な考え方から、実践的な作成手順、さらには現場でよく使用されるツールまで、初心者の方にもわかりやすく解説します。
本記事で使用するサンプルケース
本記事では有給休暇申請の承認フローを例にとってすすめていきます。
この記事だけでも以下の要素が確認でき要件定義として使用に耐えるものになります。
- 開始から終了までの一連の流れの明確な表現
- 関係者(申請者、直属上司、部門長、人事部門)の役割の明示
- 判断ポイントでの条件分岐の表現方法
- 例外パターンの適切な処理方法
業務フローの作成手順
- Step 1: 対象業務の範囲を決める
まずは、図解する業務の開始点と終了点を明確にします。例えば「受注処理」であれば、注文受付から商品発送までなど、範囲を決めます。 - Step 2: 業務の流れを洗い出す
対象業務に含まれる作業を時系列で書き出します。この段階では箇条書きで構いません。 - Step 3: 図形を使って図解する
書き出した作業を適切な図形を使って表現し、矢印でつなぎます。
Step 1: 対象業務の範囲を決める
本記事では社員が有給休暇申請を出して承認されるまでを作成します。
Step 2: 業務の流れを洗い出す
ヒアリングをおこなう
業務の流れを洗い出すために関係者全員にヒアリングを行います。
ヒアリングを行った結果以下のことがわかりました。
- 社員が有給休暇申請を出して承認されるまでに以下のアクターが存在する
- 社員(申請者本人)、直属の上司、部門長、人事部
- 社員が有給休暇申請を出して承認されるまでのフローは以下のとおりです。
- 社員が有給休暇申請を提出(必要書類に記入し直属の上司に手渡し)
- 直属の上司が人事管理システムにて当該社員の有給休暇残日数を確認し、有給休暇残日数が足りない場合却下。当該社員に申請書を返却して終了。足りている場合は「承認」もしくは「却下」する
- 直属の上司が却下した場合、申請差戻しとして社員本人に申請書を返却し終了
- 直属の上司が承認した場合、部門長に申請書を渡して承認申請を依頼する
- 部門長が「承認」もしくは「却下」する。「承認」の場合は人事へ報告され申請書を渡す
- 部門長が却下した場合は申請差戻しとして直属の上司に申請書を返却し終了
- 部門長が承認した場合、人事部が申請書の内容を人事管理システムに登録。
- 当該社員に申請が承認されたことを記載したメールが送信される。
各アクターの動きを整理する
- 社員
- 有給休暇申請を直属の上司に行う
- 直属の上司
- 当該社員の有給休暇残日数の確認
- 申請に対する承認行為
- 承認の場合、部門長へ申請書を渡し承認依頼
- 却下の場合、申請書の返却
- 部門長
- 申請に対する承認行為
- 承認の場合、人事部へ申請書を渡しシステム登録依頼
- 却下の場合、申請書の返却
- 人事部
- 申請書の内容を人事管理システムに登録
- 人事管理システム
- メールの送信



あれ?アクターに人事管理システムが入っていますけど…。人事管理システムは人じゃないですよねえ



はい、業務フローには人だけでなく業務を行ううえで何かアクションをしているものは全て書きます。
Step 3: 図形を使って図解する



それではヒアリングも完了しましたので実際に業務フローを作ってみましょう。
枠を作る



まず必要な数だけ枠を作りましょう。ヒアリングからアクターが5であることがわかりましたので5列の枠を作ります。





次にフローの開始を表す●を書きましょう。この有給休暇申請というフローは必ず社員の申請行為から始まるので社員の列に●を書きます。





では、次に最初のアクションである「有給休暇申請」を書きましょう。その時申請書が直属の上司に手渡されるので、その様子も忘れずに書きましょう。





角が丸い四角がアクションを、四角がモノを表しているんですね。



次は直属の上司が人事管理システムを使って社員の残りの有給休暇日数を確認しますのでそれを追記してみましょう。





アクションを繋ぐ矢印は実線で、モノ(オブジェクト)を繋ぐ線は点線なんですね。



これでなければならないというわけではありませんが、明確に線の種類を分けることで見やすくなりますね。
次の動きは有給休暇の残日数がもうない場合は却下されて終了になるところですね。





業務フローの中にひし形の記号があるのがわかりますか。これは条件分岐を表しています。
ここでは、有給休暇が残っていれば承認処理をしますが、残っていなければ社員に申請書を返却して終了となることを表しています。



さらに残日数が足りていれば承認処理をしますが、その後「承認」か「却下」かによってまた動きが変わってくるんですね。



そうです。承認処理をおこなうのは有給許可残日数が残っている時だけというのを表現しているんですよ。





これで業務フローは完成です。最後に人事部が有給休暇の情報を人事管理システムに登録すると自動的にメールが当該社員に送信されフローが終了することがわかりましたか?
業務フロー作成のコツとポイント
- わかりやすさを重視する
- 一つの図形には一つの作業のみを記載
- 略語は避け、具体的な表現を使用
- 矢印の向きは基本的に上から下、左から右に。ただ、オブジェクトについては例外です。右から左に向かうことは普通にあります。
- 適切な粒度で描く
- 細かすぎると複雑になり、荒すぎると情報が不足します。目的に応じて適切な詳細度を選びましょう。
例えば、ログインについて考えてみましょう。ログインをするには「ID」を入力し、「パスワード」を入力し、「ログイン」ボタンを押下したのち、システムが正規ユーザか確認するという一連の処理が動いていますが、これを全て書く必要はありません。
業務フローは開発に必要な機能を洗い出したりするためのものです。ここまで細かく描いてしまうと本来の目的から外れてしまいますし、違う業務で粒度が異なると使用する価値のないドキュメントということになってしまいます。
複数人で作成する場合も粒度は必ず合わせるようにしましょう。
- 細かすぎると複雑になり、荒すぎると情報が不足します。目的に応じて適切な詳細度を選びましょう。
- 例外パターンも考慮する
- 正常な流れだけでなく、エラーケースや例外的な処理も漏らさず記載することが重要です。
おすすめのツール
業務フローを作成するための代表的なツールを紹介します
- draw.io(無料で使える Web ツール)
- Lucidchart(直感的な操作が特徴)
- Microsoft Visio(業務用途でよく使用)
筆者はもう何年もLucidchartを使っています。有料ではありますが、draw.ioやVisioはあくまでもお絵描きツールであり、業務フローで言うと、Lucidchartは列の幅を拡げたり狭めたりすると中のアクションやオブジェクトも一緒についてくるので、わざわざ移動させる必要がなくストレスが少ないです。
また、選択できる種類が多いこともLucidchartを使う理由です。
業務フローの作成は、一見難しく感じるかもしれませんが、基本的な記号の使い方と作成手順を理解すれば、誰でも取り組むことができます。重要なのは以下の3点です。
- 例外パターンも含めた、漏れのない業務の可視化を心がけること
- 作成の目的を明確にし、適切な範囲と詳細度を設定すること
- 基本的な記号を正しく使い、論理的な流れを意識すること