読者です 読者をやめる 読者になる 読者になる

@niwakk7 iPhoneアプリ作っていますよ

iPhoneアプリ作ってます。調べたことを、ゆるく残していきます。

アプリをシンプルにつくったほうがいい、技術的な7個の理由。

iOSプログラミング

アプリをシンプルに作ったほうがよい理由は、ほとんど語り尽くされている。だが、技術的な理由はあまり語られていないかも。ということで、その技術的な視点からの、アプリをシンプルに作ったほうがいい理由をいくつか考えてみた。

開発工数が減る。

これは当然であり、誰もが思うかもしれない。機能を最小限にとどめれば、その分やることも減る。大切なのは、"それだけではない"ことを意識すること。

テスト工数が減る。

機能を減らせば、その分テストしなくてよくなる。また、テストはプログラムテストからユーザテストまでさまざまなものがあり、それを実行する人が複数人いる場合も多々ある。すべてのテスト工数を考えると、機能を減らすことがどれくらいのテスト工数を減らすことにつながるかが想像がつく。

運用工数が減る。

追加した機能は、当然ユーザさんのフィードバックを受け、それにちゃんと答えなくてはいけない義務が発生する。なんとなくつけた機能がそのアプリの本質とずれているにも関わらずいがいと使われたりする。そしてそこにバグが発生したり、要望が来たりするとそれに答えるコストが発生する。だったら最初から加えないほうがいい。

バグが発生するリスクが減る。

一つ上と少し似ているが、機能を追加すると当然その部分のバグが発生するリスクが出てくる。ましてや、その部分のプログラムが他の部分と密結合になっていたりすると、他にもバグが拡大する恐れがある。だったら最初からないほうがいいよね。

その部分を横展開したときのリスクが減る。

このアプリ結構DLされたから、横展開して○○アプリをつくろう!というのは、誰もが考える。しかし、これはリスクも横展開することになる。あるアプリでバグが出たとき、"あー、あのアプリもそういえばなおさなきゃいけないわー"ってなったとき、悲しいよね。

全体設計がシンプルになる。

考えることが減るので、全体設計もシンプルになる。全体が分かりやすくなり、ミスも減るし他の人の手も入れやすくなる。もちろん、設計だけではなく製造(プログラミング)もしやすくなる。機能追加すると、途中から設計のしなおしが入り、無理な設計になることがある。それが増えると、なんだがよくわからない設計になって、気がついたら納期が目の前とかよくある。

気持ちよい

上のこともふまえて、安全がプログラムができると気持ちよい。精神衛生上絶対にいい。もう手をいれるのすらはばかれるプログラムとかたまにあるけど、これは元をたどるとモリモリ機能アプリである場合が多い。

アプリをシンプルにつくったほうがいい理由を7つほどあげてみた。書いている間に気がついたのだが、以下のように考えている人、いがいに多いと思う。

開発工数 < 売り上げ

これは、ダメ。

正しいのは以下。

上記の全ての工数 < 売り上げ

厄介なのは、この工数のどれだけがが、未来に不規則に発生するかもしれないこと。
いずれにせよ、これはアプリをシンプルにすることで実現することができる。

アプリをシンプルにすることが技術的なリスクを減らし、工数を減らし、みんなを幸せにすることにつながることがわかる。