Put-Me-Down項目Postmortem2

  • 一.設想和目標
  • 二.計劃
  • 三.資源
  • 四.變更管理
  • 五.設計/實現
  • 六.測試/發布
  • 總結

一.設想和目標

1. 我們的軟件要解決什么問題?是否定義得很清楚?是否對典型用戶和典型場景有清晰的描述?

  • 我們的軟件要幫助低頭族控制使用手機時間。功能很明確,對典型用戶和典型場景有清晰的描述,在需求規格說明書中。

2. 是否有充足的時間來做計劃?

  • 有,但是因為對開發不熟悉,計劃是一步一步摸索出來的。

3. 團隊在計劃階段是如何解決成員對于計劃的不同意見的?

  • 成員脾氣好,商討接納合理的意見。

有什么經驗教訓? 如果歷史重來一遍, 我們會做什么改進?

  • 首先應明確整個開發過程大體要做哪些事,將較大的模塊落實到個人負責,如文檔由某成員專門負責。

二.計劃

1. 你原計劃的工作是否最后都做完了? 如果有沒做完的,為什么?

  • 沒有,大部分做完了,我們原本想將數據備份到數據庫,后來因為申請的原因、我們的APP在Alpha階段實現功能可以不需要服務器、安卓方面功能較多、服務器方面不熟悉,所以程序重心放在安卓;

2. 有沒有發現你做了一些事后看來沒必要或沒多大價值的事?

  • 基本沒有。美工有時候越用心會適得其反,走到極端。

3. 是否每一項任務都有清楚定義和衡量的交付件?

  • 沒有每項,代碼提交是明顯的可衡量交付件。但是成員在學習過程中沒有設定交付件,導致學習效率不高。

4. 是否項目的整個過程都按照計劃進行,項目出了什么意外?有什么風險是當時沒有估計到的,為什么沒有估計到?

  • 沒有完全按原計劃,計劃在整個過程中有變動,項目有計劃地進行。初始計劃我們是想將程序方面分為安卓和后臺,主要是程序方面的工作。我們對項目的認識是模糊的。經過alpha階段前2天的摸索,基本上知道整個完成這個APP要做什么。將程序重心放在安卓;后來意識到界面的重要,以及原本負責服務器后臺的人員會PS,所以我們在界面設計方面加入了自己制作的符合我們APP主題的圖標;
    博客的內容有助于每個成員把握自己的時間,清楚整個項目,把握到整個項目的過程,以及記錄每個人在這一階段的成長(困難、總結),所以博客內容的收集、整理是很重要,我們有2個人可以負責文檔。一開始對博客的內容提綱不清楚,摸清提綱后一個人負責就可以了,另一個人可以負責其他事務。

5. 在計劃中有沒有留下緩沖區,緩沖區有作用么?

  • 有考慮到緩沖區,緩沖區有作用,可以應付緊急情況,如bug修復。

6. 將來的計劃會做什么修改?

  • 會留出更多緩沖區,不將時間按事務排滿。

我們學到了什么? 如果歷史重來一遍, 我們會做什么改進?

  • 應該明確整個項目的事務,清楚定義每個任務,包括學習任務,設定衡量的交付件,提高學習效率。寫出代碼框架,大家坐在一起打代碼。

三.資源

1. 我們有足夠的資源來完成各項任務么?

  • 有資源,但沒有足夠的資源,我們最好的資源是有一位開發安卓經驗的組長,他寫了整個代碼的結構;擁有PS技能的人員;文檔編寫人員;缺少的資源是測試經驗、界面設計知識;但我們有學習資源,卻沒有安排好學習任務以及學習衡量交付件。

2. 各項任務所需的時間和其他資源是如何估計的,精度如何?

  • 我們將任務切分,基本是一天完成幾個任務,沒有具體到小時,精度不高。

3. 測試的時間,人力和軟件/硬件資源是否足夠? 對于那些不需要編程的資源 (美工設計/文案)是否低估難度?

  • 測試是薄弱的一塊,我們是手動測試,用例測試,測試方面花的時間少。對于美工設計和文案我們有重視,也認識到美工是一大重點以及弱項。

4. 你有沒有感到你做的事情可以讓別人來做(更有效率)?

  • 有,我們有2個人可以寫文檔,后來讓一個人做,另一個人做其他事,充分利用人力,提高效率。

有什么經驗教訓? 如果歷史重來一遍, 我們會做什么改進?

  • 我們會多面對面交流,坐在一起學習,制定學習驗收計劃,提高效率。

