こんばんは、ApexLegendsで物資調達中に崖から転落死した @peka3 です。
iOSは毎年メジャーバージョンアップが行われますね!
ずっと古いバージョンもサポートできればいいのですが、そうすると開発効率が落ちていくので、サポートバージョンを打ち切ることも大事だったりします。
そういうときはエンジニアとプロダクトオーナー間で交渉して、じゃあこのバージョンまではサポートを終了しましょう、となったりならなかったりします。
これが毎年の作業として入ってくるチームも多いのではないでしょうか!?
GameWithアプリでも先日iOS10のサポートを終了しました。
その際に「iOSアプリ サポートOSバージョンルール」を設け、今後はこのルールに沿いますということでプロダクトオーナーと合意を取ることにしました。
なぜ iOSアプリ サポートOSバージョンルール を決めたのか?
毎年iOS Xのサポートを打ち切るとどういうメリットがあって…などをまとめるのは非効率です。
そもそもサポートOSのバージョンを上げることのメリットはほとんど
- 新機能が使えて開発効率や開発の幅が広がる
- テストにかかる工数が削減できる
この2点に集約できるので毎回洗い出すほどではないと考えました。
よって、考えることを削減したい、コミュニケーションコストを削減したい、という目的でルールを決めました。
テスト工数削減について
ほとんどの開発において、各バージョンで動作確認するので、たとえばiOSの場合、i0S10, 11, 12 をサポートしようとすると、テストは3必要。
これが直2バージョンのみのサポートになれば、 iOS11, 12 だけでよくなり、テスト工数は 2/3 になります。
ものすごく単純計算で出しましたが、古いバージョンを打ち切ったらテスト工数が増えてしまう、ということはないでしょう。
古いOSではセキュリティリスクがある
iOSは基本的に最新のメジャーバージョンにしかセキュリティパッチが来ないので、iOS12が最新なら12未満を使ってるだけで、すでにセキュリティリスクがある状態で利用していることになります。
サポートOSバージョンを上げたとしてもサポート対象外のOSで使えないわけではない
打ち切られたOSであってもすぐに使えなくなるということはなく、AppStoreで対応していた最終版のアプリをDLもできます。
よって、サポートを打ち切られたバージョンの利用者が突如離脱につながる、ということはありません。
……前提のお話として、まずここまでプロダクトオーナーと認識を合わせました。
ここから具体的にどのラインを割ったらサポートを打ち切るかの交渉になるのですが、GameWithアプリでは以下のようにしました。
サポート打ち切りライン
iOS10はシェア3%を切ってからこの2ヶ月、2.5%〜2%前後で推移している。
バージョンアップに興味がない、したくない一部のユーザがずっと使い続けている状態であり、これ以下にはほとんど下がらないのでは?と推測できる。
よって今後も該当OSバージョンのシェアが3%未満 であればサポートを打ち切る。
……として、上記の内容でプロダクトオーナーと合意しました。
コミュニケーションコスト削減目的でもあるので、この数値を割ったらまずサポート打ち切る前提で話を進めることになります。
ユーザに告知する
サポートバージョン打ち切りはユーザの皆様にも理解していただかなくてはいけないので、きっちり告知をするところまで含めて行います。
まとめ
GameWithアプリではiOS10はこのようにしてサポート終了としました。
今後は交渉は特にせず、サポート終了をすることの確認と、ユーザへの告知記事作成だけで行ける想定です。
他のアプリでの交渉事例、シェア何%で打ち切るのかなども知りたいです!
もしよかったらコメントいただけると嬉しいです。
GameWithアプリチームでは一緒にアプリをよくしていく仲間を募集中です! 興味がありましたら以下からご連絡をいただけるとありがたいです。 www.wantedly.com
エンジニア公式ツイッターもはじめてます Tweets by gamewith_dev twitter.com