ハードシングスへの突入と脱出
4.根の深い技術的負債
事業ドメインと相性の悪い技術スタック
比較的歴史の浅いモダンな技術スタックを選定し、その上に機能を積み重ねていった。あるタイミングから表面上は小さな機能改修に見えるものでも物によっては多くの工数が掛かるようになった。根幹に据えたデータベースと他スタック、及び今後開発していきたい機能との相性がよくないことが次第に分かっていく。負債の改修に多くの時間が充てられるようになり、これもエンジニアの士気を下げる一因となる。
根の深い負債に加え、1人で1つの機能をリリースするまでにいくつもの技術的分野の横断が必要な、チームトポロジー的にいうと認知不可を超えた開発環境になってしまっていた。新しいメンバーを迎え入れても一定のまとまりのある機能が作れるまでかなりの時間を要する状態であり、開発者としての成功体験や自己効力感が得られるまでさらに多くの時間を有した。 本来はどうすべきだったのか
技術選定は開発の生産性に直結するので、作り始める前に経験者からのリファレンス含め徹底的にリサーチを行うこと。僕たちの場合、初期から「選定した技術」の専門家にご支援を頂いたのだが、全体を俯瞰してレビューをしてくれるアドバイザーを招聘すべきだったように思う。(そしてこれはプロダクトマネジメントも同じ)