0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UMLで始める"草の根"業務分析

Posted at

刷新できないレガシーシステム

経済産業省のDXレポートで話題になった「2025年の崖」も目前に迫っています。
しかしながらレガシーシステムの刷新は多くの企業が達成できておらず、特に難しい問題として同レポートでは以下のように書いています。

既存システムの問題を解消しようとすると、ビジネス・プロセスそのものの刷新が必要となり、これに対する現場サイドの抵抗が大きいため、いかにこれを実行するかが課題となっているとの指摘もなされている。

往々にしてこのように現場サイドの反発が取り沙汰されますが、個人的な経験では、この問題はミスコミュニケーションによるものが多いと感じています。

ユーザー企業 vs ベンダー企業

本来、ビジネスプロセスを語る際は特定のITシステムに依存しないことが大原則ですが、ユーザー側の担当者の多くは自社のITシステムでしかその業務を知らないので、それを排除して業務プロセスを語ることは、そのような習慣がなければ困難です。

さらにベンダー側も、業界や顧客の具体的な業務プロセスまで把握しておらず、ベストプラクティスと言いながら、結局自社製品を前提とした業務プロセスしか語れないということも多いのです。

結果的に共通の言語となりうるプロセスやユースケースではなく、お互いが理解できない自社システム固有の言葉をぶつけ合ってしまいます。

"草の根"業務分析のススメ

そこで、まずは日頃から業務プロセスを共通言語を用いて一般化する習慣をつけ、業務そのものに対する汎用的な知識を深めつつ、いつでも最適な業務プロセスについて生産的で円滑な議論できたらよいと思いませんか?

ここで役に立ちそうなのがUMLです。

UMLとは?

Unified Modeling Language(UML)はソフトウェア開発・システム設計、または今回のようなビジネスプロセスモデルなどを視覚的に図式化できる標準化されたモデリング言語です。
視認性も高く、標準化されたルールに基づいて業務プロセスやユースケースを表現できるので円滑で明確なコミュニケーションが期待できます。
UMLについてはこの記事がわかりやすかったのでリンクしておきます。

そして、PlantUMLはこのUMLダイアグラムをテキストベースで作成できる言語です。テキストデータなので管理が容易です。
コーディングはちょっとなーって思う方はMicrosoft Copilotと一緒に始めましょう!
(AIは会社のガイドラインに従って使ってください)

まずVisual Studio CodeやPlantUMLのインストールが必要ですが、この記事がわかりやすいと思います。

PlantUMLとCopilotで簡単に業務プロセスを視覚化

準備ができたら、アクティビティ図を使って早速業務プロセスを視覚化してみます。
Copilotに自然言語でコーディングを依頼してみます。ここでは図書館管理システムを例に挙げてみます。

図書館管理システムの業務プロセスを描いています。
PlantUMLのアクティビティ図を用いて、以下を記述してください。
・利用者は図書を検索します。その後、図書の詳細を確認します。
・図書が予約可能であれば予約をして、図書館は予約確認メールを送信します。
・予約できない場合は予約待ちリストに登録して、図書館は予約可能になったら通知を送信します。

こんな感じのコードが返ってきます(結果は異なる可能性があります)

@startuml
|利用者|
start
:図書を検索する;
:図書の詳細を確認する;

|図書館|
if (図書は予約可能か?) then (はい)
    :予約をする;
    :予約確認メールを送信する;
else (いいえ)
    :予約待ちリストに登録する;
    :予約可能になったら通知を送信する;
endif

stop
@enduml

これをVisual Studio Codeにコピペして、alt + Dでプレビューを出すとこのように視覚化されたモデルが出力されます。
image.png

予約図書を取りに行くプロセスも追加したくなったので、Copilotに修正を依頼してみました。

最後に利用者が予約図書を取りに行くプロセスを追加できますか?

と伝えると、このように修正してくれました。

@startuml
|利用者|
start
:図書を検索する;
:図書の詳細を確認する;

|図書館|
if (図書は予約可能か?) then (はい)
    :予約をする;
    :予約確認メールを送信する;
else (いいえ)
    :予約待ちリストに登録する;
    :予約可能になったら通知を送信する;
endif

|利用者|
:予約図書を取りに行く;

stop
@enduml

image.png

まとめ

こんな感じで、PlantUMLを用いてテキストベースで、さらにCopilotのようなAIを組み合わせれば自然言語で標準化されたプロセスモデルを作図できます。

従来、レガシーシステムを刷新するためにはもはやトップダウンによってパッケージソリューションをOOTBで導入して、無理やり業務を合わせこむしかありませんでしたが、
このようなテクノロジーで、どの会社も理路整然とした業務プロセスを持ち、賢く柔軟にパッケージソリューションを適用できるようになるのではないかと期待しています。

参考記事

実践!UML!
Visual Studio Code で UML を描こう!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?