隨著國情發展,國內軟體積累開始加深,一些技術能力比較洪厚的公司逐步在自身項目找到規律,形成了一些軟體產品。例如金蝶的ERP,我們公司的產品等。這種也是軟體行業的一種良性的表現。不過很多公司也死在軟體產品思維沒有改變,導致公司逐步走向死亡。
差異性
許多公司沒有瞭解軟體產品和軟體項目差異,我覺得差異主要存在在以下幾個方面:
(1)開發模式
軟體產品和軟體項目有不同的開發模式。
軟體項目在開發管理過程中往往比較獨立。這種獨立主要體現在兩個方面代碼獨立和文檔獨立。每個軟體項目有自己的代碼工程,每個工程功能代碼極少存在關聯性。軟體項目開發是以直接解決客戶需求為主,不存在較強的技術積累邏輯。往往一個完整的軟體項目開發工作量很大。專案經理需要做的工作比較多,主要是把控一個項目的進度。
軟體產品開發模式上比較複雜,正常一個產品經理會有若干個專案經理,每個專案經理都負責部份當地語系化項目的開發。在開發上,有可能所有項目都用到一個功能核心。每個專案經理在項目本地化開發產生的原始碼,需要集中上傳到產品核心做一個update。
(2)人員配備
產品的人員配備和項目的人員配備有明確的差異。項目開發過程中,往往是一個專業型人才帶一群技術型人才。但是產品研發應該是由多個專業型人才帶少量的技術型人才。
(3)需求差異
項目和產品有著完全不同的需求體系。項目的需求主要開始來自使用者需求,往往每個項目的功能需求比較有特性,重用性不高。產品的需求主要來自幾個部分項目需求、市場需求和行業標準。產品需求一般比較廣泛和全面。產品的需求調研也和項目有著完全不同的模式。產品需求調研需求調研並不是最核心的模式,就像你買個牙刷產品時候,不是你告訴牙刷要做什麼樣子才買,而是你先就功能選產品。然後產品再做一些本地化需求修改。但是一個項目的開發差異較大,項目開發往往是從0開始對需求全面調研。一個項目必須有一個完整的需求調研、資料庫設計、概要設計和詳細設計。
(4)測試差異
產品的管理和專案管理不一樣,產品對軟體測試比較倚重。產品管理是一個持續開發升級的。產品一般比較重視迴歸測試和效能測試,靠軟體品質贏得市場。
產品分支
產品和項目的另外一個主要關係。產品做的項目容易成為軟體產品的分支。項目產品是一個生態體系,但是一個太體系中有很多小體系,有些體系有自己特性,和原來的產品會產生格格不入情況。這麼就出現很多產品分支情況。隨著項目增多,我們本地化項目也慢慢增多,越來越多需求開始衝擊我們產品發展。但是不少公司死也是死在產品分支管理上。越來越多的分支需要投入越來越多專案管理成本,導致產品無法控制,其中一個項目的問題修改會導致其他項目問題。