こんにちは。製品企画室の土井です。
突然ですが、私は仕事の際に気をつけるようにしていることがあります。それは、「やらなきゃいけない理由」を把握することです。Webサービスは受託開発とは異なり、お客様から注文を受けて開発をするわけではありません。「やらなきゃいけない理由 = 注文が来てるから」という形にはなりません。営業で得られたお客様の声の中から、次の開発内容、必要な要件などを自分たちで考えていく必要があります。今回は、開発を行うにあたって、「やらなきゃいけない理由」を把握することの重要性についてお話したいと思います。
モチベーションの向上
例えば、ある機能を開発するとします。ですが、開発担当である自分が、この機能の必要性を全く理解していなかったらどうなるでしょうか? 開発のモチベーションを維持できるでしょうか? 私は無理だと思います。(そもそも維持するだけのモチベーション自体なくなると思います。)理由が分かっていない以上、必要性を感じることができません。必要性を感じていないことに、モチベーションを維持するのは難しいのです。だから「理由」を把握します。「なぜやるのか?」に対して、明確な理由を把握しましょう。私の場合、この機能が実装されることで「どんな悩みが解決されるか?」、「どれだけの人が喜ぶか?」をよく考えるようにしています。
品質の向上
モチベーションもそうですが、実装する製品の品質自体の向上にも役立つと思っています。
開発をする際には、
- 誰がその機能を欲しがっているのか?
- その機能があることで、どれだけの人が助かるのか?
- その機能がないと、どんな状況になるのか?
- そのような状況が、どれだけの頻度で発生するのか?
といったことを考えてみます。当たり前のことですが、これらを思い浮かべるだけで、最終的に出来上がるものが変わってくるのではないかと思っています。要件さえ決まっていれば、最低限の開発自体は可能です。ですが、上記のようなこと考えながら開発を行うと、より良い案、プラスアルファの配慮などが生まれてくると思います。逆に一切考えなかった場合、思わぬ欠陥を見落としまうようなこともあると思います。
選択肢の拡大
開発で行き詰ることは誰でもあります。そんなときは、無理して実装し続けるのではなく、一旦手を止め、「理由」を思い出してみてください。実装に夢中になってしまうと、意外とこれを忘れてしまうことがあります。
- そもそもお客様は何がしたかったのか?
- 本当にこの実装方法しかないのか?
- 代替案はないのか?
一旦ここまで戻ってみると、様々な選択肢が存在するのではないでしょうか? 特に実装方法についてです。無理して実装を続けるとその実装方法だけに囚われてしまい、視野が狭くなってしまいがちです。お客様の要望を満たすのに、必ずしも複雑な実装が必要なわけではありません。簡単な実装で済むなら、それに越したことはないと思います。
まとめ
つまり「理由がはっきりしてたほうがいいことがあるよ」ということです。