请不要让程序员在黑暗中摸索
不知道各位有沒有玩過魔獸、X-COM、文明帝國、紅色警戒之類的策略游戲。
這些游戲使用了所謂的“戰(zhàn)爭迷霧”。剛進(jìn)入游戲的時(shí)候,每一個(gè)玩家的地圖都是被黑暗籠罩的,想要前行的唯一途徑就是不斷的摸索。隨著我們不斷地移動(dòng),地圖越來越可見化。
這種戰(zhàn)略的劣勢是:玩家看不到周圍的危險(xiǎn)、障礙以及機(jī)會(huì)。每一次的成功都需要一點(diǎn)點(diǎn)的運(yùn)氣。
有木有感覺這種情景有點(diǎn)熟悉?
“戰(zhàn)爭迷霧”完美地形容了開發(fā)人員的工作處境。他們總是被要求去搞定某一段特定的代碼,但是卻不告知任務(wù)的相關(guān)情況,等于是在讓他們自己在黑暗中摸索。
對(duì)于開發(fā)人員,看到“整個(gè)的游戲地圖”很有必要。對(duì)全局有一個(gè)清晰的把握有助于他們做出正確的決策。下面這些問題是他們所需要知道的:
- 為什么要?jiǎng)?chuàng)建這個(gè)功能?它為客戶提供了哪些方便?
- 圍繞這個(gè)功能的代碼經(jīng)歷了怎么樣的一個(gè)發(fā)展過程?
- 此功能會(huì)影響應(yīng)用程序的其他哪些部分?
- 這是否會(huì)影響業(yè)務(wù)的其他部分?
- 我們?nèi)绾魏饬窟@個(gè)項(xiàng)目的成功(或失敗)?
當(dāng)開發(fā)人員掌握整個(gè)框架之后,才能有針對(duì)性地開始工作。他們的深思熟慮謀定而后動(dòng)非常有助于項(xiàng)目的成功。
同時(shí)也有巨大的激勵(lì)效應(yīng)。Joe Stump 總結(jié)道:
開發(fā)人員對(duì)于任務(wù)背后的問題往往得自己摸索,這意味著對(duì)于給定的對(duì)象可能開發(fā)人員并不能真正地思考到點(diǎn)子上。
但是如果夠負(fù)責(zé)的話,開發(fā)人員會(huì)沉浸于這個(gè)問題的思考,因?yàn)槠涔ぷ骶唧w說來,更為依賴于在商業(yè)上的成功。
舉個(gè)例子,如果我是后端開發(fā)人員,你告訴我去實(shí)現(xiàn)一些 API 端點(diǎn),我需要考慮一下為什么你需要這些端點(diǎn)。
這突顯了了解每個(gè)項(xiàng)目背后的目的和任務(wù)的重要性:
- 目的:我們?yōu)槭裁匆@么做?
- 任務(wù):目標(biāo)是什么?做到怎么樣的程度算完成?
在了解了目的和任務(wù)之后,開發(fā)人員也就成為了規(guī)劃進(jìn)程中有價(jià)值的合作伙伴。他們可以預(yù)見一些潛在的“地雷”,以免你踩到從而付出高昂的代價(jià)。在一篇雜志文章中,Paul Boag 描述了將開發(fā)人員摒棄在一些相關(guān)會(huì)議之外的危險(xiǎn):
在 Digg 的鼎盛時(shí)期,Daniel Burka(Digg 的首席設(shè)計(jì)師)和 Joe Stump(其主要開發(fā)人員)之間就一個(gè) Digg 按鈕曾舉行過一次會(huì)議討論。Daniel 想要更改其設(shè)計(jì),因?yàn)閺乃慕嵌瓤?#xff0c;變化不大。但是對(duì)于 Joe?來說,他發(fā)現(xiàn)這個(gè)小設(shè)計(jì)將會(huì)對(duì)網(wǎng)站的性能產(chǎn)生很大的影響,迫使 Digg 因?yàn)檫@么一個(gè)按鈕而升級(jí)它的處理能力和服務(wù)器架構(gòu)。
你能做什么
首先我們應(yīng)該負(fù)責(zé)任地參與到產(chǎn)品、支持和工程規(guī)劃的會(huì)議討論中去。
并可以提出自己有建設(shè)性的建議,除了應(yīng)用開發(fā)人員,很少會(huì)有人注意到應(yīng)用開發(fā)的安全性問題,這時(shí)就需要程序員根據(jù)自己的經(jīng)歷、經(jīng)驗(yàn)、以及相關(guān)研究所得出的結(jié)論:借助專業(yè)的第三方安全平臺(tái)——移動(dòng)應(yīng)用安全智能服務(wù)提供商,來達(dá)到保護(hù)的目的!
會(huì)后,我們可以創(chuàng)建接下來所需要的有關(guān)規(guī)范文件。
管理人員不是將軍,開發(fā)人員也不是戰(zhàn)士
有時(shí)候,管理人員搞的好像這個(gè)項(xiàng)目是什么緊要機(jī)密一樣,只給出一些“需要知道的基礎(chǔ)知識(shí)”。
但是這種保護(hù)措施卻不會(huì)導(dǎo)致更好的代碼、更受歡迎的項(xiàng)目,也不會(huì)增加銷售。不要讓開發(fā)人員在黑暗中摸索,應(yīng)該邀請(qǐng)他們一起參與到整體的戰(zhàn)略討論中來。
總結(jié)
以上是生活随笔為你收集整理的请不要让程序员在黑暗中摸索的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言洗牌发牌 无大小王 分四堆,C语言
- 下一篇: 如何实现IP分配、子网划分、和子网掩码计