四.變更管理

1. 每個相關的成員都及時知道了變更的消息?

  • 知道,通過博客的任務安排知道。

2. 我們采用了什么辦法決定“推遲”和“必須實現”的功能?

  • 主體功能實現,如將服務器推遲到下個版本,計時以及記錄、結束時強制手動停止必須實現。

3. 項目的出口條件(Exit Criteria – 什么叫“做好了”)有清晰的定義么?

  • 有,組長很注重細節,結合用戶場景來考量項目是否做好了。

4. 對于可能的變更是否能制定應急計劃?

  • 項目變更可能性小,沒有考慮到變更,如果有變更都是積極地想辦法解決。

5. 成員是否能夠有效地處理意料之外的任務請求?

  • 能。有時候臨時出現新的事物,如界面整合需要修改,大家都積極配合。

我們學到了什么? 如果歷史重來一遍, 我們會做什么改進?

  • 原本對項目的認識不夠,所以出現了變更。組長都是根據每個人意愿讓大家自主選擇,大家不知道自己想做什么,具體角色是做什么,如果重來一次讓組長明確每個角色要做什么,再結合成員志愿及組長考量,將角色及責任落實到個人。

五.設計/實現

1. 設計工作在什么時候,由誰來完成的?是合適的時間,合適的人么?

  • 項目的整體結構則由李坤隆先僧完成,李先僧之前有參與過開發,相比其他成員更熟悉開發的套路,所以由他來完成項目的架構是合適的。

2. 設計工作有沒有碰到模棱兩可的情況,團隊是如何解決的?

  • 因為其他小組成員剛開始學習開發,不懂套路,所以代碼結構的設計是由李先僧一人完成的。小組項目最終采用mvp模式,根據李先僧的描述,這也是他第一次使用這個模式,對這個模式并不熟悉,和其他成員一樣也是摸著石頭過河。一開始對代碼的分包是像傳統的‘activities’,‘adapter’這樣根據每個文件的所屬類別分包,還是像google官方的mvp例子那樣根據模塊分包猶豫不決。最終看了一篇博文按照應用功能來封裝,而非所屬類別決定按模塊分包。(只是把文件按模塊分了下包,實際分工的時候是按m-v-p來分的,并不是某個人把某個功能模塊的mvp三層全包了。mvp三層間依賴于接口而非具體的實現類,只要接口在一開始的時候商定好,三個層之間完全可以異步并行開發,不是很懂棟哥評測那天說的“偽按層分工”是什么意思)

3. 團隊是否運用單元測試(unit test),測試驅動的開發(TDD)、UML, 或者其他工具來幫助設計和實現?這些工具有效么?

  • 團隊沒有單元測試,由于項目開始的比較晚,預留的時間比較少,大家都不懂得測試代碼怎么寫。有嘗試著學習怎么寫android的單元測試,但是由于最終時間太緊沒有完成測試(這是個教訓,以后要預留好足夠的時間,在做中學)有使用uml工具畫項目的用例圖和類圖。

4. 什么功能產生的Bug最多,為什么?在發布之后發現了什么重要的bug? 為什么我們在設計/開發的時候沒有想到這些情況?

  • 暫時沒發現產生很多bug的功能,在發布前發現多用戶登入的情況下,還是保有之前用戶的數據,發布后發現如果在零點的時候使用計時功能可能會導致每日計時統計結果又偏差。都是邏輯上的錯誤

