開發流程之功能設計

一、功能設計之3W1H

1.什麼是功能設計?

為了實現快速迭代,將軟體開發生命周期中概要設計和詳細設計進行精簡而產生的中間產物,是管理人員對項目管理的核心把控能力,也是指導開發人員進行開發的核心思路。

2.為什麼要做功能設計?

工期是否合理、分工是否合理?
做到一半發現有塊功能漏了?
作為管理者主要應該盯緊哪一塊,等等

很多剛做管理或者放羊式管理的管理者,沒有做精細化的把控,很容易把團隊帶入泥潭

3.何時做功能設計?

將功能設計融入到開發流程,接下來的分享內容

4.如何做功能設計?

這是一塊很大的內容,需要根據不同的場景來做不同的設計

二、如何把功能設計融入到開發流程?

2.1將功能設計融入到開發流程

(右鍵新標籤打開可以查看大圖)

 

2.2關鍵的時間節點舉例

 

2.3核心的輸出成果物

需求問題回饋

目前發現比較好的方式為在線文檔,可以在線答疑、追加評論,並且可以歸檔供以後查詢

功能設計成果物

通過畫類圖、時序圖、狀態圖等面向對象設計方式,進行需求的拆解

最終輸出關鍵成果物:

功能設計文檔
功能明細分工(明確到負責人)

開發人員輸出排期

功能設計評審後,開發人員對功能設計進行理解吸收然後進行各自排期

這裡當然不是開發排完就完事了,作為管理者還要做審核

開發排期的審核:

1.每一行排期控制在3天內,超過3天的進行拆分
2.排期超過或者低於設計人員預期的,進行溝通,彌補設計理解偏差或者進行指導
3.排期超過產品經理期望的,產品經理/主管/開發人員一起進行溝通,嘗試縮小功能範圍或想辦法縮減開發時間

程式碼review

因為我們今天的主題是功能設計融入到開發流程,而不是程式碼reviewe,這裡的review主要還是為了再次核對開發出來的程式碼是否與功能設計有偏差,是驗證環境,亦可作為開發人員一起學習分享的環節

開發完成提測後,組織進行程式碼review,讓各個開發自己介紹自己做的功能模組
作為設計的回顧,總結設計的好壞作為下次更進的依據
發現潛在問題之外還可以鍛煉開發人員的溝通總結能力,也可以在負責人請假且出現問題時快速定位和解決問題等

另一個主題:如何做功能設計?

該話題涉及的面很廣,涉及到面向對象設計,可以運用類圖、狀態圖、時序圖等等工具,是一個很大的話題

首先大家應該養成做設計的習慣,這樣便於管理,也有利於提高開發效率、團隊合作效率