この記事を読んでいただいている方の中には、実際に「システム開発失敗した」という方もいらっしゃるのではないでしょうか?そしてもし、「そうだ」とおっしゃる方がいたなら、それは何故失敗してしまったのでしょうか?
「あとは開発側で何とかしてくれるだろう」は通用しない
かくいう私もシステム開発を請け負う側で20年以上働いてきましたので、請け負う側から見た失敗事例も何度も見てきました。失敗の多くはお客様である発注側との認識が不十分により発生するものです。具体的に例を挙げると、初期のシステム開発が完了してユーザーテストを実施してもらう際に、「意図した動きと違うから直して欲しい」というものです。
システム開発側から見ると、「それって仕様変更だよね」となるのですが、発注側からしてみると「こんなはずじゃなかった」というのが正直なところだと思います。なぜこんなことが容易に起きるかと言うと、システムのUI/UX(ユーザーの操作感や画面が移り変わる感覚的なイメージ)は、仕様を決めている段階では想像しづらいからです。
また、細かい仕様を一つずつ責任を押し付けられるかのごとく「決めてくれ」と催促され、よくわからないまま、「あとは開発側で何とかしてくれるだろう」という根拠のない期待のまま発注に踏み切ってしまうことが多かれ少なかれあると感じています。
そして、この状況は私が20年以上働いてきた限りでは一向に進歩や改善の兆しがありません。ですので、この部分は今からでも「ぜひ改善したい!」と考えています。そして、恐らく改善できます。
大事なのは「意義としての目的」と「誰が何の目的で使うのか?」
まず大事なのが、システムはあくまでも「手段」であり、「何故システムが必要なのか?」という「(意義としての)目的」を明確にすることです。これが何故重要かというと、発注側が伝えきれない細かい仕様の判断をシステム開発側が行えるようにするためです。「(意義としての)目的」に加えて「誰が何の目的で使うのか?」という点も押さえておく必要があります。
もしこの「(意義としての)目的」や「誰が何の目的で使うのか?」といった前提事項をシステム開発側が認識せず、伝えられた仕様しか情報がなかったとしたならば、システム開発側からしてみると「細かい部分も仕様を決めて欲しい」ということになりますし、ロボットのようにただ単に言われた通りに機能を開発していくことになります。
逆にそういった意義やユーザーの使用目的を想定することができれば、細かい部分は「こうしておいた方が良さそうだ」という判断を独自に行うことができるので、多くの時間をコミュニケーションに費やす必要もないですし、本当に重要な部分だけに議論を集中させることができます。
操作フローの設計が見えなかった問題に気づかせてくれる
意義やユーザーの使用目的の次に必要になるのが、操作フローの設計です。恐らくこの部分は多くの発注側が今までやってこなかったことなのではないかと踏んでいます。「誰が」「何を」「どうする」ということを一つずつ書き出していく必要があるため、「そんな時間はない」と言われると思いますが、これを最初にやっておくことで機能としての欠落や操作上の矛盾などを事前に確認することができるのです。たとえば、営業管理システムを開発する際、「打ち合わせから戻った営業マンが顧客情報をシステムに入力する」というプロセスが必要だとします。一方で、名刺管理システムを既に導入していて名刺をスキャンするだけで顧客情報が入力されるデータベースが既にある場合、新しい営業システムに顧客情報を入力すると二重管理が発生します。これが操作上の矛盾です。この場合は、名刺管理システムのAPI(データベースを連携するためのしくみ)を使って、名刺をスキャンした顧客情報を営業管理システムに自動的に登録する機能を組み込むことで解決します。(細かい運用の仕方についてはここでは割愛しますね)
ここまでやると「開発側がなんとかしてくれる」がまかり通る
今のはわかりやすい例として挙げましたが、このように操作フローや操作プロセスを書き出すことによって、どこにどんな不足や矛盾が存在するのかが見えてくるので、仕様として細かい部分までシステム開発に伝えずとも「あとはシステム開発側が何とかしてくれるだろう」という期待がまかり通るのです。
発注側にとって、システムの仕様を事細かく指示することは困難であったとしても、「誰が、システムのどの機能を使って、どうしたいのか」ということは確実に書けるはずです。逆にこれが書けない段階でシステムを発注すると失敗すると言ってもいいくらいだと思いますし、一旦書き切ってしまえば、それを操作マニュアルとして転用することもできます。面倒くさいことを先にやり切ってしまうこと、これが失敗しないための近道のように感じます。
弊社では、今回挙げたシステム開発を発注数る際に重要な3つのこと
1. (意義としての)目的
2. 誰が何の目的でシステムをつかうのか
3. 操作フロー・プロセス
アドバイスも含めて、これらの作成を支援していますので、気軽に相談してください。
【株式会社 業務の改善】お問い合わせフォーム
0コメント