2019スタートアップでの自社プロダクトの技術的な意思決定について頻繁に考えるような立ち位置で仕事しています。どのような会社においても様々な状況、市場がどうだ、製品はどうだ、体制はどうだなど、枝葉のパラメータも見ていくと無限にも思えるようなパラメータを考慮しつつ、技術的な意思決定が行われているかとおもいます。結論を先に書くと、スタートアップにおいて自社プロダクトの技術的な意思決定を行う際には以下の優先順位で技術的な選択がなされるべきという結論に至っています。選択されることはありません。システム構築と比較した場合に境界面でのインターフェイス定義が増加することにより意思決定ポイントが増えるという副作用によって最速でデリバリできる手段とは言えなくなるためです。アーキテクチャへの移行を検討してもよいでしょう。いう話を具体の効果として、言い換えるとコスト削減・利益率向上への寄与が可能と言えるからです。プロダクトマネジメント観点からは、最速でのデリバリとプロダクトが提供する価値あるいはソリューションの仮説検証を高速に回転させつづけることが可能な体制、これらが達成できていない状況でプロダクトを開発しつづけても暗中模索してしまうだけで神頼みしかやれることがない、という状況に陥ってしまいます。達成への道のりを計画し、適切に要件を小さくしつつフェーズを分け、粛々とデリバリからの検証を回す。これがプロダクトの成長においてゴールデンパターンかと思いますが、それに対して技術側としては強い意志できれいなコードを書くことを諦めたり、きれいなアーキテクチャを諦めたりすることが必要になります。ときにはちゃんとテストしない、カスタマーサポートによる運用でカバーを前提とする、そういった意思決定が重要と考えています。よるソフトウェア・エンジニアリングネタやマネージメントネタを公開していくサイトです。メールにておねがいします。