9個月,回顧一下敏捷開發的得失
其實人腦遠沒有我們自認為的那么強大,我們的“系統1”(可以簡單理解為直覺系統)可以同時做幾件事情,但是我們的“系統2”(可以簡單理解為思維系統),它在一個時間內其實只能做一件事情,而且它很懶。
敏捷開發在今年已經經歷了9個月的風雨。在部門內,敏捷開發已基本成型,在公司內,也有進一步發展推廣的趨勢,在世界上,好像人人都在談論敏捷。因此,有必要在這個時候回顧一下這9個月的得失,畢竟方向比努力更重要。
1.收獲
1.1.全功能型團隊
一個團隊,擁有策劃、交互、視覺、軟件、測試、運營各個領域的人員,有足夠的能力實施任何軟件功能從無到有,從有到優的過程。他們是一個整體,有著共同的目標,能夠充分的交流,互相信任。他們是一只能真正打仗的團隊。
1.2.有條不紊的流程
沒有紅綠燈,交通會堵塞,會出事故。同樣,沒有敏捷流程,項目進度會堵塞,項目下單會出事故。敏捷項目中的每一個人就是行駛在公路上的一輛輛車輛,他們既有自主的意識,也受制于交通規則的約束,他們合二為一成為一個整體,相鋪相成。敏捷流程,將大家串在了一起,使大家步調一致,更高效的工作。
1.3.更快的發布與反饋
在敏捷的世界,發布速度更快那是基本,不能快速發布就談不上什么敏捷了。目前,我們做到了每半個月對外發布一個版本,相比于之前的一個月甚至幾個月,在發布效率上有了成倍的提升。這樣,我們能更快速的驗證我們的功能,更快速的修復問題,結合大數據和線上問題反饋,形成閉環,不斷迭代,這才是敏捷的意義。
1.4.穩定的開發節奏
在今天,需求再也不是像以前那樣一波一波的來,軟件一波一波的忙。需求池不再是一個名詞,它起到了應有的作用,需求也不在是高,很高,沒有低,而是一個合理的高中低分布。就這樣,穩定的需求決定了后端穩定的開發節奏,持續的功能迭代已經步入正軌。
1.5.可控的項目進度
在以前,我們會定一個某個不靠譜的月份下單,然后延后一個月,甚至兩個月。漸漸的,大家習以為常,大家覺得項目延期理所當然。而現在,迭代的功能的項目進度完全可控,說哪天下單,基本上就在哪天下單。這樣,項目組成員更有目標,也更有成就感,對功能進度關注的非項目組成員也能提前心里有數。
2.損失
2.1.滿載的會議
為了有效的促進團隊信息的流通,保障信息對稱,敏捷采用晨會、需求評審會、用例評審會、迭代總結與計劃會、版本發布會議等會議,在敏捷的世界里,他們都有其存在的必要性,甚至可以說,沒有了他們敏捷寸步難行,但是帶了一系列副作用,會議占用了團隊成員的較多時間,如果某個成員不幸身處于多個項目中,那簡直是一個噩夢。有得必有失,我們只能直面敏捷的會議消耗,因此,提高會議效率,是一項十分重要的工作。
2.2.超過強度的迭代
持續迭代,十分美好,但是長時間超過正常強度的迭代,對于團隊來說那就是一種傷害。在這樣的迭代環境中,團隊成員因為疲憊,更容易暴躁,更難以溝通,大家疲于奔命,沒有時間停下來思考,大家總日忙碌,漸漸的忘記了為什么要做這些事情,漸漸的,團隊少了幾分思想,只剩下執行。既然敏捷是持續迭代,那它就屬于長跑,我們不能讓一個人總是以短跑的速度去完成長跑。
2.3.誤解帶來的失落
當大家看到版本每半個月發布一次時,覺得我們任何一個新功能都能快速的上線,這往往是大家一廂情愿,大家的錯覺。也因為有了這種錯覺,對敏捷團隊產生了很多誤解,帶來了打擊,而不是肯定。
一個軟件正常的生命周期包括以下:需求提出、交互設計、視覺設計、測試用例,軟件開發、測試、發布上線、線上維護。
這里客觀的舉一個需要開發一周的功能:從需求提出到交互完成一周,軟件開發一周,單模塊測試一周,集成測試兩周,因此在一切順利的情況下,一個需要開發一周的功能,至少需要5周左右的時間才能上線。這就是我們目前的實際開發能力,我們要客觀面對事實。
這里很多人會說,測試花了三周時間,太長了,交互也許也用不了一周,但是這就是我們的能力,或許這里有提升空間,但是這大半年的實際經驗告訴我們,這是目前保持穩定的節奏的最佳方式,鼓勵大家提供更好的方案,但不要僅僅只看到問題的一部分,我們是要解決的是產品整個生命周期的問題。
2.4.缺乏激情的目標
敏捷的持續進行,也是對團隊成員的持續打擊,時間越長,打擊越強,因為隨著時間的推移,按照現有的評價體系,大家會越來越沒有成就感,缺乏創業般的動力。
為什么?人都是有思想的,不是機器,工作總會有點追求,工資是最基礎的,一個有夢想有追求的人,或許是追求自身技術的進步,或許是追求自己做的產品的成功,或許追求事業的發展,或許追求家庭的幸福,但是絕不是追求沒有任何成就感的迭代。這樣的工作,我們有什么理由要求大家時刻保持創業的精神工作?
2.5.弱凝聚力的團隊
雖然我們擁有了一個全功能型團隊,但是這個團隊的凝聚力卻很弱,但是身處于這個團隊不是為了創造激動人心的產品,而是為了完成迭代任務,因為只有這樣才能較好的協作,如果可以,也許他們更愿意自娛自樂,而不是圍著這個團隊打轉。因此,當有別的地方需要他們時,他們不會對現在這個團隊有任何留念,因為哪里都一樣。
3.敏捷接下來怎么走?
這個問題很復雜,因為我自身也在這個漩渦中難以自拔。但是我還是希望能解決這個問題,因為從長遠來看,大家總會在這個漩渦中筋疲力盡。大膽假設,小心求證,我們需要有這樣的勇氣,就像很多人說傳統行業轉型是找死,不轉是等死一樣,找死至少還有一線生機。以下是我的一些方向和設想:
3.1.優化會議效率
會議多難以避免,但是優化會議效率卻是我們能做到的事情,這個問題目前普遍存在,但是卻沒有引起重視,會議效率的提高不是簡單的一句話,需要會議主持人和參與人都做好充分的準備,以及具備相應的能力,所以它不是簡單的一兩個流程和制度,更重要的是對人員的培養以及團隊文化的建設,這些都需要時間、資源和精力。過多低效的會議,會讓大家更低效的工作,甚至每天一起床就想著各種會議,就等著開會吧,反正中間間隔時間也做不了什么事情。
3.2.長跑式的迭代
有一個理論,當一個人按照正常步伐行走時,我們的大腦還能干點別的事情,如果讓一個人保持一個比平時更快的速度行走,大腦就無法干別的事情了,《思考,快與慢》一書中提到的“系統2”需要持續保持快速的行走這個事情,因此如果讓一個團隊已一個不正常的速度保持迭代時,那么你就別想他們還能干點出乎你意料之外的事情來,因為他們只有能力完成你交代的事情。
其實人腦遠沒有我們自認為的那么強大,我們的“系統1”(可以簡單理解為直覺系統)可以同時做幾件事情,但是我們的“系統2”(可以簡單理解為思維系統),它在一個時間內其實只能做一件事情,而且它很懶。
這里還有一個簡單的實驗,大家不妨自己試一試:
一個手保持1秒一下的固定節拍,每隔兩個節拍周期性的完成4785每位加1的計算結果,并說出來,例如:4785的計算結果是5896。
3.3.明確敏捷團隊的核心業績
問題由小到大,這是目前面臨的最大的問題,也是最難解決的問題,因此,我自身也對此疑惑不解?,F在的敏捷團隊缺乏明確的目標,一層不變的迭代,周期性的發布在一定意義上更讓人感覺自己所做的工作按部就班,缺乏意義,嚴重缺乏成就感。
如何讓團隊成員身處于一個敏捷項目組中有所成就,實際操作中確實沒有探索到有效的方法,如何明確敏捷團隊的核心業績,也是難以評估和量化,正因為如此,在這個問題上,目前只有方向,沒有方法。
個人覺得以上三個方向,是下一階段值得探索改善的方向,也許我們現在只做到了60分的成績,但是一個一個問題的解決我們會做到70分、80分,有一天,我們的項目管理能正規化,能與這方面的佼佼者并肩,而不是一直處于這種**“純工作經驗式”**的直覺式管理和補丁式管理。
本文由 @空穴來風 原創發布于人人都是產品經理。未經許可,禁止轉載。
一周開發時間的需求,三周測試確實太長,可能是開發時間太少,可能用兩周開發,一周測試就夠了
嗯,這塊后期也許有優化的空間,這個與我們的產品屬性也有關系,我們的產品涉及到多個端,為了保障發布的節奏,已經測試的全面性,目前一周基本無法實現。
可以試試將項目任務和個人GTD管理相結合,將團隊分配給你的任務放在一起,能看到每天任務的完成情況,提升成就感,還可以管理私人事務。推薦使用專業的敏捷開發的團隊協作工具,比如jira或者teamin,能夠幫助你把很多事情捋順。
暑期實習兩個月也經歷了敏捷開發,發了一版又一版,也改善了一些地方,但是感受不到太大的價值,總覺得為了發版而發版,沒有什么指標來衡量更新的功能是好是壞,能促成更多的交易量嗎