今回は業務支援ソフトを作成するときに考えていることを書いてみたいと思います。前提として、作成するのは本業プログラマではない私1人で、日数は数日~数週間程度かける規模。直接の利用者は数人程度としています。
・何を解決したいのか明確にする。
できれば1~2つ、できるだけ少なくする。とりあえずソフトを作れば色々よくなると考えている人が多いので注意する。
・解決したい内容を大きく2つに分類しながら考える。
1.管理精度を上げること。2.楽になること、という2つに分類しながら考える。社内環境にもよるだろうけど、個人的にはこの2つの違いは結構大きくて、かなり進め方が違ってくる。
・管理精度を上げることについて。
例えば、現在の予測精度や集計誤差などの精度を向上したい。あるいは、今までにはない集計や指標を導入したいなど。管理精度を上げることは管理者のためという場合が多く、作業者(ソフト利用者)は興味ないことが多いので、話をするときに作業者の要望を一緒に聞いても(無駄とは言わないが)視点が違っていることが多い。
・楽になることについて。
作業者が望むことはだいたいこれ。作業の手間を減らするなど、あらゆる面倒くさいと思う部分を減らしていく。
・管理精度を上げること、楽になることについて、当然どちら一つだけではなく両方に効果がある場合も多い。例えば、複数で管理しているような情報を一元化するば、管理精度も上がるし楽にもなる。
・作業者は具体的な方法が分からないことも多いので、開発するときにこうすれば楽だろうと想像する。
・素早く試作を作ってフィードバックもらう。
素早く試作(特に重要なのがUI)を作ってフィードバックをもとに修正という流れで作っていく。ソフトを利用する人はUIが重要で見えない部分に興味はない。
・正しい業務手順に軌道修正していく。
正しい業務手順に軌道修正していくか、既存の社内フローを踏襲するか悩むときは結構あるが、将来的に効果がありそうなら、少しずつでも正しい業務手順に軌道修正していく。
***
本末転倒な話ではあるけど、自分が作る程度(マクロレベル)の業務支援ソフトの場合、利用者側での業務改善の方がはるかに効果的なことが多い。誰も見ていない指標を計算するのに時間をかけていたり、手間のかかる承認フローだったり、簡単に改善できるポイントはたくさんある。
例えば、ある資料について作成に時間がかかっているから、システムで自動化という話はありがちだけど、そもそもその資料を作らないという話はまず出てこない。作らなくても業務上困らないのに、誰か1人でも欲しいなら止めれない。こういう状況はいたるところで見つけることができる。
結局、情報共有とか意思決定の高速化というとみんな喜ぶけど、価値のない情報をたくさん共有したり、思いつきと変わらない意思決定を高速にできるようにしても何も変わらない。