天天看點

帶你讀《SAS資料分析開發之道 軟體品質的次元》第一章概覽1.1引言(二)

終端使用者開發

許多終端使用者開發人員可能都不會把自己看作是軟體開發人員,我在美國退伍軍    人管理局精神科工作時第一次接觸到    SAS,我的老師都是心理學家、精神病理學家、統計學家及其他研究人員。我們接診病人,記錄并輸入資料,編寫和維護我們自己 的軟體,分析臨床試驗資料,就各種精神病主題展開調查并發表論文。盡管我們中一    半以上的人都進行過多種形式的資料分析,但我們中并沒有一位真正意義上的“程式     員”。然而,由于我們首先是醫生,其次才是研究人員,是以,對許多人來說,把自      己看作是軟體開發人員的想法聽起來非常奇怪。

實際上,這種身份認同危機正是我用“SAS從業人員”來代替專業人員稱呼的原因,專業人員使用 BaseSAS語言開發軟體,而我們這些人中大部分都認為自己隻是“客串”軟體開發人員(盡管我們可能會建立許多   SAS    軟體)。本書代表着我們向前邁出了一步,逐漸接受自己作為軟體開發人員的角色——無論大小。

終端使用者開發人員最大的優點是幫助行業專家設計軟體——行業專家了解最終的   項目意圖及資料。精神病醫生不需要媒介來輔助傳達技術性概念,因為他們自己就能    建立軟體。同時,商業分析專員也不需要向開發人員傳達終端商業需求及軟體意圖,    因為開發人員就是精神病醫生——是行業内的專家。由于終端使用者開發人員同時具備    行業知識及技術能力,是以,無須商業分析員或其他經紀人,他們就能夠迅速實施技    術性解決方案滿足企業需求。

相比之下,傳統的軟體開發環境通常有一個“行業知識劃分”,在這一部分,我們必須要向軟體開發人員說明進階項目意圖及需求(開發人員缺乏行業專業知識),同時又必須要向客戶解釋軟體的技術資訊(客戶缺乏計算機科學或軟體開發方面的技    術性專業知識)。随着時間的推移,利益相關人員就需要擴充自己的工作角色,擴充      自己的知識,但如果操作不當,行業知識劃分可能會導緻交流障礙、軟體意圖或需求    的錯誤解讀,造成軟體功能較少或品質較低。在這些環境中,商業分析人員和其他經    紀人具有非常重要的作用,他們能夠確定行業知識、項目需求及目标和技術需求之間    的順暢交流。

傳統的軟體開發環境在某些方面的表現确實要優于終端使用者環境。由于傳統環境中的開發人員本身就是軟體開發人員,是以,他們更有可能會接受軟體設計、計算機技術、系統管理或其他技術領域方面的教育和教育訓練。但終端使用者開發人員(如臨床醫生或精神病理學家)可能缺乏相關的計算機專業知識來繼續後續的工作,是以,他們可能想獲得機會去學習軟體開發的相關知識。例如,我在美國榮民管理局精神科工作時,接受的教育訓練都是與病人護理、精神病學、隐私規則或其他一些醫學重點學科相關的知識。我們閱讀并撰寫與精神病話題相關的刊物——但從來不會涉及軟體開發的相關知識。

由于需要掌握較多的行業專業知識,并參加相關的教育和教育訓練,是以,終端使用者開發人員不大可能去使用軟體開發領域已建立的最佳實踐(而且在某些情況下,可能完全不了解最佳實踐),如對軟體開發生命周期(SDLC)的依賴、靈活(Agile)開發方法及性能要求——如國際标準化組織(ISO)軟體産品品質模型中提到的那些性   能要求。是以,與傳統軟體開發人員相比,在軟體開發最佳實踐及軟體開發環境中所提及的最佳實踐方面,終端使用者開發人員處于相對劣勢。

為了克服終端使用者開發環境内在的弱點,在該環境中操作的 SAS從業人員應該參加軟體開發的學習與教育訓練,完成自己的軟體開發任務。回首自己在榮民管理局    精神科工作并建立出一些品質還算不錯的軟體時,如果我當時讀過一些精神疾病診斷    與統計手冊(DSM)的案例研究,并多讀一些 SAS 白皮書和計算機科學方面的圖書, 那麼我的技能(以及軟體技能)會有很大提升。

繼續閱讀