開發(fā)者,別讓任何人綁架你的工作節(jié)奏
對于開發(fā)者來說,滿足用戶需求和堅(jiān)持自己的產(chǎn)品理念是不是沖突的?
微博上關(guān)于喬布斯“去你麻痹,滾你麻痹,愛買不買!”的段子流傳甚廣。
本文提出了自己的觀點(diǎn):聽取用戶意見,但要自己掌控整個(gè)工作的節(jié)奏、目標(biāo)和流程。

作為一個(gè)軟件開發(fā)者,你的工作內(nèi)容遠(yuǎn)遠(yuǎn)不止寫代碼。
還有一些是你職責(zé)范圍內(nèi)的事:
- 預(yù)估工作周期
- 理解你沒寫過的軟件的功能
- 把復(fù)雜的問題簡單化
- 把復(fù)雜的問題分解成若干個(gè)小問題
- 調(diào)整代碼,為迭代預(yù)留空間
- 發(fā)現(xiàn)并修復(fù)漏洞
上述問題與其他成員協(xié)作完成
如果你直接和你的用戶交互,還有更多的建議:
- 把用戶需求翻譯成改進(jìn)計(jì)劃;
- 深入淺出,把復(fù)雜的意思用簡單的方式向用戶傳達(dá);
明晰每一個(gè)尚待解決的問題
但是在這些職責(zé)之上,最重要的是在了解目標(biāo)用戶的基礎(chǔ)上設(shè)定目標(biāo)。
設(shè)定目標(biāo)的意思是對工作的節(jié)奏和流程保持始終的掌控力,保證你的工作可以進(jìn)行下去。這意味著要做風(fēng)險(xiǎn)預(yù)計(jì),并讓用戶知曉潛在風(fēng)險(xiǎn),不至于風(fēng)險(xiǎn)降臨時(shí)措手不及,這就需要設(shè)定一系列的規(guī)則和流程。
如果方法得當(dāng),有沒有設(shè)定目標(biāo)在某些情況下可以造成煎熬和享受工作兩種截然不同的結(jié)果。

作為一個(gè)開發(fā)者,你就是一個(gè)工匠,可以使用任何的工具去創(chuàng)造,不能讓別人的期望凌駕于你的創(chuàng)作自由之上。
你必須自主把控這個(gè)創(chuàng)造的流程。
如果你讓用戶的意志凌駕于你的創(chuàng)造之上,很可能會有以下結(jié)果:
- 你的用戶會“認(rèn)為”應(yīng)該什么時(shí)候可以完成工作,那時(shí)候你可能只能拿出半成品,無法滿足用戶預(yù)期;
- 如果你的工作沒有按照用戶預(yù)期的時(shí)間節(jié)點(diǎn)走,他們就會覺得沮喪,喪失信心;
- 用戶的預(yù)期會迫使你做一些你自己并不認(rèn)同的東西 。
當(dāng)然,最理想的情況是用戶會尊重你每一次設(shè)定的目標(biāo),但這種情況可遇不可求。
總之無論何時(shí)記住:在軟件開發(fā)的過程中,你才是那個(gè)決定什么時(shí)候達(dá)到什么目標(biāo)的人。
