2014年3月21日金曜日

ソフトウェア開発者には想像力が重要

今進めてるプロジェクトで、開発中のソフトウェアを実際に使う人を何パターンか用意して実際に利用するシーンを書く、ということをやっております。これはシナリオづくりってやつです。利用者像という意味ではペルソナって用語もありますね。まあ、年齢とか家族構成みたいな細かい部分までは考えませんけど、ざっくりおおまかなイメージは作ります。

画面の構成やユーザインタフェースの詳細をこれから作っていくにあたり、どういう人がどういうシーンで、どういう心境で使うのか、といったことを想定するのはソフトウェア設計の初期段階において非常に大事です。この使用シーンを文書化して仕様書の一部に盛り込む手法は業界のベテラン開発者も提唱しており、今回僕もそれに倣って、仕様書の一部としてシナリオを盛り込むことにしたわけです。

さて本題ですけれども、ソフトウェア開発者はプログラミングさえできればいいわけでは勿論ありません。上で述べたように、自分が開発しているソフトウェアがどのような人達にどういうシーンで使われるのか、想像力を駆使しなければ良いソフトウェアが開発できません。

そういえば、昔ながらのウォーターフォール型開発においては、設計部分とプログラミング部分が分離しており、ともすればそれらが別々の人間、あるいは別々の会社で行われることも多々あるように思います。僕自身もそのようなプロジェクトに携わった経験もあります。しかし、今現在は設計もプログラミングもどちらも行う状況にあります。要するに、プログラミングの工程になったら仕様通りに作ればいいとか言う話では全くなく、プログラムの実装中であっても、ユーザビリティを常に考慮して細かい仕様を変更できるし、すべきだということなのです。

このボタンの位置はもっと右にあると押しやすいとか、あるいは後戻りできない決定のボタンだから逆に押し間違い防止のためあえて押しにくい位置にするとか、選択肢の順序を入れ替えて最も選ばれる頻度の高い選択肢を選びやすくするとか、そもそも本来次の画面での入力項目だったが、よく検討してみたらその前の画面で入力できたほうが分かりやすいから移動するとか、もう色々様々ありとあらゆる細か〜い仕様を使い手の視点に立って最適化しなければいけません。だから、想像力が重要なのです。

このような状況は僕自身については今後も続くと思いますし、業界全体としても、設計からプログラミングを同じ人間、同じチームが行う状況はますます多くなっていくでしょう。そうなると、ソフトウェア開発者全てにおいてやはり想像力の重要性はもっと高くなっていくと言うべきでしょう。

※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうぞ。

0 件のコメント:

コメントを投稿