研發(fā)工作實際上不僅僅包含技術開發(fā)工作,其范圍涵蓋新產(chǎn)品的全生命周期,以從產(chǎn)品創(chuàng)意的產(chǎn)生、產(chǎn)品概念形成、產(chǎn)品市場研究、產(chǎn)品設計、產(chǎn)品實現(xiàn)、產(chǎn)品開發(fā)、產(chǎn)品中試、產(chǎn)品發(fā)布等整個過程。套用項目管理鐵三角的說法,研發(fā)管理三大重點則應該是效率、質(zhì)量和成本。而團隊建設、績效管理、風險控制、知識管理、流程設計、項目管理等等可以認為是輔助手段或者是包含在進度、質(zhì)量和成本控制中的內(nèi)容。
在研發(fā)體系結構設計和各種管理理論基礎之上,借助信息平臺對研發(fā)過程中進行的團隊建設、流程設計、績效管理、風險管理、成本管理、項目管理和知識管理等的一系列協(xié)調(diào)活動。
成本控制上,在人力資源給定的情況下,研發(fā)開銷是基本固定的。對于研發(fā)成本的控制,更多的是資源是否用在刀刃上,是否做對了項目,研究對了課題,這方面的控制主要體現(xiàn)在公司的戰(zhàn)略規(guī)劃、產(chǎn)品規(guī)劃上面,做錯了產(chǎn)品、方向,往往是浪費最大的。規(guī)劃任何一個新產(chǎn)品都需要做到“大膽設想、小心求證、重質(zhì)量輕數(shù)量”,嚴格立項過程。而且就研發(fā)來說,技術積累很重要,過去的成功經(jīng)驗未必能夠復制到新的領域,因而進入任何一個新的領域,都需要慎之又慎。這部分的工作,大部分都產(chǎn)生于公司決策層面和產(chǎn)品規(guī)劃層面,對于研發(fā)部門來說能做的比較少。因而研發(fā)管理的重點還是在質(zhì)量上。
研發(fā)質(zhì)量很多時候,會被理解為QA(Quality Assurance)和QC(Quality Control),往往歸宿于質(zhì)量管理部門。QC往往關注的是產(chǎn)品而非體系,在軟件研發(fā)領域?qū)木褪菧y試;而QA則建立體系并確保體系按要求運作,涉及到過程內(nèi)容(流程設計)。QC是通過對質(zhì)量的結果進行檢測、鑒定,防止劣質(zhì)產(chǎn)品的發(fā)布;QA對研發(fā)是否符合過程進行控制。通過QA/QC兩個環(huán)節(jié)的配合,確實能夠起到一定的質(zhì)量控制作用,但質(zhì)量管理單單靠QA和QC是遠遠不夠的,會存在很多問題與漏洞,更重要的是技術經(jīng)理們在設計、開發(fā)環(huán)節(jié)中進行控制。
首先,在微觀問題上,QA人員由于能力的限制對研發(fā)過程中細節(jié)的把握不可能像開發(fā)經(jīng)理一樣到位,這就注定了對于流程是否符合的控制,往往是僅僅解決了要做什么的問題,而無法解決怎么做,做得怎樣的問題。“怎么做,做得怎樣”,這往往跟執(zhí)行者的能力相關,僅僅靠流程、控制點是難以達到的。而且過程中的細節(jié)問題,很難去全部規(guī)范完備、做到滴水不漏,即使真的做到滴水不漏,也必然使得過程過于龐大而導致效率低下。就如同有些SOP去規(guī)范員工如何寫郵件一樣,那應該是小學語文老師的工作,不是QA所要關注的點,也不具有可操作性。
解決怎么做,做得怎樣的問題則需要技術經(jīng)理去控制,而且在控制過程中還需要注意方式方法。例如,開發(fā)過程中要求規(guī)范編碼,包括規(guī)范編碼風格、采取統(tǒng)一的變量命名方式、必要的注釋、抽取公用函數(shù)解決重用問題、代碼不合理情況下進行重構、設計不足情況下優(yōu)化設計等等。而這些往往就是QA們難以做到,也非QA人員能力范圍之內(nèi),即使做了也難以控制好的,這就需要技術經(jīng)理們的去進行管理、同時靈活把握方式方法。
就像王傳福所說技術人員往往不善于交際、脾氣怪一樣,程序員們大部分也都這樣,容不得其他人指手畫腳,技術經(jīng)理們當面去指出程序員那里代碼寫得有問題,很多時候會引來反感。一個相對好操作的方法是:由技術經(jīng)理或者高級程序員,定期不定期,舉行代碼分析會,從現(xiàn)有程序中抽取帶有典型問題的代碼,逐一分析,逐步灌輸編碼的規(guī)則、理念,講述過程中對事