システム設計の大切な工程
システム開発は、楽しいものです。
「こんな機能も作れる。」 「ここも自動化できそう。」 「せっかくだから認証画面も自分たちで作ろう。」
そんなふうに考え始めると、開発するものはどんどん増えていきます。
でも、システム設計には、もう一つ大切な工程があります。
「本当に開発が必要か」を考えることです。
エンジニアリソースを、本当に価値のあるところへ
開発は、目的ではありません。
ユーザーに価値を届けるための手段です。
だからこそ、エンジニアの時間は、本当に価値を生む部分に使いたい。
例えば、
- 業務フロー
- UX(ユーザー体験)
- データ設計
- ビジネスロジック
これらは、そのサービスならではの価値です。
エンジニアが時間をかけて磨くべき部分でもあります。
「作ること」より、「作る必要があるか」を考える
一方で、
- SMS送信
- ワンタイムパスワード
- 音声認証
これらは、多くのシステムで共通して必要になる仕組みです。
もちろん、自分たちで実装することもできます。
しかし、そのためには通信事業者との接続、送信制御、エラー処理、運用、仕様変更への対応など、サービス本来の価値とは別の課題にも向き合うことになります。
ここで一度、立ち止まって考えてみてください。
「これは、本当に自分たちが作るべきものだろうか。」
その問いを持つだけで、設計は変わります。
すでに磨き抜かれた仕組みという選択肢
通信や認証のような共通機能は、すでに多くのエンジニアが長い時間をかけて磨き続けているサービスがあります。
そうした仕組みを活用することで、自分たちは自社サービスならではの価値づくりに、より多くの時間を使えるようになります。
それもまた、優れたシステム設計の一つの選択です。
Engineering Time
エンジニアの時間は、限られています。
だからこそ、本当に価値を生む場所へ。
それが、このシリーズでお伝えしたい「設計の考え方」です。