システムづくりから学ぶ「why」の重要性
みなさんこんにちは。はるです。
今日はシステムづくりから、whyを意識することの重要性ついて考えてみたいと思います。
みなさんも普段スマホや、仕事でさまざまなシステムに触れていますよね。
特に意識することはなく、何気なく使っっていると思います。
では、自分で「システムをつくろう」となった場合、どんなことを考えますか?
「こんな機能を搭載しよう」
「最新技術を使って、速く動くシステムにしよう」
「おしゃれな見た目がいいな」
そんなことを考えたのではないかと思います。
実際、システム開発の仕事でシステムを作る時にどんなことをするのかというと、まず「要件定義」という工程でどんなシステムを作るのかを決めるのが一般的です。
要件定義とは
ソフトウェア開発やシステム開発においては、「要件定義」とは、そのソフトウェアやシステムに必要な機能や性能を明らかにしてゆく作業のこと。IT関係の開発では「上流工程」と呼ばれている作業・工程の一部にあたり、実際の具体的な開発作業(プログラミング言語を使ったコーディング作業など)や実装作業を始める前に行う作業のひとつ。
https://ja.wikipedia.org/wiki/%E8%A6%81%E4%BB%B6
システム開発経験の豊富な企業であれば、この要件定義のナレッジを社内に持っていることがほとんどだと思います。
そして、要件定義用のテンプレートも持っており、それに沿って機能一覧やユースケース一覧(システムの利用場面)を作成し、各担当者に割り振って作業をします。
ですが、この要件定義工程は結構な確率でうまくいきません。多くの時間をかけて会議をし、ドキュメントを作成し、レビューを実施してしっかりとした資料を用意するのですが、結局品質が悪く手戻りが発生したり、後々になって問題が発生しプロジェクトが炎上してしまうことも少なくありません。
なぜなのでしょうか。
その大きな要因の一つとして、システムを「なぜ」作りたかったのかが忘れ去られる、ということがあります。
システムを考えていく中で、
「こんな機能にしよう」
「セキュリティを強固に」
「動作を速く」
「実現方法はどうしようか、そもそも実現できるのか」
「予算は足りるのか、期限に間に合わせるためにはどうしようか」
というようなwhat、さらにはhowの話にどんどん寄っていき、最もシステムを作りたかった(システムを欲しかった)人たちの「なぜ作りたかったのか」という話が、意識されなくなってしまうのです。
さらに、開発の各担当者に割り振られたころには開発者は、設計書通りにミスなく期限内に作ることに追われます。その機能がなんのためにあるのかわからないまま開発され、いざ完成してみると全然使われない、使いにくいシステムが出来上がってしまうのです。
システムはwhyがあってのwhat(機能など)でなければ、意味のないものになってしまいます。howはさらにそれらから遠いものですが、担当者にとっては身近で最も意識が向きがちなのが皮肉ですね。
これがシステムづくりの「why」の大切さです。
このような事例は他の仕事やキャリア、就活などでも、共通点があると思います。
例えば、就活をしている学生さんはよく「なぜ」と理由を聞かれるのではないかと思います。特に就活をしている方は「なぜ」が大切な理由が腑に落ちないまま、言われるがままに会社選びや志望動機などに無理やり理由付けをしている方もいるのではないでしょうか。
就活の場合は「なぜ」は就活先の企業と自分自身の将来のために重要になりますよね。自分自身がその企業がいいなと思う「なぜ」をごまかしてしまうと「自分は何がしたかったんだっけ」と自分に返ってきてしまいます。またその企業は自社にマッチしない人を採用してしまうことになります。
「なぜ〇〇なのか、なぜ〇〇したいのか」
要所要所で一度立ち返り、意識から抜けないようにすることで、しっかりと地に足をつけて歩んでいけるのではないでしょうか。
以上、システムづくりから学ぶ「why」の大切さについて考えてみました。
ご一読ありがとうございます。
それでは。