以前對軟體很陌生,在我轉産品之前,雖然我混迹IT行業,做過實施和售前,也跟研發打過交道,但我一直都不知道一個軟體是怎麼開發出來的。直面客戶,扛着壓力,在對程式一無所知的情況下,很容易産生一些想法:為什麼産品的結果是這樣?為什麼産品開發的速度不能再快一點?為什麼程式員經常加班?他們都在忙些什麼?測試是不是就是每天忙着點點程式看會不會報錯?
是以本文面向的對象是,适合和我當初一樣對軟體開發一無所知的IT從業者(或者有興趣者),另外也歡迎我的程式員小夥伴和測試小夥伴,因為你們也懂這個過程,是以我們可以作更多探讨,這個過程中我們可能會發現大家對同一件事的了解并不一緻,也許經過碰撞,我們能共創智慧的果實。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZ5cjYkNjZjVWO1YmMwADM5gzM08CXldmchx2Lc12bj5Cc0FGdzBnLzA3Lc9CX6MHc0RHaiojIsJye.jpg)
一、開發流程圖
為使流程更清晰,本圖省略了各環節的評審,如有更好的表現形式,歡迎提出建議。
開發流程圖
二、過程産物及要求
本表主要列出開發階段需要輸出的過程産物,包括産物名稱、成果描述、負責人及備注,即誰、在什麼時間、應該提供什麼内容、提供内容的基本方向和形式是什麼。
開發過程産物
三、過程說明
(一)項目啟動
1、産品經理和項目幹系人确定項目方向,産品型項目的幹系人包括公司上司、産品總監、技術總監等,項目的話則包括客戶方上司、主要執行人等。
2、公司上司确認項目組團隊組成,包括産品經理、研發項目經理、研發工程師、測試團隊等。
3、明确項目管理制度,每個階段的成果産物需要進行相應的評審,評審有相應的《會議紀要》;從項目啟動起,研發項目經理每周提供《項目研發周報》;測試階段,測試工程師每周提供《項目測試周報》。
4、産品經理進行需求調研,輸出《需求調研》文檔。需求調研的方式主要有背景資料調查和訪談。
5、産品經理完成《業務梳理》。首先,明确每個項目的目标;其次,梳理項目涉及的角色;再來,每個角色要進行的事項;最後,再梳理整個系統分哪些端口,要有哪些業務子產品,每個子產品再包含哪些功能。
(二)需求階段
1、進入可視化産物的輸出階段,産品經理提供最簡單也最接近成品的《産品原型》,線框圖形式即可。在這個過程中還可能産生的包括業務流程圖和頁面跳轉流程圖。業務流程圖側重在不同節點不同角色所進行的操作,頁面跳轉流程圖主要指不同界面間的跳轉關系。
2、産品經理面向整個團隊,進行需求的講解。
3、研發項目經理根據需求及項目要求,明确《項目裡程碑》。根據項目裡程表,完成《産品開發計劃》,明确詳細階段的時間點,最後根據開發計劃,進行《項目任務分解》,完成項目的分工。
4、研發工程師按照各自的分工,進入概要需求階段。《概要需求》旨在讓研發工程師初步了解業務,評估技術可行性。
(三)設計階段
1、UI設計師根據産品的原型,輸出《界面效果圖》,并提供界面的标注,最後根據主要的界面,提供一套《UI設計規範》。UI設計規範主要是明确常用界面形式尺寸等,友善研發快速開發。UI設計常涵蓋互動的内容。
2、研發工程師在界面效果圖,輸出《需求規格》,需求規格應包含最終要實作的内容的一切要素。
3、研發工程師完成《概要設計》、《通訊協定》及《表結構設計》,及完成正式編碼前的一系列研發設計工作。
(四)開發階段
1、研發工程師正式進入編碼階段,這個過程雖然大部分時間用來寫代碼,但是可能還需要進行技術預研、進行需求确認。
2、編碼過程一般還需進行服務端和移動端的聯調等。
3、完成編碼後需要進行功能評審。
(五)測試階段
1、測試工程師按階段設計《測試執行個體》,未通過的流程測試送出至Jira,配置設定給相應的開發人員調整。
2、研發工程師根據測試結果修改代碼,完成後送出測試,測試通過後完成。
3、測試工程師編寫《測試結果報告》,包括功能測試結果、壓力測試結果等。
4、測試工程師編寫系統各端口的《操作手冊》、維護手冊等。
(六)系統上線
與客戶或者上級達成一緻後,系統進行試運作,穩定後上線。
最後,以上内容僅限于我所在公司,不代表絕對專業意見,不知道其他行業的IT小夥伴和我們是否一樣呢,歡迎大家一起交流。
原文連結:
https://blog.csdn.net/pingdouble/article/details/78497262