鐘 瑾,馬麗萍
(中國海洋大學 管理學院,山東 青島 266100)
基于軟件研發項目層面的作業成本分析體系的構建
鐘 瑾,馬麗萍
(中國海洋大學 管理學院,山東 青島 266100)
本文分析了作業成本法難以在軟開發行業實施推廣的關鍵因素,提出了實現軟件開發的財務管理與項目管理相結合的思路構想,把作業成本法引入軟件開發項目的全生命周期管理中,建立起基于項目層面的作業成本分析體系。
軟件;項目管理;作業成本法;工作分解結構;里程碑
軟件研發行業與制造業等行業不同,具有專業化、系統復雜性程度較高的特征。在軟件開發過程中,人是軟件產品質量與產品成本的決定性因素,而以人力資源為主的相關資源的投入并不是在開發過程中一次性或連續均勻的投入,不同層次的人力資源在研發過程中的每一個階段的投入量水平都有著差異,而且為滿足開發過程中的各種需求,人力資源成本也在不斷整合配置并充分發揮其個體優勢。這一過程所產出的軟件作為純知識產品,其開發進度和質量很難估計和度量,成本投入與生產效率也難以預測。這導致軟件項目開發具有較大風險和不確定性。成本管理與控制貫穿軟件研發過程的始終,是軟件項目能否順利實施的關鍵,對于該行業至關重要。目前軟件研發行業成本管理往往具有滯后性,還沒有完全做到動態監控和實時控制,因而這一過程中的預算松弛、預算失控等成本控制問題較為突出。
作為現代企業成本管理控制的核心方法之一的作業成本法。自20世紀80年代后期由卡普蘭和庫珀推廣到全世界之后,在學術研究領域一直都受到人們的關注。作業成本法最顯著的特點是它把管理控制深入到了組織運營的最基礎的 “細胞”層面——作業層面,不僅關注影響成本產生的決定性因素,更關注引導這些動因產生的機理,即作業的劃分與作業動因的選擇。其目的就是識別增值與非增值作業,并消除非增值作業,實現成本的最小化。這也是它區別于其他管理工具的最大優勢。
在現實工作環境中,作業成本法被廣泛應用食品生產、加工制造、服務行業。在加強成本的前饋控制和實時控制、細化預算分析體系等方面都取得了顯著成效(以青島啤酒為代表)。然而其他行業,特別是以軟件研發為代表的高科技行業中卻幾乎沒有應用。雖然在學術研究方面,有的學者論證了它在軟件開發實際應用領域中的必要性并提出了合理構想。但也只是在研發團隊基礎上進行的表層作業分析,沒有深入到每一個軟件項目層面,作業成本法沒有發揮其真正的作用,缺乏實用性。
作業成本法要求財務人員對生產過程中的每一個環節都有深入了解和分析。然而由于專業能力水平限制,復雜的研發設計流程對于財務人員來說無異黑箱一樣。黑箱的輸入端,是內化在技術人員頭腦之中的知識技能等無形資源以及輔助性的實物資源。黑箱的輸出端,卻僅僅是一個產品——軟件系統。加之與大規模生產流水線完全不同,每一個軟件系統的生產流程,即研發計劃,是依據特殊顧客需求和自身研發實力而制定的,都是有差異的。在這種情況下,財務人員游離于組織核心活動之外,財務活動無法滲透到軟件生產過程中。然而,對于軟件研發流程最為了解的莫過于每一個研發項目的項目經理,研發團隊中的項目經理由參與研發的高級技術人員擔任。除了控制開發成本,項目經理更加關注軟件的質量與開發進度,適度的預算超支往往得到項目經理的默認。
從上面的分析可以看出,軟件項目管理與財務管理的脫節是作業成本法難以在軟件研發行業推進的主要原因。只有解決以上問題,才能把作業成本法引入軟件項目的全生命周期管理中,建立起基于軟件項目層面的作業成本分析體系。因此,如何把作業成本法的管理思想真正融入軟件項目的全生命周期管理過程中,正是本文的關鍵所在。
如上所述,鑒于軟件開發行業生產過程的特殊性、復雜性,本文擬把項目管理中的項目識別方法工作分解結構(WBS)應用到作業成本法中的流程與作業的識別中,同時借助于軟件項目開發進程中的里程碑(Mile Stone)概念,把該軟件系統總成本劃分為各個成本中心,即后文“項目子產品”,進行成本分配。
美國能源部的文件這樣定義WBS:“WBS是一種數字化和圖形化的表達方式,它通過鏈接所有項目工作單元和終端產品實現項目的完整定義。”WBS由項目經理建立,其目的是要把產品或可交付成果分解成一個個獨立單元,并理清它們與終端產品間的關系(Budd C.I.,2008)。 從中可以看出,WBS 的主要作用就是分配管理職責與技術職責。不同的軟件系統所采用的軟件開發模型是不同的,這使軟件開發的作業流程呈現多樣化,導致作業識別的多樣化。但是WBS涵蓋了構成整個流程的全部關鍵項目要素,由WBS提供的獨立的單元節點完全符合作業成本法中對作業的界定。用WBS可以解決財務人員對于軟件研發這一專業流程的作業劃分的難題。里程碑(Mile Stone)用于項目進度管理和跟蹤,以方便監控項目進展和健康狀態。在達到里程碑的時候,項目經理一般需要檢查項目狀態,并出詳細的項目狀態報告,該報告記錄了終端產品的階段性成果。軟件項目管理中的里程碑只是出現在開發過程中的文檔記錄。筆者把這一概念拓展到了軟件研發項目的整個生命周期中,即從項目的接洽-需求分析-項目的研發-項目的后續維護,以反映軟件系統在整個研發過程中的全部成本耗費,并按照研發過程的時序先后劃分成本中心并進行成本歸集,反映出單一終端產品在其特定生產流程的不同階段中的資源投入情況,便于對軟件系統進行成本形態分析,也為后續進行實時成本監控奠定了基礎。
此外,為了改進生產流行、提高自身的研發能力并實現軟件項目管理與國際接軌,多數軟件開發企業都通過了CMMI等級認證。CMMI強調過程的文檔記錄,對每一過程進行了詳細的說明和闡釋。作業成本法實施過程中的資料收集和基于流程管理的作業動因分析等環節都可以從CMMI的文檔記錄中獲取所需的數據。
本文通過案例研究具體展現基于軟件項目層面的作業成本分析體系建立的全過程。案例企業為一家中型軟件研發公司,規模約400人,技術開發人員占總員工的85%,在軟件研發行業具有一定代表性。筆者通過采用訪談方法,通過與該公司的研發與營銷總監、財務總監、主管會計和2位項目經理進行交流溝通,同時對該公司的一個中型軟件項目的研發團隊的工作流程進行為期兩周的實地調查以全面掌握該公司的運營情況,并收集相關技術、財務數據。
通過實地調查訪談,筆者了解到該公司在軟件開發過程中主要使用瀑布模型與螺旋模型。瀑布模型,是最傳統的模型。開發過程中的各個階段不連續、不交叉,是相互獨立的直線流程。上一環節的開發結果或開發產品為下一環節的起始點,是下一環節的基礎材料。在實際使用中都不是嚴格意義上的瀑布模型,各階段存在重疊,而且每個階段也非純直線串行,存在著并行。螺旋模型(迭代式)中,整個開發工作被組織為一系列小項目,被稱為一系列的迭代。每一次迭代都包括了需求分析、設計、實現與測試。雖然每個項目應用開發模型不同,但是軟件開發的流程是穩定的,且以線性、重疊式或迭代式呈現在模型中。通過該公司實際軟件開發流程所包含的各個作業進行梳理,整個流程被分成5各階段:啟動與需求(業務洽談、招投標、入場調研、需求分析作業);設計(概要設計、詳細設計);編碼測試(編碼、集成、單元與組裝測試、系統測試作業);安裝(試運行、正式上線);支持(維護、升級)。
資源是在作業執行過程中發生的代價,其涵蓋了企業所有價值載體。如果說企業是始于外部供應、終于客戶銷售的資源不斷投入和成果不斷產出的循環往復的運作系統,那么資源就是支持作業執行的必須的經濟要素。
軟件開發項目資源主要由以下4部分構成:①軟件開發資源耗用:最主要的是項目組開發人員的人工成本;②硬件資源耗用:主要包括實施軟件項目所需要的所有硬件設備、系統軟件、數據資源的購置、運輸、倉儲等費用,還包含軟件開發整個階段中使用相關的設備(電腦等)、房屋的折舊、水電費用等耗用的辦公資源開支。③差旅及培訓費用:包括軟件開發人員和用戶的培訓費用。④項目管理費用:用于項目組織、管理和控制的費用支出。
WBS把整個項目被層層分解,最底層的項目的末端點已被細化為最簡單的模塊,例如:設計—概要設計—模塊A與模塊B。底層每一個項目最末端點都有著清晰的任務完成責任人。軟件開發的流程由項目經理、技術主管、企業管理人員、前期銷售人員等多方面力量的共同參與。

