項目開發週期和項目管理

  • 本文主要總結闡述目前經歷的的開發週期和項目管理,
  • 閱讀大概12分鐘
  • 適合新手+項目管理新手+有經驗進行自我總結

身爲前端開發,目前在三家公司做過開發
不想看之前經歷可以直接跳到總結並給出自己點方案

兩家上市公司+一家200人的小公司,這三家公司以下就簡單簡稱A/B/C吧

A公司的開發流程

一個項目的生命週期

  • 1、開發組長產品商量開發人員(需要哪些人,大概工期)
  • 2、產品建羣發需求文檔
  • 3、開始需求會議(此時UI基本完成,再次確定難度和事件)
  • 4、根據接口時間開始開發(一般前端在後端完成60%之後纔開始)
  • 5、到測試時間開始發佈測試環境開始測試

主要問題

  • 改需求比較隨意,經常遇到測試好等待發布,產品要改樣式啥的
  • 測試階段也比較隨意,比如要求週一測試,我可能找找藉口給你推到週二測

B時期的開發流程

一個項目的生命週期

  • 0、產品經理有需求想法去找項目經理討論可行性和緊迫性
  • 1、項目經理開始分任務
  • 2、產品建羣發需求文檔 答疑解惑
  • 3、前後端把產品叫過來答疑解惑準備開發發送答疑解惑郵件
  • 4、前端或者後端選擇一位作爲項目負責人對項目工時分解,溝通開發時間和測試時間,最終開發測試產品約定統一時間
  • 5、建立開發任務立項郵件附帶上一步的分解文檔,讓主管在任務平臺創建任務和分解任務,在文檔中約定時間開始開發
  • 6、測試前一天確定是否延期,如果延期,需要產品測試過來重新評估工期
  • 到提測最後一天時,需要產品測試和主管過來驗收項目
  • 7、根據驗收,第二天中午前修復bug發測試發佈提測郵件
  • 8、bug集中在郵件中發送,典型bug需要在任務平臺建立
  • 9、完成測試時會發生確認郵件

主要問題

  • 開發往往在產品需求會時對項目並不清楚,導致沒有多少疑惑
  • 需求會時,產品只會瞎搞,很多技術細節,開發並沒完全理解,導致後面各種問題
  • 開發階段改需求導致很多問題

C的開發流程

一個項目的生命週期

  • 產品在自身或者用戶反饋接到需求建立issue
  • 第一週最後一天開一個需求細化會,與所有開發測試過下一步要做的需求和安排,在細化會將issue 按照等級分類,
  • 第二週開始一次迭代會,將細化會沒確定的需求確定,評審每個需求需要的時間(投票決定)然後分配任務(平均每個人5-7個工作日)。兩週一次迭代(一個0.1版本)開發,按照分在不同版本issue進行開發
    • 因爲開發工作日不算熟悉需求和代碼審覈+測試bug+開發的時間的,所以兩週雖然就開發5-7工作日時期很滿的
  • 領取issue後,開發熟讀需求,並理解,然後找測試和產品進行開卡讓開發描述這個項目需求
  • 開發在主幹上拉去分支根據issue建立相應的分支名稱
  • 完成開發後,進行桌面檢查
  • 提交代碼,申請合併(先向同組申請代碼審覈=再向測試提交申請) 測試收到申請則進行測試驗收,發現bug太多,則直接駁回,否則繼續進行測試,每個bug 再申請合併頁進行消息記錄,開發改完bug則進行回覆,測試完無bug,進行合併操作。合適時機 測試將改主幹發佈線上,
  • 測試正式測試之前需要看到當前代碼已被review的記錄,
  • 一輪測試之後,將所有bug記在issue中,開發將所有bug改好,提交riview則可以繼續下一輪測試(一般<=3輪)

主要問題

  • 沒有提測文檔環節,開發文檔在哪裏,測試注意點不夠重視,主要靠口頭

總結並給出自己點方案

