關於程式設計師團隊管理?
0、結果導向的團隊是什麼樣子的?
期望有一種團隊,就如同Scrum開發模式中提到的,每個人都能進入自組織模式,自我管理,自我約束,積極主動溝通,清楚需求,構建方案併發起評審,高效開發,組織程式碼Review,完善的自我驗證手段和方法,提供高質量的交付,測試後,完美通過驗收;臨近下班了,和同事閒聊下班後愜意的生活;
結果導向如何落到實處?
1、為什麼團隊成員中有不加班同學,你會感覺不安,儘管他的工作已經在有效時間內完成?
其實這一方面是出於對質量的擔憂,程式設計師效率都普遍很高,你完全不用擔心他會在有效的時間內完成工作,但唯一令你感到不安的是:完成的質量;即使是經驗非常豐富的程式設計師,總是會出現各種各樣非技術性質的問題,比方:不屑於遵守產品的規格說明開發產品,導致測試時發現很多和產品需求不一致的問題;比方提示描述錯誤、比方UI不符合設計規範的等等細節問題;
通常,擅長技術的同學會缺乏某種有效的溝通,導致專案負責人對進度和完成度上理解的偏差,雖然這可以通過團隊Leander組織每天的站會、隨時的走動溝通解決,但需要不斷的堅持;
最近的一個專案中有一種體會,專案組中需要一個核心人物,敢於在技術方案上拍板,在不確定的方案上做抉擇,主人翁般的推進專案往前走;缺少這樣的人,則一個專案失敗的概率會大幅度增加,自組織模式帶來的壞處是各自為政,互不溝通,重複工作,可維護性差,缺乏統一的管理和程式碼風格等等細節問題,交付的質量也是差到讓測試同學崩潰,甚至是抱怨,更甚可能會收到投訴。
2、如何培養團隊的技術氛圍?
團隊Leader的空杯心態,這種心態是否在團隊同學的每個人身上體現,可能會因人而異,同時需要作為團隊Leander的同學有很好的包容心,接納各種性格同學進入團隊,讓團隊呈現多元化模式,有技術上的討論,也有爭執,不是一成不變的對大牛的認同,沒有挑戰性的意見和見解;
新開發框架的引入引起的問題,有的開發同學熱衷於在不同的框架間切換,比方RxJava、xUtils等等框架之間的切換,或者在不同的設計模式間遊走,比方MVP、比方MVVM,需要專案負責人在新與舊之間做權衡,既不能打擊各同學學習新框架的積極性,又能保證專案如期上線。
3、如何提升團隊的效率和開發質量?
這總是一件讓人難以抉擇的問題。
有效率還能有質量,其實在HW的經歷,一直培養的是一次性把事情做對的工作態度,也就是交付之後的產品,保證是0缺陷的,這需要在交付之前做很多的工作,程式碼Review、單元測試、黑盒用例、程式碼掃描等等手段,既體現了做事的態度和追求,又包含了一種難能可貴的契約精神,對自我的承諾。