游戲中的“戰爭黑霧”和現實中的程序員處境

jopen 9年前發布 | 5K 次閱讀 程序員

當還是個少年的時候,我記得經常會玩一些即時戰略游戲像X-COM, Civilization, 紅警之類的。

這些游戲使用一種被稱作“戰爭迷霧”的機制。當玩家開始游戲的時候,他們被籠罩在一片黑暗中,而地圖隱藏其中。唯一可以看到你周遭情形的方法就是探索。當你移動的時候,越來越多的地圖就會展開在你面前。

這將玩家置于一種策略上的不利之處:他們不能看到附近的危險,障礙或者機會。每次成功的前進都需要一點兒運氣。

這種場景是不是聽著很熟悉?

“戰爭迷霧”是對當前程序員被要求工作情形的一個極好的比喻。他們被置于一個項目中,被要求完成某一特定模塊的代碼,但是他們對于這個任務之外的事情一無所知。

對程序員來說,看到“完整的游戲地圖”是非常重要的。對全局清楚地認識可以幫助他們做出更好的決定。這里列出一些他們可能會問的問題:

  • 1. 我們為什么要做這個項目?它是如何改善了客戶的生活?
  • 2. 和這個項目相關的歷史代碼是什么樣的?
  • 3. 這個項目會影響到該應用軟件的其他那些部分?
  • 4. 這個項目會影響到我們生意的其他哪些部分?
  • 5. 我們如何來評估這個項目是否成功(或失敗)?

一旦他們可以看到這整個的布局,程序員就可以有目的的開始工作。他們不再是一臺機器里面的齒輪而是可以影響項目取得成功的參與者。

這也帶來巨大的激勵好處。Joe Stump總結為:

程序員通常不知道任務背后的問題,這意味著一些最富有創造力的思考者卻不能考慮到一個給定的目標可能會碰到的問題。

比如說,如果我是一個后端程序員,你告訴我要實現一個API,但我不知道為什么你需要這個接口。

但是如果我負責任,多很你聊一聊,我將會深入地圍繞這個問題思考,因為我將作為程序員的工作和企業的成功更具體的聯系了起來。

這突出了強調每個項目背后的愿景和使命的重要性。

  • 愿景:我們為什么要做?這將如何改變這個世界?
  • 使命:目標是什么?我們需要在哪里完結?

一旦他們理解了愿景和使命,程序員們也成為了項目計劃過程中有價值的合作者。他們可以預見潛在的風險幫你避免犯一些代價高昂的錯誤。在這篇非常棒的文章中,Paul Boag描述了不讓程序員參加需求設計會議的危險:

在Digg的全盛時期,我記得在Daniel Burka(掘客的首席設計師)和Joe Stump(首席程序員)的一段對話。他們講了這么一個故事,Daniel想要改變Digg的按鈕設計,從他的角度來說,這個改動微乎其微。但是當他和 Joe說起的時候,他發現這個極小的改動可能會對網站的性能有非常大的影響,可能會迫使Digg升級它的處理能力和服務器架構。

應該怎么做

在Sprintly公司,來自產品,支持和工程技術方面的代表會一起開會制定開發計劃。

會后,我們會創建一個Sprintly標準規格的需求書,包含我們在之后的三個月中將要做的事情。這份需求書會寄給所有的開發團隊,他們需要在工作開始前簽署同意。

經理不是將軍,程序員也不是士兵

有時候經理表現的好像每個項目都是秘密活動,信息只有在需要知道的基礎上才能給予。這個維基條目清楚地解釋了為什么這種情況可能發生:

需知(諸如其他保密措施)會被一些人誤用,這些人希望拒絕其他人知曉他所知道的信息,試圖增加他們的個人權力或者阻礙對他們工作的回顧。

這種保護主義并不會生成更好的代碼,項目或者增長的銷售額。不要將程序員置于黑暗中。邀請他們參與到你的整個策略制定中。

注:Justin Abrahms寫了一篇非常精彩的姐妹篇,The Omission of Why.

如果你正尋找一個好的框架來保持產品團隊負責,可以查閱Jason Evanishproduct thesis.

祝好!

本文的譯者:素材不亂

素材不亂(網名)。通信與信息系統專業畢業。在一500強外企從事軟件開發工作,是一位軟件業里的妹子。工作之余,喜歡看書。目前在江蘇南京。
她的微博是@素材不亂,你也可以通過郵件sucaibuluan@yeah.net和她取得聯系。

來自:http://www.vaikan.com/dont-leave-developers-in-the-dark/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!