主題:開發一個新產品,需要經歷什么
主講人:趙英如(網易移動端ios高級開發工程師)
時間:2019年6月20日
產品孵化的四個階段:1.啟動 ?2.計劃 ?3.執行 ?4.收尾
1.啟動階段
確定工作內容內容:1.項目描述? ? ? ?2.項目需求? ? ? ?3.指派負責人? ? ? ?4.里程碑式進度表? ? ? ?5.組建團隊
確定組建團隊的模式:1.部門協作? ? ? ? 2.獨立項目組
確定工作方式:1.集中辦公? ? ? ? ?2.分開辦公
確定團隊職能:1.產品經理? ? 2.交互設計師? ?3.視覺設計師? ?4.項目管理? ?5.前端工程師? ?6.移動端工程師? ?7.后端工程師? ?8.測試工程師
前端工程師主要負責外部頁H5的開發工作,技術語言:html,CSS和JaveScript;
移動端工程師主要負責移動端手機端的開發工作,技術語言:Objective-C和Swift(Ios),Android和Java(安卓);
后端工程師主要負責為H5和移動端去提供數據服務,也就是提供接口服務,技術語言:Java和PHP;
測試工程師主要負責測試整個產品的功能和產品的完整性,這是在我們開發完成以后測試工程師的主要責任;
2.計劃階段
2.1制定團隊的工作制度(劃分職責,讓大家知道自己該做什么)
以咕嚕為例
a.采用csrum方式,要求每一步的輸出物具備一定的質量;
b.產品同學需管理交互和視覺的產出;
c.產品、技術負責人、項目經理能夠識別外部依賴,且在計劃會前搞定需求及排期;
d.技術人員能夠在計劃會上給出工作量預估;
e.為保障更少的空檔時間,產品功能backlog(積壓的工作)里具備開發條件的需求始終有1-2個;
f.產技團隊不要糾結文檔和方案的完備性,常見情況是計劃會后仍有很多細節不完整,開發迭代中溝通解決即可。
2.2制定工作流程
瀑布型敏捷式(xp,scrum)(在此我專門查了一下兩種模式區別,感興趣可查看鏈接:https://blog.csdn.net/poppy3163/article/details/78117620)
在咕嚕中采用的是scrum方式,首先由產品經理提出自己已經優先排列的產品條目,將其組織成表格,在會議上講解給大家,講解完成之后,由團隊去選擇sprint backlog;然后由技術團隊將sprint backlog分解成一個一個的task(需要開發的任務);分解之后,由技術團隊做出時間的評估,然后整個技術團隊去執行開發任務,在開發任務之中,執行每天的站會(建議不超過15min)(站會解決的問題:1.我昨天做了什么? 2.今天要做什么? ?3.碰到的問題是什么)。如下圖。
Sprint:沖刺,就是一個版本的迭代? ? ? ? ? ? ? Product backlog:產品條目,就是一個需求,產品想要的東西? ? ? ? ? ? ? ? ? ? ? Sprint backlog:一個沖刺中的需求? ? ? ? Product owner:產品負責人? ? ? ? ? ? ? ? ? ? ? ? ?Daily scrum:每日站會
3.執行階段
3.1.需求初審
參與人:利益相關人,項目負責人,產品,交互,視覺設計,主要技術負責人,測試負責人
輸入:產品方案初稿、交互初稿。
目標:對于需求的可行性評估,交互稿初審。通過討論評審,進一步細化產品方案,交互方案
產出:詳細方案&調整后交互稿,技術選型,外部依賴(是否需要外部服務器等)
3.2.需求終審
參與人:利益相關人,項目負責人,產品經理,交互設計師,UI設計師,全體開發工程師,測試工程師
輸入:產品功能列表、修改后交互稿
目標:對產品進行詳細的講解,對產品功能列表中的每個功能點進行講解。對交互稿的邏輯,功能進行解說。在此期間所有人都可以對產品和交互提出自己的疑問和建議,促使對產品和交互進一步明確與細化。
產出:產品最終方案&交互終稿,視覺稿
3.3.工作排期
開發人員
參與人:技術負責人,全體開發工程師
輸入:產品功能列表、交互終稿
目標:對產品進行技術上的工作拆解,量化,分工。產出功能細化后的工作量“人/天”。
產出:排期表
測試人員
參與人:測試負責人,全體測試工程師
輸入:產品功能列表,交互終稿
目標:對產品進行測試工作拆解,量化,分工。產出功能細化后的工作量“人/天”
產出:排期表,測試用例(會后測試人員編寫)
3.4.執行開發
搭建框架(MVC,MVVM,MVP)
開源庫的引入(github)
數據庫選擇(sqlite,mysql)
模塊功能開發
每日站會
3.5.提交測試
功能測試,性能測試,UI測試,兼容性測試,壓力測試
提出bug(反饋到jira,一個bug系統)
開發工程師修復bug
測試工程師進行驗證
4.收尾階段
測試驗收
交互驗收
視覺驗收
產品驗收
打包發版
登錄應用市場
回顧