5. 代碼復審(Code Review)是如何進行的,是否嚴格執行了代碼規范?

  • 李先僧沒有讓大家重寫代碼,而是自己把代碼修改了一下(命名并沒有改:(),我認為這是不利于初學者成長的,如果李先僧個大家指出不規范的地方,并說明該怎么寫,這樣學習效果會更好!

我們學到了什么? 如果歷史重來一遍, 我們會做什么改進?

  • 如果重來一次,讓李先僧更多地給其他組員加油打氣寫代碼,指出代碼不規范的地方,并說明該怎么寫。一開始就重視測試工作,就像對界面一樣。

六.測試/發布

1. 團隊是否有一個測試計劃?為什么沒有?

  • 有測試計劃

2. 是否進行了正式的驗收測試?

  • 是的,針對各項功能都進行了測試

3. 團隊是否有測試工具來幫助測試?

  • 沒有用到測試工具,因為第一次進行測試,所以就先采用了人工測試

4. 團隊是如何測量并跟蹤軟件的效能的?從軟件實際運行的結果來看,這些測試工作有用么?應該有哪些改進?

  • 在alpha版本完成后,將各個模塊的測試進行分配,每個組員進行用例測試。最后的運行結果證明了測試工作還是有用的,發現了很多之前沒發現的潛在問題,下次要再細心點

5. 在發布的過程中發現了哪些意外問題?

  • 意外問題倒是沒有,和原本設想的差不了太多

我們學到了什么? 如果歷史重來一遍, 我們會做什么改進?

  • 人工測試可能還是會有些缺陷,用測試工具測試可運行更多、更繁瑣的測試,且快速高效,可執行一些人工測試執行相當困難或者做不到的測試,如大量的用戶并發、更好的利用資源,具有一致性和可重復性的特點。所以下次可能更傾向于工具和人工結合。

總結:

你覺得團隊目前的狀態屬于 CMM/CMMI 中的哪個檔次?

  • 二級

你覺得團隊目前處于 萌芽/磨合/規范/創造 階段的哪一個階段?

  • 萌芽,還要多學習,每個成員都要增強實力。

你覺得目前最需要改進的一個方面是什么?

  • 回首總結了整個過程,發現有許多bug,這些bug從另一個角度看是別樣的收獲,如果能修復了這些bug、漏洞,收獲更多。最需要改進的地方:團隊應多面對面交流,提高效率,不拖延。

轉載于:https://www.cnblogs.com/linjin/p/6098937.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394568.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大數據實驗報告總結體會_建設大數據中臺架構思考與總結

簡介本文介紹完善的大數據中臺架構了解這些架構里每個部分的位置,功能和含義及背后原理及應用場景。幫助技術與產品經理對大數據技術體系有個全面的了解。數據中臺定義:集成離線數倉與實時數倉,并以多數據源統一整合采集到kafka,再通過kafka進…

半數集問題

給定一個自然數n,由n開始可以依次產生半數集set(n)中的數如下: (1) n ∈set(n); (2) 在n的左邊加上一個自然數,但該自然數不能超過最近添加的數的一半; (3) 按此規則進行處理,直到不能再添加自然數為止。…

微型計算機控制理論基礎答案,微型計算機控制技術試卷c

微型計算機控制技術試卷a潘新民 微型計算機控制技術實用教程微型計算機控制技術試卷C一、選擇題(本題共10小題,每小題 1.5分,共15分)1. DAC0832的VREF接-5V,IOUT1接運算放大器異名端,輸入為1000000B ,輸出為( )。A. 5V…

aws lambda_四處奔走:初學者遇到AWS Lambda

aws lambdaby Janaka Bandara通過Janaka Bandara 四處奔走:初學者遇到AWS Lambda (Running around the block: a beginner meets AWS Lambda) Computing! It sure has a very long, vivid (and sometimes awkward) history. Some key milestones include:計算&…

python打開快捷方式_Python創建啟動目錄的快捷方式,python,到

# -*- coding:utf-8 -*-# author:lizonezhiimport osimport sysimport pythoncomimport win32com.client as clientdef createShortCut(filename): # 目前創建的無起始位置"""filename should be abspath, or there will be some strange errors&quo…

二叉樹的基本操作及應用(三)

#include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> typedef char DataType; int depth0; int h11; int nlayer1; char ch2; typedef struct node {DataType data;//節點數據元素struct node *lchild;//指向左孩子struc…

maven的profile詳解

詳細內容請見&#xff1a;https://www.cnblogs.com/wxgblogs/p/6696229.html Profile能讓你為一個特殊的環境自定義一個特殊的構建&#xff1b;profile使得不同環境間構建的可移植性成為可能。Maven中的profile是一組可選的配置&#xff0c;可以用來設置或者覆蓋配置默認值。有…

夏至未至計算機版音樂,夏至未至有哪些插曲背景音樂 夏至未至所有bgm歌曲匯總...

夏至未至有哪些插曲背景音樂 夏至未至所有bgm歌曲匯總夏至未至第一集插曲是什么?夏至未至插曲曝光。夏至未至是由陳學冬、鄭爽、白敬亭等聯袂主演的青春偶像劇,昨晚已經開播了&#xff0c;那么第一集的插曲是什么呢?和小編一起去看看吧!夏至未至第一集插曲《那些花兒》那片笑…

了解如何在20分鐘內創建您的第一個Angular應用

Angular is a JavaScript framework, created my Misko Hevery and maintained by Google. It’s an MVC (Model View Vontroller). You can visit the official page to learn more about it.Angular是一個JavaScript框架&#xff0c;創建了我的Misko Hevery&#xff0c;并由G…

js閉包使用

閉包就是在一個函數內定義一個內部函數 并返回內部函數 function f1(){var a1; addfunction(){aa1;} function f1Sub(){ console.log(a); } return f1Sub; } var ff1();f();add();f();var f2f1();add();f(); 輸出為 1 2 2 可以看到輸出結果 定義f2后執行add 這時 f2的add函數已…

BIO,NIO,AIO總結(二)

這里重點介紹NIO 待定 http://www.apigo.cn/2018/11/09/javacore5/ https://juejin.im/entry/598da7d16fb9a03c42431ed3 https://mp.weixin.qq.com/s/c9tkrokcDQR375kiwCeV9w?轉載于:https://www.cnblogs.com/smallJunJun/p/10607078.html

思科配置計算機ip地址子網掩碼,計算機系統與網絡技術IP地址 子網掩碼 主機號等計算復習...

IP地址 子網掩碼 主機號等計算復習IP地址、子網掩碼、網絡號、主機號、網絡地址、主機地址復習 IP地址&#xff1a;4段十進制&#xff0c;共32位二進制&#xff0c;如&#xff1a;192.168.1.1 二進制就是&#xff1a;11000000&#xff5c;10101000&#xff5c;00000001&#xf…

nmap常用參數詳解

nmap常用參數詳解 作者&#xff1a;尹正杰 版權聲明&#xff1a;原創作品&#xff0c;謝絕轉載&#xff01;否則將追究法律責任。 借用英雄聯盟的一個英雄趙信的一句話&#xff1a;“即使敵眾我寡,末將亦能萬軍叢中取敵將首級!”。三國關羽&#xff0c;萬軍叢中斬了顏良&#x…

r語言r-shiny_使用Shiny和R構建您的第一個Web應用程序儀表板

r語言r-shinyby AMR通過AMR 使用Shiny和R構建您的第一個Web應用程序儀表板 (Build your first web app dashboard using Shiny and R) One of the beautiful gifts that R has (that Python missed,until dash) is Shiny. Shiny is an R package that makes it easy to build …

RHEL5.8配置開機自動掛載磁盤

Linux環境中可以通過fstab來設置自動掛載磁盤或者共享存儲&#xff0c;操作如下&#xff1a; fstab配置文件路徑&#xff1a;/etc/fstab 每行代表一個存儲位置。 [rootappsrv01 ~]# cat /etc/fstab LABEL/ / ext3 defaults 1…

909計算機基礎大綱,《計算機應用基礎》(專科)考試大綱

《計算機應用基礎》(專科)考試大綱《計算機應用基礎》考試大綱考試對象&#xff1a;《計算機應用基礎》考試大綱適用于網絡教育所有專業的高中起點專科學生。 考試教材&#xff1a;《全國計算機等級考試一級MS Office教程》(2004版)&#xff0c;南開大學出版社 課程學時&#x…

模板變量,過濾器和靜態文件引用

模板變量&#xff0c;過濾器和靜態文件引用 模板路徑 Djiango先到settings里面找templates下的DIRS查看是否有路徑&#xff0c;也是從上往下依次尋找&#xff0c;找到就返回。如果DIRS沒有&#xff0c;就到APP_DIRS里面尋找。但是APP要先在INSTALLED_APPS里面進行注冊然后根據I…

antd option寬度自適應_WordPress文章中添加自適應寬度的表格——墨澀網

WordPress文章中添加自適應表格&#xff0c;前面寫文章的時候需要用到表格來表達陣列信息&#xff0c;但是在WordPress添加表格不想是在office中那樣方便&#xff0c;需要借助插件或者代碼才可以實現&#xff0c;今天分享一個不需要安裝插件純代碼實現WordPress文章中添加自適應…

Go語言程序記錄日志

許多軟件系統運行中需要日志文件。Go語言程序中&#xff0c;輸出日志需要使用包"log"&#xff0c;編寫程序十分簡單。 像Java語言程序&#xff0c;輸出日志時&#xff0c;往往需要使用開源的軟件包來實現&#xff0c;編寫程序稍微復雜一些。 Go語言的包"log&quo…

如何讓代碼更易于維護_如何輕松地使您的網站更易于訪問

如何讓代碼更易于維護by Jaroslav Vaňkt通過JaroslavVaňkt 如何輕松地使您的網站更易于訪問 (How you can easily make your website more accessible) As a designer, developer, or even product manager, you have thousands of responsibilities. Every project require…