第一次迭代開發總結-汽車租賃系統
第一次迭代開發結束,可以說是非常圓滿了,今天差不多來做個總結
設想和目標
1. 我們的軟體要解決什麼問題?是否定義得很清楚?是否對典型使用者和典型場景有清晰的描述?
產品定義:我們軟體定義明確,是為需要使用車輛的使用者提供及時租車功能;
典型使用者:外出旅遊想自己出行的使用者;
典型場景:機場等交通場所。
2. 是否有充足的時間來做計劃?
時間充足。使用了3-4周時間來進行設計。
3. 團隊在計劃階段是如何解決同事們對於計劃的不同意見的?
通過溝通解決。任何成員有問題都會直接提出來進行的商議,最後由PM做決定。
計劃
1. 你原計劃的工作是否最後都做完了? 如果有沒做完的,為什麼?
第一次迭代截止日期之前,按時完成了全部計劃工作。
2. 有沒有發現你做了一些事後看來沒必要或沒多大價值的事?
感覺沒有,雖然有些東西不必要,但是是成長路上必須要遇到的解決的問題,所以多多少少都有些收穫。
3. 是否每一項任務都有清楚定義和衡量的交付件?
基本明確。每個部分都是根據開發人員的意願,溝通之後不斷調整。
4. 是否專案的整個過程都按照計劃進行?
是的。每週我們都會有周任務並且按時完成了。
5. 在計劃中有沒有留下緩衝區,緩衝區有作用麼?
有。緩衝區是在第一次迭代開發截止日期的前幾周,主要是在輕鬆學習。作用還是比較大,後續開發中效率很高。
6. 將來的計劃會做什麼修改?(例如:緩衝區的定義,加班)
基本不變,工作時間應該要增加。
資源
1. 我們有足夠的資源來完成各項任務麼?
我們完成了第一次迭代計劃的全部任務。但是由於資金、時間限制,一些介面無法實現。
2. 各項任務所需的時間和其他資源是如何估計的,精度如何?
估計:總時間是根據前兩週開發具體情況估計,後續是自己調整安排
精度:一般。有事會出現臨時安排打亂計劃。
3. 使用者測試的時間,人力和軟體/硬體資源是否足夠?
目前使用者僅有開發成員和指導老師,所以各項資源完全足夠。
4. 你有沒有感到你做的事情可以讓別人來做(更有效率)?
每個人都是不可或缺的一部分。
變更管理
1. 每個相關的員工都及時知道了變更的訊息?
有任何變更都會通過群訊息通知所有成員,所以比較及時。
2. 我們採用了什麼辦法決定“推遲”和“必須實現”的功能?
根據uml用例圖,選出必要項,作為“必須實現”的功能,選出非必要項,作為”推遲“的功能。
3. 專案的出口條件(Exit Criteria)是否得到清晰的定義?
做到完成除接支付寶介面的其他功能。
4. 對於可能的變更是否能制定應急計劃?
基本沒有,會隨機應變,及時做出調整。
5. 員工是否能夠有效地處理意料之外的工作請求?
有臨時工作PM會根據本週的實際情況做出調整和具體部署。
設計/實現
1. 設計工作在什麼時候,由誰來完成的?是合適的時間,合適的人麼?
大體的設計是在專案初期由組員根據老師的指導意見完成。
2. 設計工作有沒有碰到模稜兩可的情況,團隊是如何解決的?
在很多細節問題上沒有完美的考慮到,會比較模稜兩可,最後主要是通過溝通交流解決,解決不了會請教指導老師。
3. 團隊是否運用單元測試(unit test),測試驅動的開發(TDD)、UML, 或者其他工具來幫助設計和實現?這些工具有效麼?
團隊運用了UML來幫助設計。畫完UML圖對整個專案的流程更加清晰。使用IDE Android Studio對安卓開發幫助非常非常大。
4. 什麼功能產生的Bug最多,為什麼?
提交訂單方面,提交訂單的過程中,雖然簡單,但需要考慮到非常複雜的其他細節問題,比如是否能支付成功,是否能正確扣款等等等。
5. 程式碼複審(Code Review)是如何進行的,是否嚴格執行了程式碼規範?
基本執行了所有的程式碼規範。
測試/釋出
1. 團隊是否有一個測試計劃?為什麼沒有?
只有驗收標準並未制定驗收計劃。
2. 是否進行了正式的驗收測試?
第一次迭代驗收初步測試完成。
3. 團隊是否有測試工具來幫助測試?
暫未考慮。
4. 團隊是如何測量並跟蹤軟體的效能的?從軟體實際執行的結果來看,這些測試工作有用麼?應該有哪些改進?
暫未考慮。
5. 在釋出的過程中發現了哪些意外問題?
只考慮如期完成專案。不考慮釋出問題。
總結
1. 你覺得團隊目前的狀態屬於 CMM/CMMI 中的哪個檔次?
屬於CMMI一級,完成級。
2. 你覺得團隊目前處於 萌芽/磨合/規範/創造 階段的哪一個階段?
磨合完成,規範初期。
3. 你覺得團隊在這個里程碑相比前一個里程碑有什麼改進?
團隊成員之間學會了溝通交流,效率有了明顯提高。
4. 你覺得目前最需要改進的一個方面是什麼?
程式碼規範需要嚴格執行,並且介面ui需要多加註意,要做出有美感的東西。
5. 對照敏捷開發的原則, 你覺得你們小組做得最好的是哪幾個原則? 請列出具體的事例。
無論團隊內外,面對面的交流始終是最有效的溝通方式
我們團隊每週都會進行至少一次例會,把開發過程中遇到的問題提出來進行面對面溝通交流。
保持簡明 - 儘可能簡化工作量的技藝 - 極為重要
在進行實際開發之間我們都會指定明確的開發計劃,按照計劃一項一項完成工作。
只有能自我管理的團隊才能創造優秀的架構, 需求和設計
團隊成員尤其是PM,都十分自律,嚴格執行各項計劃。
總的來說,我們團隊整個進度和工作氛圍都比較好,也按期、順利、高質量的完成了各種工作,希望第二次迭代能夠繼續保持!