0.Alpha開發成果
1.任務划分
Alpha階段大致將任務划分為Design,Develop和Test三類
Design型任務包含頁面UI設計和接口API設計
Develop型任務包含前端開發任務和后端開發任務,前端開發任務以頁面為單元按具體功能進行細分,比如注冊登錄頁面按具體功能細分為郵箱注冊功能實現,郵箱賬號密碼登錄功能實現,小程序微信登錄功能實現;后端開發任務對應前端具體功能,比如注冊登陸頁面具體功能對應的后端開發任務依次為完成登錄注冊驗證相關的邏輯,完成個人信息相關內容的存儲邏輯等。
Test型任務包含單元測試、前后端連接測試等
Develop型和Test型部分任務划分粒度較大,比如完成題目相關的存儲邏輯,alpha階段相關功能單元測試等
在Beta階段中將着重注意划分任務的粒度,使其更加合理有意義
2.項目質量
Alpha階段開發過程中並未強調同步進行單元測試,在項目進度穩定后才開始進行單元測試,當時的主要的顧慮是單元測試會一定程度上影響項目進度的推進,不過后續修復bug的部分經歷表明如果在開發的同時進行單元測試,可以有效避免部分bug的出現,與HansBug的溝通過程中,也意識到單元測試對項目穩步推進的重要性
HansBug: 單元測試是一層一層,一個函數一個函數,一個模塊一個模塊,壘起來的,寫一塊就寫上對應的單元測試,確保你寫過的地方沒有啥大問題,確保你每一步邁出去都是穩得
老師的兩篇博客為什么軟件工程教科書上的內容和現實的軟件項目之間存在着一定差異?,從兩周發布上線到一周發布上線,如何做到高效穩定?同樣具有一定的啟發性
在Beta階段中將進一步平衡項目質量和項目進度之間的關系
3.競品與自身
已知存在競品同步開發的情況下,團隊自身應當保持怎樣的開發心態?
3.1 先保證產品自身的質量,再去和競品做比較
防止在與競品的比較中迷失自我的最好方式就是優先保證產品自身的質量
那么如果不和競品做比較,如何衡量自身產品的質量高低呢?即如何保證自身的質量呢?至少需要如下六步
- 充分進行需求分析
- 用心打磨原型設計
- 明確定義接口說明
- 合理推進開發進度
- 全面開展項目測試
- 及時收集用戶反饋
即明確一點:我們在為需求用戶開發軟件,保證產品自身的質量是提升用戶體驗的唯一密鑰
3.2 需求存在,功能存在
功能永遠以需求為導向,產品的價值取決於滿足多少需求,而非擁有多少功能
換言之,如果需求存在,那么產品需要存在功能與之對應
如果在與競品的比較中,發現了與自身產品的功能差異,那么需要做的是對差異功能的評估:
- 差異功能是否對應一份自身需求分析中的一份需求,如果是,差異功能的開發優先級設置為高於現有任務的開發優先級;
- 如果不是,開發優先級設置為低於現有任務的開發優先級,待競品發布后,進一步調研使用者對差異功能的評價:
- 如果評價較低,認為十分冗余或雞肋,則徹底將差異功能的開發計划從團隊開發計划中去除;
- 反之,則反思需求分析的不足,進一步進行需求分析,同時將差異功能的開發優先級設置為高於現有任務的開發優先級,優先開發差異功能