最近,有一位老板和我說,“真搞不懂為什么軟件項目開發(fā)那么難,投入了上百萬的費用,擁有十幾個人的研發(fā)團(tuán)隊,最后做出來的系統(tǒng)難以交付,還得要推翻重來進(jìn)行大重構(gòu)才能繼續(xù)往上迭代新需求?!?/p>
這是一段真實的經(jīng)歷,也是一個值得思考的問題。軟件開發(fā),到底難不難?不就是寫幾行代碼嗎?但,真的就只是寫幾行代碼的問題嗎?
項目失控、代碼難以閱讀理解和維護(hù)、系統(tǒng)故障不斷頻頻“救火”、交付日期延后延后再延后、核心開發(fā)人員流失嚴(yán)重、改個文案技術(shù)說要半天時間、線上服務(wù)器時不時報木馬攻擊……如果管理不當(dāng),很可能你的項目和團(tuán)隊也會遭遇到如此的困境。
據(jù)說,一家企業(yè),人均產(chǎn)值每年在20萬是及格線,在30萬及以上是優(yōu)秀,在50萬或更高則是卓越中的佼佼者。
因此,即使項目管理到位,產(chǎn)品研發(fā)交付成功,技術(shù)人員團(tuán)隊也穩(wěn)定,技術(shù)上游刃有余,把“事情都做正確”了,也可能因為沒有“做正確的事情”,最終業(yè)績是平平如也,因為沒能達(dá)到軟件經(jīng)濟的及格線。
尤其對于一家是靠軟件產(chǎn)品和服務(wù)產(chǎn)生經(jīng)濟經(jīng)益的企業(yè),研發(fā)產(chǎn)能是苦勞,產(chǎn)出是功勞,產(chǎn)效才是業(yè)績、是ROI、是生命線和現(xiàn)金流。
舉個例子,一家企業(yè)10個員工,平均每人每月1萬工資,光人力成本一年下來就是120萬,還不包含其他成本、五險一金和年終獎、調(diào)薪等。假若這家企業(yè)人均產(chǎn)值只是10萬,一年收入就是100萬,至少資金缺口是20萬以上,是虧本不盈利的。
簡而言之,作為CTO或技術(shù)負(fù)責(zé)人,你帶領(lǐng)技術(shù)團(tuán)隊把軟件產(chǎn)品做出來了還不行,還得要配合公司通過軟件直接或間接實現(xiàn)業(yè)務(wù)的增長和盈利。
結(jié)合近十年的研發(fā)管理經(jīng)驗,我的總結(jié)是,研發(fā)團(tuán)隊的產(chǎn)能是每個研發(fā)人員每天的工時記錄,按小時計算,按有效的工作日計算。我們不能強制技術(shù)人員加班,但技術(shù)團(tuán)隊在公司寶貴的工作時間,這部分的資源和寶貴時間,我們應(yīng)當(dāng)充分利用和發(fā)揮它的價值。
而研發(fā)團(tuán)隊的產(chǎn)出,則是每天、每周、每月或每個版本的新需求、新功能的迭代和交付情況,包括產(chǎn)品功能點、交付質(zhì)量、性能等,是構(gòu)成可交付給最終用戶使用的軟件產(chǎn)品或系統(tǒng)。要結(jié)合用戶體驗、客戶需求、市場趨勢、公司管理需求、MVP、敏捷開發(fā)、技術(shù)架構(gòu)等,利用現(xiàn)有的資源,更快更好更頻繁進(jìn)行持續(xù)交付,持續(xù)交付和遞送有價值的軟件產(chǎn)品和服務(wù)。
把軟件產(chǎn)品做出來是第一步,接下來更重要的是把做好的軟件交付給用戶或客戶使用,產(chǎn)生使用價值和服務(wù)價值,讓軟件這一產(chǎn)品成為能解決客戶問題或提供價值的工具載體。配合企業(yè)運營和市場推廣、BD、售前售后、客服等,促成交易、達(dá)成合作、客戶成單、創(chuàng)造收入。
正如某家數(shù)據(jù)服務(wù)公司拉的大橫幅所說的“沖刺9000萬銷售業(yè)績目標(biāo)!”。
下面結(jié)合YesDev研發(fā)協(xié)同工具,分享如何管理和提升研發(fā)產(chǎn)能、產(chǎn)出和產(chǎn)效。
研發(fā)產(chǎn)品的管理是基礎(chǔ)的,沒有太大的技術(shù)難度,也沒有深奧的理論,但需要極強的執(zhí)行力。
通過工時登記以及敏捷看板,你可以在線輕松管理、匯總、登記和分配任務(wù),每個任務(wù)有TODO、DOING、DONE三個狀態(tài),以及工時評估,即預(yù)計需要多少小時,也就是我們?nèi)粘Kf的工時。
讓團(tuán)隊成員每周按時登記工時,可以實現(xiàn)研發(fā)產(chǎn)能的統(tǒng)計、可視化,方便進(jìn)行研發(fā)產(chǎn)能的調(diào)整、評估和計劃。
例如,當(dāng)有了工時評估,可以關(guān)聯(lián)到項目,形成整個項目的整體工時評估,方便外包項目或內(nèi)部項目的工時統(tǒng)計和報價。另外有了工時登記,也可以很清楚了解每位開發(fā)人員每天的工作情況和安排,方便及時調(diào)整。
此外,敏捷看板,也為個人、為團(tuán)隊、為項目組、為特定項目提供了很好的研發(fā)協(xié)同的依據(jù)和信息共享。
與此同時,結(jié)合放假調(diào)休的智能提醒和企業(yè)自定義配置(每家企業(yè)的單雙休不盡相同),和每個成員的實時工時統(tǒng)計,可以更加直觀、智能進(jìn)行任務(wù)的分配和指派。
關(guān)于工時登記和研發(fā)產(chǎn)能,這里有幾個經(jīng)驗總結(jié)。
1)任務(wù)登記越多,工時評估越細(xì)的成員,往往是最為活躍主動、更為高效的人員;
2)正常情況每周5天,共40小時,但除去開會上洗手間等,剩下有效的研發(fā)時間約32小時;
3)管理上要“抓大放小”,針對項目的工時和個人工時,重點抓工時評估最多的,二次確認(rèn)是否合理或是否需要協(xié)助;
4)讓一線開發(fā)人員自己評估工時,相信他們!
研發(fā)的產(chǎn)能,即工時登記,應(yīng)該由技術(shù)負(fù)責(zé)人進(jìn)行督促和管理,由一線開發(fā)人員自己評估和更新,管理者盡量不要做好人,幫下屬來登記填寫,任務(wù)指派除外。研發(fā)產(chǎn)能是受控制的,只要技術(shù)負(fù)責(zé)人堅持督促和匯總,肯定是能做到的。
接下來討論的是研發(fā)的產(chǎn)出,也就是技術(shù)團(tuán)隊每周交付和上線的版本、新功能。
這時候,就需要多方面的關(guān)注、多團(tuán)隊的協(xié)同以及跨部門的溝通。最重要的源頭在于需求。需求一方面要梳理,形成書面的需求文檔;另一方面要進(jìn)行需求評審,確保技術(shù)團(tuán)隊能夠理解新的需求以及實現(xiàn)起來的技術(shù)方案;最后還要在需求評審后進(jìn)行需求排期和跟進(jìn)。
產(chǎn)品經(jīng)理,要確保技術(shù)團(tuán)隊每周都有“活”干,都有需求在做。需求在堆積,有時候是好事,說明業(yè)務(wù)在迅速發(fā)展。如果真的暫時沒有業(yè)務(wù)上的需求,這時技術(shù)負(fù)責(zé)人就要“趁機”安排進(jìn)行重構(gòu)優(yōu)化、單元測試的補充、技術(shù)文檔編寫、內(nèi)部技術(shù)分享、性能優(yōu)化、團(tuán)隊建設(shè)、工具創(chuàng)新、技術(shù)調(diào)研和學(xué)習(xí)。
迭代良好的信號是,你會看到每周在合理的需求在排期,同時允許適當(dāng)?shù)淖兓驼{(diào)整,每天會有按計劃地發(fā)布上線,當(dāng)你看到Y(jié)esDev系統(tǒng)發(fā)出的每周需求匯總,可以及時知道當(dāng)前的迭代狀況和最新動態(tài)。
我見過有把需求當(dāng)項目來做的團(tuán)隊,也遇到過一個人就可以做一個項目的優(yōu)秀開發(fā)者。至于研發(fā)產(chǎn)出如何提升,一方面在于技術(shù)人員、開發(fā)工程師本身的專業(yè)技能以及他本人的時間投入、意向和和主動性;另一方面,也依賴于團(tuán)隊不同項目角色的通力配合和頻繁協(xié)作。
一直在強調(diào)加班的,不是持續(xù)健康的辦公氛圍;一直在自我打雞血,也不一定就有狼性文化。
作為計算專業(yè)出身的人,都在算法中學(xué)過最短路徑、最優(yōu)算法。我們可以想辦法,一起努力把軟件產(chǎn)品做出來,在更短時間內(nèi)按滿足客戶需求和驗收標(biāo)準(zhǔn)的系統(tǒng)研發(fā)并交付。但最終,這個軟件賺錢了嗎?它盈利了嗎?甚至有人會買單嗎?我們不得而知,或者說,“這不是我作為技術(shù)人員應(yīng)該關(guān)心的問題。”
但我覺得,編程開發(fā),會寫代碼,是我們掌握的一種專業(yè)技能,是一種賦予我們?nèi)?chuàng)造價值的能力。在開發(fā)功能,進(jìn)行業(yè)務(wù)開發(fā)時,我們應(yīng)該更多站在用戶的角度、站在公司的角度思考問題,這個需求重要嗎?這個需求緊急嗎?這個需求還有哪些點需要多考慮的?
打個比方,假如我要從廣州開車去深圳,約100多公里的路程,我(作為用戶)需要的是一條全程暢通無阻的高速公路,而不是40萬噸的水泥(1公里高速公路要消耗水泥4000~12000噸)。
而通過研發(fā)成本核算,我們可以實時得到特定項目的收入、研發(fā)成本和ROI,有利于進(jìn)行成本控制和風(fēng)險識別。做外包,可別虧本了。
聯(lián)系客服