我是株式会社PRUM 的 masa。
這次要分享的是「程式初學者容易忽略的、觀察產品的幾個視角」。
剛開始面對眼前的程式,體驗純粹的程式設計樂趣與苦惱是很重要的。
但我也認為,能夠以更高的視座來看產品,對提升產品品質以及未來提升自身市場價值也很重要。
這次針對希望進入 IT 業界開發現場、正在學習的程式初學者,整理了我的知識和各要點的簡短建議。若有興趣的話,歡迎閱讀。
第一個是從需求的視角來看系統。
客戶所要求的需求大致上可分為 功能需求 與 非功能需求。
功能需求比較容易理解,也較容易想像如何實作,但非功能需求對程式初學者來說較難具像化。
沒有太多 IT 知見的客戶也是同樣的情形。很多客戶會提出功能需求,但往往不會意識到或無法描述非功能需求,甚至有些客戶會理所當然地認為這些非功能性的表現是應該存在的。
實際上,許多重大事故的原因正是因為這些「非功能需求」沒確認清楚或要求不夠明確。
因此,不只要注意功能需求,也要對非功能需求有足夠的意識,能檢查需求是否有遺漏,這點很重要。
若具備下列能力,就能比較不漏掉非功能需求,朝能做出讓客戶滿意產品的工程師更接近:
給初學者的建議
日常使用的服務養成「為什麼?」的習慣
平常使用的社群平台或購物網站,試著想像「為什麼會這麼流暢?」「為什麼在流量大量集中時不會當掉?」。
例如,
這個載入速度是因為用了快取嗎?
這個錯誤畫面的設計是在避免讓使用者感到不安嗎?
以工程師視角觀察的習慣,能幫助你找出不會遺漏的需求。
前一節的「需求」是從單一系統的視角來看,這裡介紹一個更高層次的視角。
在實務上,有一種把系統依「變化的節奏」來分類的方法。
其中代表性的概念是由 Gartner 提出的「Pace-Layered」(節奏分層)思考法。
SoR (System of Record):
「記錄型系統」。像會計或人事管理等,以 正確性為首要。在這類系統中,比起「漂亮的 UI」,更需要「不會出錯、穩健且效率高的設計」。
SoD (System of Differentiation):
「差異化系統」。用以支撐企業獨有的商業流程或優勢。不是業界標準,而是能產生與競爭對手差異的獨特邏輯。
SoI (System of Innovation):
「創新系統」。為測試新商業模式或點子而存在的、實驗性系統。
了解這種分類後,從系統的目的與未來藍圖就較容易想像適合的開發節奏,也能更容易對目前正在撰寫的產品預想出現場所需的開發速度感。
這是一個因為在 SoR 系統上做了與目的不符的改動,而導致失敗的例子。
給初學者的建議
想像自己現在寫的程式是屬於「絕對不能出錯的類型(SoR)」,還是「要讓使用者感到興奮、挑戰性的產品(SoI)」。從這個角度去看,就能較容易想像市面上同類產品的開發節奏。
把系統具體化的是我們這些工程師。技術只是手段而已。帶著「為了什麼而使用它」的目的意識,程式設計就會變成創造更好未來的工作。
我也是從無經驗開始,剛開始時犯了很多錯。但一步步帶著「為什麼?」去懷疑、踏實地理解,才有現在的我。真心支持所有從零開始、正在挑戰的未經驗者與初學者們!
PRUM 的工程師中有超過 95% 是從未經驗採用的。
若想的話也歡迎來公司網站看看。
▶ 企業網站
我們也經營一個整理對工程師有幫助文章的網站。如果有興趣也歡迎去看看。
▶ 對工程師有幫助的文章網站