![]() |
| (Image from Shatterbox) |
- 訓練情緒智商(Emotional Intelligence)
- 釐清根本需求(Business of Customer, Be reasonable and realistic)
- 抓住程式設計精髓(Multi-paradigm programming)
- 專注易使用性及維護性 (Focuses on Usability and Maintainability)
- 測試是信賴基礎 (Don't Trust Code without Adequate Test)
- 關注設計模式及演算法 (Uses Design Patterns and Algorithms)
- 了解工具或操作工具 (Use and Know your Tools)
- 善用方法論及衡量指標 (Management Concepts and Key Metrics)
- 持續整合及重構 (Continuous Integration and Refactoring)
- 完成與完美的迷思 (Get things done than to be perfect)
- 以上兩點就如同我之前所寫的『與行銷做朋友的工程師』,身為一個開發人員,應該要去瞭解產品的最終目的、使用者的需求,不應該盲目的聽從上頭指派下來的任務而不去思考!一個失敗的產品通常都是上下溝通不良,導致設計出來的產品不被使用者所接受,因此身為開發人員的你,更需要多去思考,以減少這種情況發生。
而 Prototyping 是一個開發人員一開始就要做的事,它有助於釐清整個產品開發以及縮短產品開發週期,因此在正式寫程式之前,嘗試著用 Prototype 與客戶溝通、瞭解客戶需求、確認客戶目標,以避免開發出來的產品客戶無法接受等問題!
- 這點實在太重要了!常常聽人說「哪個語言很重要」、「要把這個語言學的很精」,但我個人卻不這麼認為,各種語言雖然寫法不同,但是設計邏輯是一樣的,每種語言被設計出來都有它的意義,因此應該要去瞭解每種語言的特性,針對產品需求去選擇最佳的語言撰寫才是!
- 最近科技產業趨勢已經從硬體進化成軟體,重點已經不再是硬體跑的有多快,而是你所開發出來的產品,使用者使用起來是否流暢、是否可以非常直覺的操作、不需要花費太多時間來學習,也就是所謂的 User Experience (UX),如此在介面上以及操作上的設計,以漸漸成為了最重要的指標。
- 這部分筆者尚未涉獵,無法多做說明。
- 設計模式及演算法應搭配產品需求及開發週期來考量,在開發週期的限制下,應該要讓產品盡量的去滿足消費者,然後再去追求效率。如果你花了相當長的時間,去改進了一個消費者不會感受到的地方,那麼這個效率的追求就是失敗的!但也並非完全不去追求效率,而是在有限的期間中,應該先把重點放在使用者上,之後再來改進一些細微的部份。
- 這部分筆者經驗不足,無法瞭解真實意義,但我想應該就是要善加利用工具,來提升整個開發品質。
- 這部分筆者也是因為經驗不足,無法給予更多解釋。
- 這個部份我想就不用多做解釋了,整合與重構有助於減少下一個產品的開發週期,或許這個步驟會消耗許多時間並且毫無產出,但是以長久來看,絕對是一個好的投資!除非每個產品的關聯性為零。
- 這點筆者也相當認同,『世界上永遠沒有完美的事,唯一完美的,就是接受了那不完美』,與其花費相當長的時間去找一個完美的方法去解決問題,還不如在有限時間中,滿足使用者的需求,儘管有不完美的地方,但是只要使用者接受,在這個時間點上,這就是一個完美!
- 這個部分以 iPhone 為例最為不過了,儘管 iPhone 有許多不如其它廠牌手機的地方,但是對於大部分使用者來說,iPhone 都滿足了他,因此在這個時間點上,iPhone 的產品就是完美!
- 或許你要說還是有使用者不滿意 iPhone,而這就是迷思,『你無法滿足世界上的每一個人,你只要專注於你那 80% 的目標消費者就可以了』,有興趣可以參考 Jamie 寫的這篇『你不需要討好每一個人』。

沒有留言:
張貼留言