程序員們發現老板對他們手頭的很多工作都沒啥概念 ,對軟件開發來說,他們真得不該多上上心嗎?
正如小嘉說的,但即使是最出色的老板,似乎也常常總是不能理解軟件開發。聽起來熟悉不?
如小嘉所提到的,管理層和其它非技術人員常常理解不了一件事,提高產量將不可避免的導致低質,從而導致技術債務的加劇。
確保你沒有殺雞取卵,你需要明白這一點。根據《高效能人士的七個習慣》作者 Steven R. Covey 的觀點,這意味著要在產量和產能之間保持平衡。
2. 估算工期毫無意義
最近關于預估是否有用的討論非常激烈。小嘉認為預估超過 2 小時就沒意義了。事情就是這樣,每個項目都充滿著各種未知,各種意外讓你防不勝防。
如果領導非要堅持估算工期,小嘉建議開發者要么說服他們別做傻事;要么把任務分解到足夠小,只對短期做預估。
這 也算是個老掉牙的故事了 – 一個老板給員工分配了一大堆工作然后告訴他們迅速做完。結果幾乎毫無例外地像擲骰子一樣。 因為很多程序員重壓之下選擇走捷徑,最終導致質量下降。這個就是所謂的“代碼牛仔”;飛速地完成工作, 卻將代碼寫得亂七八糟,之后讓其他人幫他擦屁股。
小嘉給程序員們分享了一個非常棒的小貼士來應對這句“你可以做得又快又好”:最好拿出一些統計數據,以說明后期修復 bug ,比前期預防要耗費更高的成本。
有些程序員對團隊的拖累超過其貢獻,小嘉提到,這些人寫的每行代碼,非但沒解決問題,反倒是制造問題。但誰會對自己的同事打小報告呢?意識到了這點,不過,小嘉還是堅持認為如果團隊中有害蟲,這么做是解決問題的唯一辦法, 盡管這么做會很難。
小嘉認為,如果你不去舉報這種顯而易見的錯誤,那么你就不稱職了。
一臺 5 年高齡的電腦,沒有第二個顯示器… 小嘉聽到太多程序員抱怨他們摳門的老板不愿意掏錢升級設備。與大多數高于平均水平的程序員工資對比,新設備的開銷幾乎可以忽略,這是一種能迅速收回成本的投資。
即使一個開發者使用新設備后僅將每天的工作效率提升了半個小時,硬件也是個不錯的投資。不過,小嘉說到,很多時候, 你能做的要么想盡辦法說服老板升級設備,要么換份有精明領導的工作。
早期的時候,項目經理認為框架應該少升級是合理的,那時候開源框架還很少并且一旦公司放棄支持,你就進退兩難了。 現如今的很多框架,基本上每天都會對代碼打補丁,而且這些框架多數都是開源的。
其實,今天固守成見的使用舊技術風險反而更大,使用框架或老舊版本的庫很可能導致一些系統漏洞。轉變思路往往更明智。
這個觀點肯能有些爭議,但 小嘉堅信業務分析和項目管理毫無價值。前者是多余的,因為開發人員與客戶直接溝通對雙方都更有益。如果你們是做敏捷開發的,后者則常常成為絆腳石。
如何讓老板意識到這一點?你需要清晰的定義敏捷團隊如何運作及需要哪些角色。