アプリケーションの漸進的リリースについて

とりあえずメモ


アプリケーションの機能や UI を大きく変更する際、変更後のアプリケーションがどんなに優れていたとしても既存ユーザからは悪い反応しか来ない。

それはそうだ、既存ユーザは "優れた UI" や "画期的な機能" を使いたいのでは無くて、いままで使っていたアプリケーションを明日も変わらず同じ操作で使い続けられることを期待しているからだ。

しかし、今のアプリケーションでは、明らかに良くない UI 、不足した機能、 UX 上の問題がある。開発者としてはアプリケーションを変更する必要を感じている。

では、一体どうやってアプリケーションをリリースすれば良いのだろうか。


当たり前の話なんだけど、少しずつアプリケーションを変更していけば、そういった問題は無くなる。だけど、一般的にはそういうリリースをしているアプリケーションをあまり見掛けない気がする。

そもそも少しずつ変化していくアプリケーションを認識するのは難しいし、ドラスティックに変更してレビューが炎上したアプリケーションは認識しやすいせいもあるだろう。

まあ、これは粒度の問題で、たとえば文字を 1px 右にズラすごとに 1 回リリース、などという運用をしていたら埒が明かないし、かといって 1 回のリリースで画面の構成を全く別物にしてしまっては意味が無い。適度な粒度での変更が必要なのだ。


個人的には、突発的リリースというのは時代遅れになってきていると思う。漸進的リリースというのは、結局のところアジャイル開発そのものだし、それらを支えるための継続的インテグレーション、継続的デプロイ、スクラム開発といったテクノロジはすでに現実世界にある。

と、まあここまで書いてきて、これってつまりウォーターフォールとアジャイル開発の話だな。


アプリケーションをどう変化させていけば、レビューが荒れずに、かつエンジニアに過剰に負荷をかけずに済むかというところを重視した文献、議論、話が知りたい。