はじめに
「今やってる仕事、〇〇さんに引き継ぎしといて〜」
「今実装してる機能、誰のなんの作業のためにやってるか、わかってる?」
こんなことを言われて「え、わかんないっす。どうしたらいいすか?」ってなっているあなた。
業務やシステムは複雑なように見えて、1つ1つ単純なプロセスに分解していけば、理解しやすくなります。
この記事では、業務やシステムを理解するのに役立つフレームワークであるIPOやSIPOCについて解説します。
対象者
この記事は下記のような人を対象にしています。
- 駆け出しエンジニア
- プログラミング初学者
- 資料作れと言われても困る...となってる人
- この仕事、誰のなんのためにやってるのかわからん人
結論
IPOやSIPOCを使えば、複雑な業務やシステムを理解することができる!
IPOとは
Inputs インプット(入力)
Process プロセス(作業)
Outputs アウトプット(出力)
SIPOCとは
Suppliers サプライヤー(供給者)
Inputs インプット(入力)
Process プロセス(作業)
Outputs アウトプット(出力)
Customers カスタマー(顧客)
IPOとは
IPOは下記の3つの頭文字を立った略称です。
IPOとは
Inputs インプット(入力)
Process プロセス(作業)
Outputs アウトプット(出力)
プログラマーであれば、関数を実装する際に必ず考えると思いますが、「入力>作業>出力」と言う考え方です。
一つの関数の考え方をもっと複雑なシステムや業務にも使えるんですよ、と言う話です。
クライアントからの修正依頼が来た時の業務をIPO分析してみます。
修正依頼のIPO分析
Input1:クライアントから修正依頼
Process1:自分でコードを書き、gitlabにpush→上司がレビュー
OutPut1:修正をマージして本番デプロイ
Input2:クライアントに修正完了報告
Process2:クライアントが修正確認
OutPut2:「全然違う!」とクライアントからお怒りのご連絡
さて、どの部分に問題があったのでしょうか。
IPOでまとめておけば、下記のように一つ一つ原因を特定できますね。
- クライアントからの依頼がふんわりしていたのか?
- 自分のコードがよくなかったのか?上司のレビュー不足か?
- 修正完了報告が間違っていたのか?
- クライアントの修正確認方法が間違っていたのか?
SIPOCとは
SIPOCは下記の5つの頭文字を立った略称です。
SIPOCとは
Suppliers サプライヤー(供給者)
Inputs インプット(入力)
Process プロセス(作業)
Outputs アウトプット(出力)
Customers カスタマー(顧客)
IPOにさらに関係者を加えたフレームワークになります。
詳細をまとめるわけではなく、システムや業務の大枠を捉えるために利用されます。
関係者が集まって認識を擦り合わせたり、改善おアイデアをブレストしやすくするのに活用されるフレームワークです。
Suppliers(サプライヤー)とは?
インプットを供給する人、チーム、企業。
Inputs(インプット)とは?
プロセスを機能させるのに必要なデータや物。
Process(プロセス)とは?
システムや業務を細かく分けた1つ1つの作業。
Outputs(アウトプット)とは?
プロセスを実行した結果、得られるデータや物。
Customers(カスタマー)とは?
アウトプットを得る人、チーム、企業。
SIPOCの具体例
例えば、楽天やYahooショッピングのようなECサイトを制作しているとしましょう。
このECサイトをSIPOCで整理してみます。
ECサイトのSIPOC
-
Suppliers
- ECサイト利用客
- 倉庫の管理企業
- ECサイト店舗運営企業
- ECサイト運営企業
- etc...
-
Inputs
- ECサイト利用客の配送情報(名前、住所、電話番号)
- 商品コード
- セール情報
- 店舗コード
- etc...
-
Process
- ECサイトのカートから購入
- 利用客のユーザー登録
- 請求書作成
- 梱包作業
- etc...
-
Outputs
- 利用客が商品を受け取る
- 店舗が代金を受け取る
- ECサイト運営企業が手数料を受け取る
- etc...
-
Customers
- ECサイト利用客
- 倉庫の管理企業
- ECサイト店舗運営企業
- ECサイト運営企業
- etc...
このように、フレームワークがあると複雑なシステムが少し理解しやすくなりましたね。
ここから課題を出したり、改善点を出すのは以前よりも楽になったはずです。
おわりに
業務やシステムを見える化するフレームワークIPO,SIPOCについてまとめました。
IPOとは
Inputs インプット(入力)
Process プロセス(作業)
Outputs アウトプット(出力)
SIPOCとは
Suppliers サプライヤー(供給者)
Inputs インプット(入力)
Process プロセス(作業)
Outputs アウトプット(出力)
Customers カスタマー(顧客)