Help us understand the problem. What is going on with this article?

機能追加しても手数を増やさないでよね

More than 1 year has passed since last update.

プログラムをリリースした後、機能を追加することはよくあります。
機能追加するとどうしてもプログラムは大きく複雑になり、場合によってはユーザーの操作も増えてしまいます。
ここでは、手数という観点で、ユーザーを困らせない考え方を紹介します。

手数

ユーザーが何かの目的で機器やソフトウェアを操作する場合に、ユーザーが操作する数を手数とここでは呼ぶことにします。(ステップ数と呼ぶと意味が異なり混乱するのでやめます)

手数は、プログラムに機能を追加するとどうしても増やさざるを得ない状況に直面します。
その場合、プログラムの改修のしやすさの視点で追加してしまわず、

最小の手数を増やさない

ということを考えてみましょう。
”一番シンプルな操作をするケースでの手数を増やさないでよね"ということです。
ポイントは 最小の です。機能を追加しても、その追加機能を使わないユーザーにとっては、手数が増えてほしくないわけです。

券売機の例

例えば、電車の券売機で切符を買う場合の手数を考えます。一番シンプルなケースとして、現金で大人1人分の切符を購入することにします。
その場合の手順は、

1. お金を入れる
2. 行き先ボタンを押す
3. 切符を受け取る(お釣りがあればお釣りも)

となるので、手数はとなります。

最近の券売機は、

  • 大人1人と子供1人のまとめ買い
  • 回数券を購入する機能
  • 電子マネーにチャージする機能

等々、機能がどんどんと増えていますが、一番シンプルに購入するケースでは、

1. お金を入れる
2. 行き先ボタンを押す
3. 切符を受け取る(お釣りがあればお釣りも)

を崩さずに維持すべきです。これが

1. 画面の「切符を買う」「チャージする」の2つのボタンから、「切符を買う」のボタンを押す
2. お金を入れる
3. 行き先ボタンを押す
4. 切符を受け取る(お釣りがあればお釣りも)

のように手数が増えてしまうと、ユーザーの手間が増えて残念です。

携帯電話の例

手数という点では、電話機は優秀です。
黒電話も、コードレス電話も、携帯電話も、電話を掛けるときの手数はです。

1. 受話器を上げる
2. 電話番号を押す
1. 充電器から電話機を持ち上げる
2. 電話番号を押す
1. 携帯電話の通話ボタンを押す
2. 電話番号を押す (1と2は逆でも可)

スマホの登場で電話の機能がアプリとなったため、手数が1増えましたが、これはやむを得ない増加と言えます。原則、増やさないように考えた結果かどうかが大事です。

1. 電話アプリを起動する
2. 電話番号を押す
3. 発信ボタンを押す

プログラムの良い改修と悪い改修

良い改修

  • 見た目や動作を変えない(新機能に気づいてもらえなくてもよい!ぐらいの気持ちで)
  • バージョンアップ後の初回起動時のみ、新機能をさりげなくアピール(最小の操作を邪魔しない程度に留める)
  • 見た目を少しだけ変える(最小の操作に影響が無い範囲で!)
  • 逆に最小の手数を減らせるか考えてみる(分かりにくくならないように注意が必要)

悪い改修

  • 「従来の機能」と「追加機能」を選択させるダイアログを最初に強制表示する
  • 従来の機能を別の場所に移動する(従来の手順が分からなくなる)
  • バージョンアップ後の初回起動時のみ、追加機能のチュートリアルを強制的に開始する

悪い改修に陥らないために

開発者にしてはユーザーに新しい機能を使って欲しいと考える気持ちはよく分かりますが、下手に新機能をアピールすると、ユーザーの反感を買い、そのプログラムが搭載されたパッケージ・製品そのものも嫌いになってしまいます。
ユーザーの手数が増加するのは極力避けて、ユーザーを困らせないようにしましょう。

参考

複雑さと前提条件が増えすぎるとメンテナンス不能になる。

hayayu0
フロントエンドかバックエンドかで言うと、バックエンドに住んでます。 インフラかアプリかで言うと、インフラ側に住んでます。 物理的なロケーションでは日本の西側に住んでいます。 バックエンド・インフラエンジニアも、先進Webテクノロジーを使った今風なWebアプリケーションでインフラ管理やろうぜ!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away