iT邦幫忙

DAY 5
5

職場人生觀系列 第 5

誰是使用者?

  • 分享至 

  • xImage
  •  

許多時候面對使用者的需求,總有難以應付的時候,尤其是面對著非資訊相關背景或對資訊一點念都不懂的人,就會有這樣的感嘆,但應該如此就把使用者的需求給忽視掉了嗎?亦或需要滿足每一個需求?這都是需要好好的被思考的一部分。
在前篇文章【資訊人員該學的專業】中曾經提到我在某一醫學中心的工作環境,其實在哪邊的日子裡只要不要碰到開會,通常都還是過著不錯的日子的,那段時間也是我程式設計功力成長最快的日子,由於在哪邊就我一個資訊人員,除了開發系統外,還要處理統計資料的匯出、統計資料的整理與分析、電腦故障的排除、甚至連接投影機都是資訊人員的工作,所以瑣事還算不少,因此寫程式僅佔所有工作時間的60%而已,加上前人所撰寫的程式無法滿足快速成長的組織,所以只好重起爐灶,重新開發新的系統,以滿足需求。
由於撰寫的是網頁程式,所以採用了ASP.NET來應付,雖然不是第一次寫網頁程式,不過大概是因為我在資訊業的資歷不深吧,第一次看過1、200個使用者控制項在同一個頁面上出現的。
因為使用者說:「希望把所有的資訊都顯示在同一頁上,但是沒有資料的內容就不要出現了。」
第一個直覺的想法就是用ASP.NET + JavaScript來解決這個問題,於是UI設計完成了。
使用者又說:「我已經在醫院的系統裡輸入了很多資料,所以頁面上的資料請從醫院的HIS或LIS來取得,只要輸入病歷號,資料就應該幫我填得差不多。」
殊不知資料來源來自四、五個不同的系統資料源頭除了SQL Server、Tendon、Oracle、MySQL,除了判斷資料是否存在,還要判斷資料是否是最新的,好不容易花了時間解決的這些個問題後。
使用者再度說了:「頁面上的某些欄位填寫後,應該要根據某某規則或指引的條件,填寫其他欄位,不要讓我花這麼多時間來解決這個問題。」
於是又加入了後端的程式庫做判斷,然後把規則寫成了一個個的Method去呼叫,因為這些規則與指引是醫生或者醫院內的核心技術所以不能公開寫成JavaScript。
結果使用者又說了:「我每次填某一個欄位後畫面就會閃一次可不可以不要讓他閃阿?」
所以呢?聰明的你一定猜到,沒錯我用了ASP.NET的AJAX讓畫面不要在呼叫Method讓畫面閃爍,也就是Postback時不要reload頁面。結果光畫面載入就要花近5分鐘,因為有1、200個控制項要處理。唉~~接下來不用使用者說我也知道,這樣的Solution一定沒有辦法解決這個問題,所以經過Survey與Research採用了JQuery來解決這樣的問題,因此在短短的幾個月內搞懂了一堆相關的技術,有時候想想還真的蠻感謝使用者的。
到了最後要離職了,我把這些經過反覆嘗試的結果交接給一個來自於專業軟體公司的並有3年以上資歷的工程師,他居然告訴我這樣的程式碼,他無法了解,因為用ASP.NET的AJAX就可以解決的問題,為甚麼還要學什麼JQuery,慢就慢,反正程式能動就好了。當下我也微微笑的不置可否。
或許她說的對,我應該告訴使用者當你提出這些需求的結果累積出來的就是這樣的效能,所謂"各人造業各人擔",但我卻選擇順從使用者的需求,甚至站在使用者的需求來思考,因為當我設計出來的系統沒人要用,哪當初就不需要設計這個系統。就好像常常在笑"Windows鍵盤上必定會有的三個按鍵"的笑話一樣,如果當系統的被取代性高相對價值就不高,可是Windows的被取代性不高(就台灣而言),所以即便留下如此的笑話還是會有人用,但我相信沒有人可以寫出這麼取代性不高的系統,所以目標應該是提高使用者的使用意願,而不是只以程式設計師的角度去看,撰寫程式除了功能性外,使用者介面友善度應該也是需要被重視的課題之一,否則對使用者來說,即便達到了功能性需求,系統不好用也是Bug的一種。

部落格-同場加映


上一篇
資訊人員該學的專業
下一篇
資訊不是包山包海...
系列文
職場人生觀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言