圖1 項目的作業動因、作業中心與成本中心
每一個軟件開發項目執行的終端產品都是一個根據客戶需求而開發出的軟件系統,相關財務信息都是以整個項目為單位進行歸集列示的。為了體現項目質量、工期、價格、管理水平、人力資源成本的影響,同時監控整個項目流程關鍵部分的執行情況與相關成本耗費,筆者把項目研發與項目管理的各個階段所形成的各個項目里程碑(關鍵功能模塊的實現)與管理性的書面文檔,定義為該項目生產的子產品,每一個項目一般會有5種重要的子產品:①需求分析報告;②軟件設計計劃規格說明書;③模塊功能的實現;④管理與進展報告;⑤服務與維護報告。
在進行成本分攤時,沒有直接歸入最終的軟件系統,而是借鑒典型瀑布模型的思路,即每一開發環節相互獨立進行,每一環節都相應產生本環節的成果,即項目子產品,并形成記錄在案的文檔。目的是為了體現項目中的關鍵環節如需求分析、質量管理及具體功能模塊的詳細成本信息,利于項目在各個階段實現相關成本的重點控制分析。
在實際開發過程中,每一環節的作業雖然有先后順序,但并非按照瀑布模型呈現嚴格的串行,而是在同一時點重疊并行(如在編寫代碼的同時已經在進行測試階段的規劃設計);有的作業環節如質量管理是由項目經理全程跟進的。對這5個項目子產品的成本發生情況在整個項目周期中進行實時追蹤記錄。可以反映出項目的真實進度情況,及現階段成本耗費的重點環節,為管理和監督提供實時信息,以實現資源在各個時點的優化配置。
表1為包含5個項目子產品的終端產品的成本分攤結果。由WBS劃分的項目作業、以此整合的作業中心與項目里程碑所拆分的項目子產品在研發流程上具有時間上的同步關系,所以啟動中心、執行中心、質量監控中心和維護中心內的作業都可以作為各個項目子產品的專屬作業直接歸集。只有支持中心各個作業成本需要按各個項目子產品生產耗時與整體項目周期的耗時比進行分配。
基于軟件開發項目層面建立起的作業成本分析體系,使財務追蹤和成本控制活動真正融入到了整個項目開發生命周期的日常管理活動中,也為全面預算管理體系的建立提供了條件。

表1 項目終端產品的實際成本構成
[1][美]Budd C I, Budd C S.掙值項目管理實踐指南[M].廣聯達軟件股份有限公司,譯.北京:電子工業出版社,2008.
[2][美]維索茨基,貝克,克蘭,等.有效的項目管理[M].李盛萍,譯.北京:電子工業出版社,2002.
[3]郝波.作業成本法與軟件開發項目造價管理[J].科學學與科學技術管理,2006,27(7):165-166.
[4]曹陽.作業成本管理在軟件服務業的應用[D].天津:天津大學,2010.
[5]寧亞平.作業成本法適用條件調查研究[J].財政研究,2012(3):79-80.
10.3969/j.issn.1673-0194.2015.15.004
F275.3
A
1673-0194(2015)15-0012-04
2015-06-08