總結下來最小的那個公司C公司相對完善和人性,但也有不少問題

  • A公司太隨意,可能和我當時所在項目組有關(主要是輕應用)
  • B公司沒有開卡環節,測試bug沒有輪次之分,開發可能在開發前兩天並不知道開發需求,郵件和工作平臺效果很好,可以記錄項目和個人工作量
  • C公司如測試開發文檔都寫在issue裏面,沒有自己的文檔

總結下來大概分爲以下流程

  • 每次開發分爲開發週期,一般2周,當週未做完的順延到下週
  • 安排專人處理線上bug
  • 一個迭代週期 10個工作日 -1個工作日會議,平均每人6-8個工作日工作量
  • 每日早上站會
    • 昨日自己幹了什麼
    • 今日打算搞什麼
    • 有什麼困難需要協助
產品確定並細化成功能
利用兩天調研和確定需求
項目1
項目2
項目3
利用兩天調研和確定需求
開始開發
開發中進行測試用例評審
代碼審覈
第一輪測試
完成修復繼續下一輪
新需求
迭代會前2天需求細化會
迭代會
...
開發向產品確定確定細節
...
開卡=向產品測試講述需求
桌面檢查=開發是否符合需求
評審並再次確認需求
審覈通過申請合併到測試分支=轉給測試
所有問題記錄並轉給開發
測試無問題則合併分支開始下一次開發

關於細化會

功能優化|新需求|新項目 以下統稱爲開發任務

  • 產品主持
  • 講解下一期可能要做的開發任務,瞭解可行性
  • 確定開發任務需求等級,
  • 不確定的開發任務需求分配給開發進行調研

關於迭代會

  • 對細化會的開發任務進行評審
    • 投票決定每個開發任務的開發工時
    • 工時最小單位是半天,超過8天則定義爲跨迭代週期的開發任務,對任務再次拆分
    • 分配給每個開發開發任務
    • 保證每個人分配的所有開發任務加在一起在5-8個工作日
    • 確定一個人主要負責線上項目(其分配的任務在3-5個工作日)

關於白板管理

  • 最好是真實點白板+web頁面
  • 分類爲本次迭代週期待開發,正在開發,正在測試,準備上線
  • 每天晨會也是圍繞白板進行產出
  • 建議白板方便每日擡頭就看到進度
  • 建議也使用web方便任務統計和每個員工kpi覈算,方便年度和季度總結

一個開發任務的開發

1、開卡會議

  • 1、開卡準備:熟悉需求並向產品詢問細節
  • 2、找到UI+產品+測試 向他們闡述所有需求
  • 3、提出疑問+同時測試也提出疑問
  • 4、產品經解答疑問,並判斷開發和測試對需求是否理解透徹
  • 完成後郵件發送參會人和抄送必要主管
    • 郵件需要寫需求點+項目各方人員+開發週期等

2、測試評審

  • 一般在開發開始後1-2天,測試主持向產品經理和開發闡述測試需要測到所有點
  • 產品開發注意是否有遺漏或錯誤地方
  • 完成後郵件發送參會人和抄送必要主管

3、桌面檢查

  • 開發完畢,邀請測試和產品經理到開發處檢查程序是否符合基本功能需求
  • 不符合打回
  • 符合但有部分問題,半天時間改完
  • 完成後郵件發送參會人和抄送必要主管
    • 郵件需要寫測試建議+注意事項+host配置+需求變更+影響頁面等等

4、代碼審覈

  • 通過桌面檢查後,開發申請同組進行代碼審覈,並向同時說明每一段代碼設計思路。審覈提出改進處,
  • 改進完畢,對代碼進行rebase 然後提交測試
  • 完成後郵件發送參會人和抄送必要主管

5、測試與debugger

  • 測試完成第一輪測試指出所有bug
  • 開發在第一輪完成後修復所有bug進入代碼審覈同4
  • 測試開始第二輪測試
  • 測試人員反覆測試無bug則本次開發封板
  • 本次開發上線前需要再次進行迴歸測試
    • 完成後郵件發送參會人和抄送必要主管
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章