最近在嘗試梳理我們日常工作中做項目的一些小結,下面就講這些小結做一些簡單分享與交流。
首先,在我們做軟件項目的過程中,一般項目中技術能力構成主要有下面三點
- 工程能力
- 關鍵技術能力
- 架構能力
不管技術是否復雜,架構是否混亂,工程能力對於任何一個項目是必不可少的。所以下面我就分享一下這幾年在大型公司中實施工程方面的一些總結和經驗,同樣適用於一些中小型公司。
總體思路
目標 -- 原則 -- 方法 -- 結果
目標
目標,做一件事情的目標,是為了解決什么問題。
做軟件項目,同樣需要明白做這個項目的目標是什么,它解決了什么問題。
方法
方法,解決一件事情的方式多種多樣,這里不拘泥於任何形式。
在互聯網的這幾年里面,讓我看清一個事實。即使互聯網爆發力強,但是靠技術改變革命的產品,只有很小一部分,其他的工作都是很苦逼的體力活。
結果
結果,通過方法實現目標后的結果
需要明確的是,這里的結果需要和目標一一對應的看,否則結果沒有意義,說明不問題。
比如
- 調取軟件項目上線前后同周期數據對比
- 如果為新項目沒有對比數據,則調取業界數據進行對比
- 優化項目需提前收集好數據,以便上線后獲取上線前后的數據對比
總體思路其實就是上面幾個,具體到執行方面的話,就有下面八個主要步驟
一、項目立項
- 目標與價值
- 定位與邊界
二、設計評審
- 整體概要設計
- 詳細API與表設計
三、開發階段
- 倉庫管理git workflow
- 代碼review
- 單元測試與集成測試
- sonar代碼分析
四、測試階段
- 功能性測試
- 性能測試
- 破壞性測試
五、部署階段
- 服務器無單點部署
- 服務器無狀態
- 多機房部署
六、服務監控
- 機器監控
- 中間件監控
- 應用監控
- 業務監控
七、項目管理
Jira關聯項目進度
通過Jira關注整體的進度,如果遇到出現任務delay了,需要及時跟進溝通,確保每個環境都沒有問題
站立會議
每天早上進行10分鍾左右的站會,主要說明昨天做什么,今天要做什么,以及遇到了什么問題
八、結果反饋
- 性能層面數據對比
- 產品層面數據對比