我對產品軟體開發流程的理解

2021-04-21 06:19:44 字數 2127 閱讀 4518

做了這麼多年的專案管理,對產品軟體開發過程還沒有特別清晰,對於軟體開發過程而言,我雖然看過軟體工程、軟體專案管理等書籍,總沒有乙個特別清晰的認識。今天為了以後清楚些,在這裡給自己乙個總結。

首先,第乙個來的是需求分析或者市場研究報告。

需求是**來的,也可以是市場,也可以是銷售,當然也可以是實施或者是服務人員。這裡的需求來了以後需要做一段時間的積累,根據公司方向不一樣,做的沉澱也不一樣。有的公司做庫存的,有的公司做人力資源的,也有的公司做erp的。總而言之,不同的企業會根據不同的業務方向來沉澱自己的業務需求。這些需求積攢到一定程度的時候,就要形成需求報告或者是市場研究(mrd)。在這裡面需要說清楚的問題有,在乙個什麼背景下,如集團、公司、還是小企業,他們的資訊化現狀是什麼樣的,他們的總體要求目標是什麼樣的,他們的要求在國內以及全球是什麼樣子的。然後要說明他們的具體需求,比如要解決什麼問題,哪個角色來處理,處理流程、方法及輸入和輸出的都是什麼。這些問題必須要都說清楚,否則無法指導後期的研發工作。這個文件出來以後,必須是業務人員能夠看懂的。基本上能夠體現出他們的工作。如果是財務方面的,一些計算工時也應該提供出來。

第二,我覺得應該是可行性分析。

在這個階段,我們要對專案或者產品的可行性作出充分的判斷。總體上,國內外的需求或者企業本身需求簡單。然後要寫清楚,我們要怎麼做來滿足這些需求。我們的投入是多少,我們的預計**是多少。我們的組織保證和業務保證等等、等等。做可行性分析工作是非常多的,也是非常重要的。因為這個決定著專案或者產品的做與不做。在這個階段裡,做的最多是評估工作和範圍界定,如技術風險評估,市場風險評估,團隊風險評估,業務風險評估等。在這個階段基本上專案範圍和定價已經有乙個雛形了。

第三,我覺得應該是方案設計或者產品定義。

這個步驟在很多書裡面沒有提及,直接出具的都是概要設計了。我個人覺得方案是必須要出的。這一步要做的事情是,我們根據客戶提出的要求,怎對做系統劃分,功能劃分,以及業務處理流程。我們採用什麼樣的平台去做。需要的軟硬體環境是什麼樣的。包括軟體具體的定價方案。在做這個方案的時候是非常複雜的,因為方案決定著這個專案是否能夠符合市場和客戶的需求。我們在方案裡,應該寫出總體的計畫,如人員計畫、風險計畫、研發測試實施計畫等。計畫可以單提,但是在這個階段,必須明確的是我們用多少人,做多少事情,用多少時間,最後專案(產品)的**。如果是產品的話,應該提出其銷售策略和市場策略。否則銷售和市場無法對產品進行有效的推廣和銷售。

第四,應該是設計階段。

這個階段基本上不再管需求是否正確的問題,最主要的就是要根據方案提出的功能進行設計。如概要設計、詳細設計、資料庫設計等。所有的設計工作基本上都是這個階段完成的。這裡對設計階段不做更多的說明了,因為看到這個文章的人基本上對軟體應該是有一定了解的。大體都知道我在說什麼。

第五,應該是實現階段。

在這個階段,最重要的就是配置管理、資源管理和進度管理了。首先要完成平台級的工作。如團隊建設(主要是具體研發人員),資料庫的搭建,開發環境的搭建等。基本工作完成後,要做的就是具體的研發工作了。

第六,應該是測試階段。

為了保證專案和產品的質量,測試是必須的。這裡需要關心的問題是方案是否能夠滿足需求。開發出的產品是否存在缺陷。所以就有了黑盒和白盒測試。測試報告一定是迭代的。這個測試一直是螺旋增長的。按照一般的要求,迭代次數最好不要超過三次。第一次測試完畢,完成功能和缺陷的測試。第二次,完成修完完畢後的跟蹤測試。第三次,為整體的業務功能也軟體應用測試。如果再出現問題,那就是研發人員的問題。

第七,為發布階段。

發布階段主要完成的工作是工作文件的編寫。如操作手冊,使用說明書,產品***,市場宣傳冊。當然,產品***和市場宣傳冊從方案確立後就可以著手做了。但這個時候是終版。在沒有新版本出來之前,基本不會有什麼改動了。在專案(產品)發布階段大部分作的工作就是文件整理和歸檔工作。在這裡,研發過程的版本控制基本結束,整個專案的版本控制剛剛開始。

第八,實施、執行、維護階段。

我把這三個階段放到一起了。因為實施過程必須要讓其執行。執行後的維護階段是沒有結束的,除非他們解除了這個產品的維護協議。實施的時候,首先要做的事情還是需求調研,此次需求調研一般是差異化的需求調研。然後是根據差異化的需求進行專案或者產品變更開發。這個需求變更基本上不能動主體流程,不擴充套件主體功能。能做的只有一些報表和查詢頁面的變更。否則專案或者產品開發就可能會失敗。在實施過程和維護過程,還要總結客戶的需求反饋,對於非常必要的問題要沉澱到公司的需求管理處,開始新的一輪的產品研發。

這就是我對一般專案及產品開發的理解。也許有很多不適合的地方,這純屬個人總結。

軟體開發流程

課程的主講老師是msdn的特約講師邵志東先生。課程中間,邵志東老師介紹了軟體開發流程 程式設計師基本素質 關於質量控制和開發模板及專案組建設。邵老師首先介紹了軟體開發的流程,他把軟體開發分為了兩大類,即專案開發及產品開發。專案開發是公司根據某一客戶的需求單獨為某一客戶訂製的軟體 產品開發是公司針對某...

軟體開發流程

軟體開發流程 software development process 即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法 軟體的總體結構設計和模組設計 程式設計和除錯 程式聯調和測試以及編寫 提交程式。第一步 需求調研分析 1相關系統分析員向使用者初步了解需求,然後用word列...

軟體開發流程

軟體開發流程 software development process 即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法 軟體的總體結構設計和模組設計 程式設計和除錯 程式聯調和測試以及編寫 提交程式。目錄開發流程 軟體維護 軟體公升級 報廢處理 舉例解析 第一步 需求調研分析...