使いやすいヒューマンインタフェイスをデザインするためには、まずはそのソフトウェアが実現すべき機能をすべて洗い出す必要があります。そして、それらの機能の関連をどのように捉えるかによって、ヒューマンインタフェイスをどのようにデザインすべきかが決まってくるのです。
ですから本来、機能が固まらないうちに画面の設計を始めるなどということは論外なわけです。しかしながら実際には一部の仕様が確定しないまま開発を先行させる必要がある場合もあります。
その場合、2つのやり方が考えられます。1つは、どのような機能が盛り込まれる予定かを意識して、それも機能の関連に含めてデザインするやり方。もう1つは、仕様の決まっている機能のみを元にデザインするけれども、拡張に対して柔軟性を確保しておくやり方。
確定していない部分がある程度見えてきているのであれば前者の方法を採ればよいでしょう。仕様が非常に流動的であるのであれば、確定部分だけでもとにかく形にできる後者の方法を採るしかありません。
機能をすべて洗い出したら、それらをグルーピングしていきます。どのような視点から機能をカテゴライズしていくかによって、複数の案が出てくると思います。今回必要な機能のうちメインとなるのは何か、といった観点から一つの案に絞っていきます。この時にはKJ法などのように、各機能をカード化して、それを並べながら検討していくといった手法を用いてもよいでしょう。
(ここに記号論的手法を入れてみたい)