共通機能は、組み合わせる時代
システムを開発していると、「この機能もあったら便利そうだ」「これも自分たちで作ろう」と考えることがあります。
もちろん、それは技術的には可能です。
しかし、本当にその機能は、自分たちが時間をかけて開発し、運用し、育てていくべきものでしょうか。
システムは、作って終わりではない
機能は、一度作れば終わりではありません。
利用者が増えれば性能を改善し、 セキュリティへの対策も必要になります。
新しい技術や法令への対応、 障害への備え、 運用や監視。
システムは、時代とともに進化し続けます。
サービスが大きくなるほど、そのすべてを同じ品質で磨き続けることは、決して簡単ではありません。
価値を生み出す場所はどこか
例えば、
- レストラン予約サービスなら、予約しやすい体験
- ECサイトなら、商品の探しやすさや購入体験
- 勤怠管理システムなら、働き方を支える仕組み
それが、そのサービスならではの価値です。
一方で、
- SMS送信
- 音声通話
- ワンタイムパスワード
- メール送信
- 決済
- 地図表示
- ファイル保存
こうした機能は、多くのサービスで共通して必要になります。
もちろん、自分で実装することもできます。
しかし、それらは世界中で多くのエンジニアによって改善が重ねられ、磨かれ続けている分野でもあります。
「組み合わせる」という設計
現代のシステム開発では、「すべてを自分で作ること」が優れた設計とは限りません。
すでに十分に磨かれた仕組みは活用し、自分たちはサービスならではの価値に集中する。
それもまた、設計の大切な判断です。
私たちXoxzoが提供しているSMS APIや音声API、ワンタイムパスワード(OTP)APIも、そのような「共通機能」のひとつです。
そして世の中には、
- 決済API
- 地図API
- 翻訳API
- AI API
- クラウドストレージ
など、多くのサービスを支える優れた仕組みがあります。
それらを組み合わせることで、より速く、より安心して、本当に作りたいサービスへ時間を使うことができます。
車輪は、もう発明しなくていい
車輪を作ることが目的ではありません。
その車輪で、どんな風に、どのような速さで、どこへ行くのか。
それを考えることこそ、サービスを設計する楽しさです。
Engineering Time
エンジニアの時間は、限られています。
だからこそ、本当に価値を生み出す部分へ時間を使いたい。
そのために、「何を作るか」だけでなく、「何を作らなくていいか」を考える。
それもまた、良い設計のひとつです。
次回は、「時間は、機能ではなく設計に使おう」について考えてみます。