原文鏈接 : http://www.bugclosed.com/post/18
背景
隨著軟件項目越來越龐大偿洁,為了提高開發(fā)效率和有效的質量管控冗酿,開發(fā)過程中的項目管理越來越重要,流程分工也在不斷細化厚满。傳統(tǒng)的軟件開發(fā)過程分大致分為如下幾個步驟:
- 需求提出
- 可行性分析
- 需求分析
- 概要設計
- 詳細設計
- 編碼
- 測試
- 集成交付
產品的最終形態(tài)和功能都是第一步的需求所決定笙各,“蝴蝶效應”在開發(fā)過程中體現(xiàn)特別明顯,第一步的需求發(fā)生了變化呈野,很可能會導致后面所有步驟都重來一遍威沫。傳統(tǒng)的項目管理除了對項目過程的管控京腥,更多的是對需求的管理。傳統(tǒng)的軟件項目開發(fā)過程中會盡力避免需求的變更蠕搜,甚至在需求確定以后會由需求提出方(合作開發(fā))出具正式的需求文檔并蓋章確認以示“不再改變“喉钢。
傳統(tǒng)的軟件開發(fā)流程是一個工業(yè)流程化的模擬過程姆打,最大力度的管理變化,然后進行工序的詳細分拆和實施肠虽。整個過程中會有大量的各部門(公司)的溝通會議和流程,時間成本極其龐大玛追,動輒數(shù)年的版本計劃也很常見税课。
隨著互聯(lián)網的快速發(fā)展,市場環(huán)境和用戶喜好都在急速的變化過程中痊剖,動輒數(shù)年的產品開發(fā)周期已經遠遠不能滿足日新月異的市場形勢韩玩。互聯(lián)網產品陆馁,特別是游戲類產品找颓,開啟了精益開發(fā),小步試錯叮贩,快速迭代的開發(fā)模式击狮,并非從一開始就需要構建一個大而全的完整產品,而是最開始只推出最核心的單一功能益老,通過不斷迭代來完善和調整產品彪蓬,開發(fā)過程中不斷收集用戶反饋,并將有效反饋意見融合進下一個迭代版本中捺萌。
“小步試錯档冬,快速迭代”的前提否定了需求的”圣神性“和”不變性“,默認需求是”錯“的,是會隨時變化的酷誓。雖然游戲產品大多數(shù)沒有了嚴格意義上的傳統(tǒng)軟件開發(fā)過程中的步驟分工披坏,但是這些步驟所代表的開發(fā)內容是存在的,只是因為需要”快速“盐数,各步驟的界限被打破簡化融合到了一起棒拂。變化的需求依然會導致后續(xù)開發(fā)個階段的變化。
需求是怎么產生的
軟件產品的需求提出是為了能夠做出一個產品來滿足目標用戶的痛點或者癢點娘扩。而痛點/癢點的發(fā)現(xiàn)的方法是多種多樣着茸,可以經過深入的用戶調研,觀察到用戶的需求琐旁,提出一個產品來滿足他們的需要涮阔;也可以像喬布斯這樣,根本不做用戶調查灰殴,我給你的就已經是最好的敬特。也可能最開始做出了一個產品原型方向,然后經過多次迭代修改后得到了一個受歡迎的產品形態(tài)牺陶。
具體到游戲產品伟阔,產品的方向更多是公司老板或者制作人看好某個游戲細分領域,構造出這個游戲產品的核心玩法掰伸,基于該核心玩法皱炉,結合各種輔助系統(tǒng),最后得到一個完整的游戲狮鸭。
游戲的具體做法是合搅,產品策劃根據(jù)制作人的宏觀構想,首先設計出核心玩法原型歧蕉,并和程序緊密配合灾部,實現(xiàn)出第一個核心玩法demo。項目主要參與人員(特別是老板惯退,制作人等)體驗并頭腦風暴赌髓,可能經過多次的迭代修改后,得到一個大家都認可的核心玩法demo催跪。核心玩法是游戲的存在的根基锁蠕,是能夠滿足玩家對游戲性,可玩性的要求叠荠,或者超出玩家的預期匿沛。
為了構建一個完整的游戲,需要在核心玩法之外建立各種輔助游戲系統(tǒng)(如角色榛鼎,等級逃呼,成長鳖孤,裝備,任務抡笼,副本苏揣,好友,工會推姻,組隊等等)平匈,而游戲開發(fā)過程中最大量的需求,即來自這些輔助功能系統(tǒng)藏古。輔助功能系統(tǒng)大多數(shù)都有一定程度的同質化增炭,簡單粗暴的方法都是copy友商的系統(tǒng)規(guī)則和設計,好一點的進行一些微創(chuàng)新拧晕,極少數(shù)的會有原創(chuàng)功能玩法隙姿。無論是copy,微創(chuàng)新還是原創(chuàng)厂捞,針對開發(fā)(程序输玷,美術)來說,都是任務需求靡馁。
需求為什么會變化
世界在不斷的發(fā)展變化欲鹏,行業(yè)環(huán)境在變化,用戶的喜好也在變化臭墨,唯一不變的就是”變化“本身赔嚎。如果將游戲功能簡單的分成核心玩法和輔助系統(tǒng)兩部分,那么需求變化也來自這兩部分胧弛。
核心玩法變化
核心玩法是游戲存在的根本尽狠,理想情況下核心玩法的變化只應該在demo打磨階段,已經demo確定后叶圃,核心玩法就不應當再改變。此時發(fā)生的改變的原因是發(fā)現(xiàn)核心玩法并不能滿足用戶的需求践图,或者有了更好的想法掺冠。
輔助系統(tǒng)變化
游戲開發(fā)過程中的絕大部分工作量都是集中在輔助系統(tǒng),大量的輔助系統(tǒng)涉及各種龐雜的邏輯規(guī)則码党,系統(tǒng)交互和設計細節(jié)德崭。輔助系統(tǒng)的需求變化主要有一下因素:
- 有了”更好“的想法:對于同一個功能,策劃有了新的更好的想法揖盘。
- 之前規(guī)則理解有誤:由于文檔不細或者溝通理解有偏差眉厨,開發(fā)和策劃對于規(guī)則理解不一致,開發(fā)過程或者完成后才發(fā)現(xiàn)不對導致的需求“變化”兽狭。
- 來自上層的想法改變:上層是指老板或投資人等憾股,他們有自己的想法和理解鹿蜀,要加入到游戲中,導致變化服球。
- 來自合作方的變化:游戲的渠道和運營方通常有更大的話語權茴恰,他們“更理解市場和用戶“,他們會加入自己的想法到游戲中斩熊。
- 來自”新人“的不同想法:項目的新成員往枣,特別是新策劃(新制作人)的加入,會導致需求的大量變化粉渠。
- 來自和程序的妥協(xié):開發(fā)過程中分冈,程序發(fā)現(xiàn)有些功能規(guī)則的實現(xiàn)復雜度很高,性價比很低霸株。和策劃商量后采用了簡化版的替代方案雕沉。
- 美術需求變化:單獨說一下美術變化,產品的第一眼看到的總是界面和美術淳衙,而每個人都有自己偏好蘑秽,沒有什么絕對的對錯,都能發(fā)表自己的意見箫攀,總會或多或少導致一些變化肠牲。
需求變化導致了什么問題
游戲開發(fā)過程中,頻繁的需求變化靴跛,對項目的開發(fā)和團隊的管理都是有害無益缀雳。需求變化可能導致以下問題:
- 項目開發(fā)周期不可控:需求的變化意味著開發(fā)工作量和溝通工作的提升,必然導致開發(fā)周期delay梢睛。又要引入變化肥印,還需要強制按原計劃時間完成都是天真的一廂情愿。一廂情愿的事情累計多了之后绝葡,會在團隊中逐漸產生怨氣深碱,從而危害團隊。
- 損害團隊士氣:古人作戰(zhàn)追求藏畅,“一鼓作氣敷硅,再而衰,三而竭”愉阎。項目開發(fā)也是一樣绞蹦,大家有了相同的任務目標,正興致勃勃榜旦,士氣高昂得前進幽七,三番四次的目標修改,會讓團隊對目標產生迷茫和懷疑溅呢,會耗盡團隊的士氣澡屡,從而降低團隊生產力猿挚,甚至導致團隊不穩(wěn)定。
- 成員間產生不信任感:項目成功是一個團隊合作的結果挪蹭,成員之間的肝膽相照亭饵,相互信任,相互扶持和幫助是項目成功的助推劑梁厉。而頻繁的需求變化會讓組員之前產生不信任感辜羊,覺得對方是在給自己挖坑,“既然還會繼續(xù)變化”词顾,那實現(xiàn)當前需求只是浪費時間八秃。成員之間的質疑產生后會很快導致各種矛盾出現(xiàn),甚至上升到人員之間的各種沖突肉盹。
怎么解決需求變化問題
首先所有團隊成員需要明白昔驱,絕對的需求不變是不可能的,唯一不變的僅僅是“變化”本身上忍;所謂的控制變化骤肛,是盡量讓需求變化更小,更可控窍蓝,即使最終變化來臨也使得變化對項目的影響降低到最小腋颠。可以從以下方面嘗試解決需求的變化問題:
構建靠譜團隊
所有項目都是由獨立個體組成的團隊開發(fā)完成的吓笙,構建一個靠譜團隊是任何事情的前提淑玫。我所理解的靠譜團隊,首先有一個擁有遠見卓識面睛,目標堅定絮蒿,值得信賴和追隨的老大;其次叁鉴,下面有一批各種職能分工都能獨當一面土涝,認真負責,坦誠相待幌墓,積極上進回铛,相互信任的成員。即使一開始沒有這樣的團隊克锣,也要有目的的一步一步建立起來,并形成一種互信包容腔长,相互扶持的團隊氛圍袭祟。
作為團隊管理者,需要挖掘和發(fā)揮每個人的優(yōu)勢捞附,讓他們能夠發(fā)揮自己的全部潛能巾乳,并不斷提高您没。在項目中不斷做出自己的貢獻,形成一種成就感和歸屬感胆绊,一旦事情從“要我做”變成了“我要做”的狀態(tài)后氨鹏,很多難題都會迎刃而解⊙棺矗“想做一件事情會找到一個方法仆抵,不想做一件事情會找到一個理由”,我始終相信一般的項目開發(fā)中种冬,并會不會遇到不能解決的世界級難題镣丑,絕大部分都是能夠很好解決,一旦成員有了自己想去解決問題的心態(tài)娱两,解決方法會隨之而來莺匠。
在這種心態(tài)之下,遇到需求變化并不會導致成員的抵抗十兢,而是會讓他思考你的變化是否是對項目的一種真正價值提升趣竣,并自己深入分析再提出自己的建設性意見,最終在積極討論的氛圍中形成了決議旱物。
統(tǒng)一目標
團隊的項目目標是項目完成后的最高追求遥缕,所有成員需要對最終目標形成深度共識,只有在共同目標的驅動下才能不斷克服過程中遇到的各種困難和分歧异袄。而對于個人的目標通砍,可以是升職加薪,可以是完成一個多少在線用戶的項目烤蜕,或者是達到多少盈利的項目封孙,只要個人目標和團隊目標是大方向一致即可。
構建利益共同體
從組織架構和利益分享機制方面讽营,讓需求的提出人和實現(xiàn)人成為利益共同體虎忌;一榮俱榮,一毀俱毀橱鹏,團隊成員都在一條
船上膜蠢,個人利益就是共同利益。
充分設計和討論
項目開發(fā)過程中莉兰,很多時候為了”快“挑围,導致系統(tǒng)設計和規(guī)則邏輯并未想徹底就已經開工。最終做到一半或者快要完成時發(fā)現(xiàn)機制有缺陷糖荒,需要重新設計杉辙,此時的改動可大可小。開發(fā)前的充分設計捶朵,徹底理解和吃透產品邏輯規(guī)則蜘矢,有利于減少開發(fā)中的不穩(wěn)定因素狂男。
重要信息多次確認
人與人在溝通過中,廣泛存在“信息漏斗”現(xiàn)象品腹。假設A有一件事情需要B去做岖食,信息漏斗作用過程如下:
- A在心里想了一件事情,假設完整度是100%舞吭。
- A找到B泡垃,把事情描述給B的過程中,因為表達能力或者語言表意缺陷镣典,只能把80%的事情說出來兔毙。
- B在聽A表達的過程中,由于自己注意力分散或主觀偏見等因素兄春,只能聽到事情的60%澎剥。
- B在理解自己聽到內容的過程中,因為自己的知識結構赶舆,理解偏差等哑姚,又會損失掉20分的信息完整度,得到40%的信息芜茵。
- B在執(zhí)行的過程中叙量,因為執(zhí)行力或者其他因素導致偏差,又損失掉20九串,最終只能得到一個20%的結果绞佩。
從以上模擬的“信息漏斗”可以看出,最初A的一個100%完整度的事情交代給B執(zhí)行出來后猪钮,只變成了一個20%的結果品山,和最初要的東西已經大相徑庭。最終A和B在核對最終結果的時候烤低,會出現(xiàn)無窮的爭執(zhí)和矛盾肘交。
為了降低“信息漏斗”帶來的影響,需要每一步都對信息進行重復確認扑馁,確認信息的丟失降低到最小涯呻。同時溝通各方都需要明白“信息漏斗”的存在,當最終出現(xiàn)偏差的時候才能心平氣和的繼續(xù)溝通解決問題腻要,而不是相互指責和推諉复罐。
需求分期
對于優(yōu)化型的需求,在之前需求已經進入開發(fā)階段的情況下雄家,可以考慮放到下一個迭代周期里面做優(yōu)化市栗,而不是打亂當前的版本進度,重新設計和實施。同時也給到產品策劃一個時間窗口再次沉淀和思考修改的必要性和機制的完整性等細節(jié)填帽。
坦誠有效溝通
項目開發(fā)的目的是為了共同完成任務,做出一個大家認可的產品咙好。開發(fā)過程中無論是產品本身還是涉及開發(fā)成員篡腌,都會有大量的溝通需要進行。而溝通要能順利進行且最終富有成效勾效,坦誠是所有前提的前提嘹悼。只有坦誠溝通,對事不對人层宫,讓被溝通人感覺到得到尊重杨伙,才能將溝通有效進行下去。把別人當傻子萌腿,浮于表面的客套話限匣,忽悠別人的虛情假意都會最終導致信任的消逝,沒有了信任毁菱,項目失去了根基米死,所有目標和遠景都會變成虛無縹緲的空中樓閣。
需求變化后導致矛盾怎么辦
前幾部分做好了之后贮庞,應該能大幅降低需求變化峦筒,即使發(fā)生變化也會將影響局限在小范圍內。但是如果已經出現(xiàn)反復變化窗慎,導致矛盾物喷,有哪些辦法呢?
首先遮斥,需要確保成員都理解變化是不可避免的峦失,確保大家對共同目標的認可,都在為達到目標積極的想辦法改進伏伐,大家的溝通還在一個“頻道”上宠进,有了共同的前提,對事不對人藐翎,就事論事的討論分析材蹬,都有溝通改善的意愿是事情能夠改善的大前提。
其次吝镣,坦誠溝通是任何有效溝通的基本要素堤器,“正其心,誠其意”末贾,一旦溝通雙方都感覺到了對方的坦誠溝通態(tài)度闸溃,自己的防備和抵抗情緒就會消減,更容易回歸到事情本身。
再次辉川,溝通時要給與對方足夠的尊重表蝙,任何人都有被得到尊重的需求,”你的心理有沒有我“乓旗?我們交流的時候府蛇,你是否是一種愿意解決問題的態(tài)勢,這個很重要屿愚,中國是人情社會汇跨。大部分人對應別人對自己的態(tài)度是很在乎的,知道是”你在乎我“的前提下妆距,任何問題都不是問題穷遂。
最后,成功能夠掩蓋所有的的問題娱据,即使問題再多蚪黑,矛盾再大,當項目的結果是一個巨大的成功吸耿,所有問題都會被暫時掩蓋祠锣,不過通過成功來掩蓋問題是暫時的,一旦成功沒能延續(xù)和復制咽安,問題已經會爆發(fā)伴网。
每個人都有自己的解決矛盾的想法和方式,以上是自己的一些思考妆棒,不過防范未然才是更好的選擇澡腾。