jim yeh on 八月 7th, 2008

最近有位程式開發者 P 君展示他所開發的系統功能,那是供使用者維護代碼的操作界面。由於之前原程式開發者認為按照規格不容易做到,因此委由另一位程式設計師改用折衷的設計方式,希望能夠同時達到使用者便於操作及容易開發兩個目的。

系統操作界面總共只有三個欄位,同時考慮到使用者操作的便利性,因此我將此界面規格設計為可直接修改顯示在資料清單上的資料、並在刪除時提供勾選的方式讓使用者可進行多筆資料刪除;而在新增資料方面,我認為使用者會需要看到清單上的資料,因此設計直接在清單底端直接輸人新增資料。

但這樣的設計,原先負責開發的 D 君認為開發困難度較高。因此專案經理就與我討論可否折衷一下,請另一位開發者P君改用既能滿足輸入資料與顯示清單在同一個畫面,又能降低開發的困難度。我認為如果能夠做到那當然很好,但強調必須符合可用性的需求;也就是為了操作簡便,必須要能夠讓使用者同時修改或刪除整批資料。

然而,當同人看到 P 君展示的系統時,卻發現他所開發出的軟體,不但無法完全達到我先前所提到的需求,而且還有無法符合可靠性需求的問題。P 君把新增、修改及刪除的功能放在資料輸入的表單中,卻為了同時容納這三個功能的需要,讓每個欄位都可讓使用者輸入。顯然,這是個粗糙的設計。因為這讓使用者有可能在修改或刪除資料時,改動到他不該更動的欄位而使系統產生難以預料的問題。

同人對這樣的設計實在感到不可思議,但 P 君與負責系統設計的 J 君卻認為這樣的設計很合理。我告訴他們以系統分析師的觀點來看,是不可能接受這樣的設計的。因為我很清楚,使用者是不會認為這樣的設計是合理的,而是會認為怎麼會那麼不專業,設計出這種「笨」系統。

如果使用者在修改資料或刪除時,因為無意或無知,改動到他不該改動的欄位,因而讓系統發生使用者無法預期的結果,難道系統開發者不該避免這樣的錯誤嗎?

這些技術人員可能是認為不用考慮那些意外狀況,那是使用者的問題;但以資訊時代的 PAPA 四大倫理議題[1]的正確性(accuracy)來看,設計、操作及管理資訊系統應確保資訊的正確性、真實性及可靠性。

因此除了軟體功能之外,開發者還必須兼顧性能的設計,其中當然包括兼顧操作的人性化需求外,還必須思考如何減少因為設計不良而造成操作錯誤的機會。

同人常聽到開發者常以「那很麻煩」(但還是可以做到吧)、那樣設計很複雜(操作失誤的異常處理就不複雜?)來推託。其實這樣的理由只是告訴我,開發者不願意多想一步,以發展出更容易使用與可靠性的系統,只要可以用就好了嘛!這讓我想到在電視上聽到歌唱比賽評審的講評:「專業與不專業就是只差那麼一點!」真是至理明言呀。

所以,軟體設計專業不是將技術當做孤芳自賞的藝術,而是需要同理使用者心聲的理性。否則開發者在期待使用者要同樣用技術來看問題時,卻只能得到使用者認為系統「它抓不住我」的埋怨。

其實那也只能怪開發者不懂得「永遠為使用者多設想一步」的設計專業,使用者並不是傻瓜,但聰明的設計卻是會連傻瓜也不會弄錯的。因為就算使用者是傻瓜,也有聰明的設計幫忙引路,這正是「他傻瓜,我聰明」的道理呀。



附註  
  1. Mason, Richard O.,(1986) “ Four Ethical Issues of the Information Age.” MIS Quarterly, Vol 10., No. 1, March 1986, pp. 4-12.[]
     

One Response to “可用性與可靠性的設計考量”

  1. Gisselle 說道:

    It’s a pleasure to find such raaotnility in an answer. Welcome to the debate.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">