最近あるサービスのスマートフォンアプリに新機能を追加している。
そのアプリではAndroidネイティブ、iOSネイティブ、WebView、React Nativeの4種類の画面から構成されている。APIはREST APIとGraphQL APIの2種類がある。一見するとどこでどの技術を使っているのかわからないので、仕様を決めるためのコミュニケーションで誤解を生んだり、何度も同じ確認をするコストがかかっている。
この問題をどうしたら解決できるのだろうか。
根本的には APIの統合や、React Native を採用をやめてシンプルな構成にするというような採用技術の見直しとリファクタリングが必要だろう。
そうはいってもすぐにそのような根本的な変更ができるとは限らない。そうするとドキュメンテーションを強化することで、少しは開発しやすくなるだろうか。
今回の問題に対してドキュメンテーションの強化は根本的な解決ではなく場当たり的にも感じるが、ドキュメンテーションはチームでのソフトウェア開発には必須のものではあるし、根本的な見直しと並走してドキュメンテーションの強化も必要なのだろう。