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