團隊名稱 | 打代碼一定要笑 |
---|---|
beta階段隨筆集合 | 團隊作業第六次——beta沖刺+事后諸葛亮 |
設想和目標
1. 我們的軟件要解決什么問題?是否定義得很清楚?是否對典型用戶和典型場景有清晰的描述?
能解決大學生不想去取快遞及其他生活瑣事。定義的很清楚,典型用戶就是學生,典型場景:一個住在3樓的大學生,周末有個快遞到了,可他不想去拿,想在宿舍呆着,於是他用‘取經’發布了一個任務,住在同一棟樓5樓的另一個人剛好願意去拿快遞,他在取快遞的路上通過‘取經’查看到了3樓同學的任務,幫他順路拿了還賺去了積分。
2. 我們達到目標了么(原計划的功能做到了幾個? 按照原計划交付時間交付了么? 原計划達到的用戶數量達到了么?)
原計划的功能基本都完成了,(原計划用戶4個功能,管理員3個功能)也按照原計划的時間交付了。用戶數量方面還在內測,所以沒有。
3. 和上一個階段相比,團隊軟件工程的質量提高了么? 在什么地方有提高,具體提高了多少,如何衡量的?
和上個階段比,組員對於軟件開發的流程和技術更為熟悉了,開發整合過程進行的更為流暢了。組長的管理水平也有所提升,逐步建立了明確的獎懲而不是人情管理。
4. 用戶量,用戶對重要功能的接受程度和我們事先的預想一致么?我們離目標更近了么?有什么經驗教訓? 如果歷史重來一遍, 我們會做什么改進?
內測中,暫時還沒有向用戶推廣。
計划
1. 是否有充足的時間來做計划?
計划的時間比較充足。
2. 團隊在計划階段是如何解決同事們對於計划的不同意見的?
對於不同的意見一般通過討論解決,我們組的所有人都是講理且價值觀差不多的人,一般討論到后面都會有統一意見。
3. 你原計划的工作是否最后都做完了? 如果有沒做完的,為什么?
基本全部完成。
4. 有沒有發現你做了一些事后看來沒必要或沒多大價值的事?
有,比如一些細節的討論會進行很久,最后卻拍板的很隨意,改動又不是很大,沒有什么必要
5. 是否每一項任務都有清楚定義和衡量的交付件?
每一個項目模塊的標准都是通過沖刺前開會討論來定義的,如果實現過程中出現問題會相應調整。
6. 是否項目的整個過程都按照計划進行,項目出了什么意外?有什么風險是當時沒有估計到的,為什么沒有估計到?
沒有完全按照計划進行。有位同學在最后整合之前說完成不了任務,導致其他同學進行了計划外的加班。沒有估計到會有人沒有完成自己的任務,因為覺得大家都應該會很負責。
7. 在計划中有沒有留下緩沖區,緩沖區有作用么?
沒有。
8. 將來的計划會做什么修改?(例如:緩沖區的定義,加班)
beta階段會提前預留緩沖時間,防止相同的意外出現。加班的話,盡量不加班,如果加班也大概率是個人的加班,不希望出現集體的進度拖延。
9.我們學到了什么? 如果歷史重來一遍, 我們會做什么改進?
學到了前后端的開發、交互,數據庫的搭建,服務器的部署,ui界面的設計,需求分析等
如果重來一遍,我們在數據庫設計會再多下點功夫,實際過程中修改了兩次數據庫的表結構。還要合理安排好工作時間,開會時間,休息時間。
資源
1. 我們有足夠的資源來完成各項任務么?
資源是夠的,后端有三位小佬,就是前端大家對於這塊都比較陌生,熟悉前端開發花了比較多的時間。
2. 各項任務所需的時間和其他資源是如何估計的,精度如何?
由於大部分人都沒有開發經驗的問題,我們只進行粗略的估計,精度會稍微差點,實際時間花費的比較多,尤其是最后的整合階段,花了很多很多的時間。
3. 測試的時間,人力和軟件/硬件資源是否足夠? 對於那些不需要編程的資源 (美工設計/文案)是否低估難度?
測試只是大概的測試一下,因為后面很趕。人力又有點不足,畢竟我們組只有6個人。美工設計的話,我們都是自己順手畫一下,不要求有多精美。
4.有什么經驗教訓? 如果歷史重來一遍, 我們會做什么改進?
開發過程中忽略了前端開發的困難,沒有給到足夠的資源,有點感到人力不足的感覺,如果重來的話,會多多關注前端這一塊的投入。
設計/實現
1. 設計工作在什么時候,由誰來完成的?是合適的時間,合適的人么?
設計工作是所有人一起完成的,林昌鍇和歐振貴完成需求分析報告,然后由柯燊熙和麻繼友實現原型設計。
2. 設計工作有沒有碰到模棱兩可的情況,團隊是如何解決的?
有遇到,都是在開會時討論解決的。
3. 團隊是否運用單元測試(unit test),測試驅動的開發(TDD)、UML, 或者其他工具來幫助設計和實現?這些工具有效么? 比較項目開始的 UML 文檔和現在的狀態有什么區別?這些區別如何產生的?是否要更新 UML 文檔?
有進行單元測試,這樣可以減少后期合並時的工作量。現在的uml文檔會更加明確,相互之間表達更加明確了。
4. 什么功能產生的Bug最多,為什么?在發布之后發現了什么重要的bug? 為什么我們在設計/開發的時候沒有想到這些情況?
整合時bug是最多的,因為后端人員不懂vue,數據的傳輸總是出錯。在設計的時候以為就是數據傳來傳去很簡單的。
5. 代碼復審(Code Review)是如何進行的,是否嚴格執行了代碼規范?
代碼復審由各自大模塊下不同模塊的負責人進行,要求嚴格執行項目開始時規定的設計文檔。
6.我們學到了什么? 如果歷史重來一遍, 我們會做什么改進?
對於單元測試要再多花一些心思,尤其是后期合並時前后端的交互需,這樣可以減少bug的數量提高軟件的性能。
測試/發布
1. 團隊是否有一個測試計划?為什么沒有?
有,我們的測試工作由組長負責。
2. 是否進行了正式的驗收測試?
是
3. 團隊是否有測試工具來幫助測試?
Visual Studio等
4. 團隊是如何測量並跟蹤軟件的效能的?從軟件實際運行的結果來看,這些測試工作有用么?應該有哪些改進?
軟件測試由測試人員進行性能測試,從軟件實際運行結果來看有一些效果,不過老師提出我們測試的不夠細,下階段會改進,粒度更細。
5. 在發布的過程中發現了哪些意外問題?
經常出現一級界面沒問題了,修改二級界面后,一級界面又報錯。來來回回過程很艱辛
6.我們學到了什么? 如果重來一遍, 我們會做什么改進?
對於軟件的測試可以嘗試使用更為專業的工具,傳統的方法有點落伍。
團隊的角色,管理,合作
1. 團隊的每個角色是如何確定的,是不是人盡其才?
團隊的角色有大家組隊時自願選擇來確定的,這樣可以讓大家都在自己擅長或者感興趣的地方工作。在前期的准備工作中,編碼能力不強的同學占主要工作量。
2. 團隊成員之間有互相幫助么?
有,大家有問題都會在開會時提出自己還未解決的問題,對於自己了解的方面都會去幫助。
3. 當出現項目管理、合作方面的問題時,團隊成員如何解決問題?
出現這種問題時,一般都是通過開會討論決定的。組長在其中進行了解及調解。
新組員工作交接和培訓方案
我們換出去的那個組員原本是做的用戶端的前端界面,新來的組員接替他的工作不變。在交換之后,組長就已經把之前產品的全部資料轉發了一分給他,並且安排同樣是前端的沈泳煥同學在學習技術上進行幫助