|
システム開発においてはできる限り単純でシンプルなシステムにした方が良いです。
単純明快なシステムであれば、次のようなメリットがあります。
(1)理解が容易であり、部外者にも判り易い。そのため、利用者や支援者を
増やし、稼動率を上げ、業務に貢献できる。
(2)機能の独立性が高く、追加拡張が容易である。
(3)他のシステムとのインタフェースが簡潔であるので、
外部要因の影響を受けにくい。
誰も進んで複雑怪奇なシステムを作ろうとは思わないでしょう。
でも、できあがったシステムは訳の判らないシステムになっていた、
ということが良く起こります。
それはなぜでしょう。
原因としては次のようなことがあると思います。
(1)システム間の連係が当初想定していたより困難であった。
(2)新規開発ではなく既存システムを改造のため複雑になった。
(3)意見調整が難航して仕様が肥大化した。
関係者が多いとか、ユーザの意見が二転三転したなど。
(4)一面的な方向でしか検討されていなかったため、もう一方の視点から
見ると矛盾が多い仕様になってしまった。
これらの原因別に回避する方法を考えます。
回避策:
(1)システム間連係の複雑さ
この場合、よく相手システムをブラックボックス化し、インタフェースを
橋渡しするモジュールを設けることがあります。しかし安易に仕様を
決めると、ブラックボックスのつもりがむしろ逆になることがあります。
内部の仕様を想像しながら、新しいインタフェースにマッピングして
使うという本末転倒したことに陥る可能性があります。
むしろ真正面から取組み、改定できる所は直し、無理な所は仕様を明確化
し、新プログラムで正式にサポートする方が、遠回りのようでも、
稼動後は安定します。
(2)既存システムの改造
既存部分の複雑な所もできるだけ改修することが基本です。
できない箇所は仕様を明確にし、文書化して残すようにします。
前項と同じように不用意にブラックボックス化すると、あとで苦労
します。
(3)意見調整が難航
プロジェクト管理の失敗が一番の理由です。特に初期のうちに
メンバー間で、プロジェクトの目的や狙いをきちんと合意していなかった
ときに陥りやすい。あるいは途中から参加したメンバーに、いわゆる声の
大きい、我を通す人がいると起こりやすいです。
もう一度、目的や狙いにたち戻って整理しましょう。
当初の目的から外れた仕様は思い切って削除するか、次ステップへ
回しましょう。
納期を考慮して、割り切って仕様を絞ることがプロジェクト管理では
一番重要なことです。
(4)一面的な検討
技術面に強いプロジェクトリーダにありがちなのが、作る立場でしか
考えないで仕様を決めてしまうことです。ユーザあってのシステムなのに
ユーザが見えないまま、あるいはユーザを無視してシステムを作ると、
ユーザにとって複雑でわかりにくいシステムとなります。
特にGUIなどのユーザインタフェースでは十分考慮することです。
わかりやすいユーザインタフェース
ユーザにとってわかりやすいシステムとはどのようなシステム
でしょうか?
・アクションに対して必ず何らかの応答がある。
・システムの状態遷移が少ない。(モードが少ない)
・クイックに反応する。
・対象(オブジェクト)の種類と、その操作(メソッド)の種類が
直交的である。つまり、
複数の対象に対して一様の操作ができる。
複数の操作が一つの対象に対して行える。
・操作のやり方、反応が統一されており一貫性がある。
・操作や対象が覚えやすい。
・反応(メッセージ)が理解しやすく、後処理に役立つ。
・情報が一覧できる。
・見たい情報が強調されている。
・情報が整理され、紛らわしくない。
|