咱們在Beta階段任務主要分爲兩部分,一類是對原功能的擴展,一類是新的博文功能。咱們經過規格說明書定義功能,至少比Alpha階段清楚多了。典型用戶和典型場景仍是沿用的Alpha階段。前端
基本達到了目標。可是計劃實現的功能太多了,最終只實現了大多數功能,一些非核心功能就被棄掉了。咱們在展現的前兩週發佈,而且達到了預計的訪問量(原計劃600,如今達到了802),只是註冊量還差一點(原計劃300,如今達到了244),不過這個結果已經遠遠優於Alpha階段了。java
提升了。主要體如今文檔更爲明確了,咱們會根據數據庫文檔和規格說明文檔進行功能定義,沒必要在開發過程當中去糾結應該作什麼,開發功能的速度明顯優於Alpha階段。並且咱們的分工更佳明確,兩名後端一人負責一大塊,減小了溝通的花費,效率確實上升了。並且咱們優化了貢獻分分配的公式,更佳簡潔明瞭,弱化了PM主觀因素。數據庫
Alpha階段結束的時候訪問量爲220,如今已經突破了800,我認爲用戶量還算達到了目標。不過在發佈後又出現了不少問題,好比有些資源提示404(是課程中心的問題),還有同袍認證存在問題,以及用戶上傳的資源丟失等等,這些問題都是咱們以前從未預料過的。可是也有用戶反饋說獲取到了很難獲取的資源,這一點咱們也很欣慰。實際上,咱們在Beta階段新增了不少諸如課程收藏、資源評價等等提升用戶體驗的功能,可是如今尚未獲得用戶的反饋。編程
儘早宣傳,因爲咱們宣傳得比較晚,致使最終的用戶量和彙報時用戶量相差比較大。應該把反饋功能儘早銜接到網站上,而不是依賴於用戶羣。後端
有的,實際上在Alpha階段發佈以後就已經開始考慮Beta階段的功能了。數組
在討論的時候PM主張先對原有功能進行擴展,而組員們的大體意見是先實現博文功能,以更快速地獲得反饋。這一點PM最終仍是遵從了組員們的建議。工具
沒有作完。由於咱們Beta階段少了一名前端開發,同時可支配的時間比Alpha階段要少(由於各類大做業和考試,尤爲是編譯佔得時間不少),致使時間一直很緊張。性能
有的。主要是後端開發了不少功能最終因爲前端比較緊張沒能銜接上。早知道這樣真應該減小一些功能,提升軟件工程的質量。單元測試
只要按照說明文檔那樣實現就能夠交付了。前端的話會事先商量,並對原型圖進行適當改動。可是感受定義得不是很清楚。測試
基本按照計劃進行,最後階段有些脫節,主要是沒有想到那一陣子這麼忙……
沒有設立緩衝區。
減小任務量,並明確各個任務的優先級。
精簡要實現的任務,設立優先級,根據優先級依次實現任務,這樣就算有突發狀況致使任務沒作完也能保證最核心的部分都實現。
並無,咱們少了一名前端開發,Beta階段咱們用來作軟工的時間也少了不少、
首先咱們有了Alpha階段的開發經驗,咱們會把要實現的功能和Alpha階段已經實現的功能進行對比,比較一下難度,由於Alpha階段任務的實現時間是已經肯定的,因此能夠以此估計任務所需的時間。
咱們有專門的測試人員,並且後端實現的功能也會簡單進行測試,這部分資源是足夠的。咱們這裏沒有單獨的美工設計和文案人員,後期的宣傳你們都作了必定工做。
沒有,咱們分工都很明確了,是可讓別人來作,但是別人也有本身的工做啊。
咱們必定要在Beta階段開始前儘量拉人。
是的,重大的決定咱們會在會議上宣佈,若是沒有開會的條件也會在羣裏爭取你們的意見。至少咱們會讓和變動密切相關的成員第一時間瞭解到變動。
先大約估計了一下各個功能實現的成本,先實現時間肯定、成本較低的功能,也考慮了功能的重要性,但沒有將這一點放在主要位置。主要仍是時間太緊了,擔憂最後的結局是一個重要的功能沒實現完,其它功能也沒時間實現了。
後端有接口說明文檔,前端有原型設計圖,若是有臨時變動也會事先打好招呼,感受定義得還算清晰。
咱們大概知道接下來要作什麼,可是計劃還不是很詳細和明確。
若是沒有分配太多任務的話,仍是能夠有效處理的。這也和其餘學科的壓力相關。
主要學到的是應變能力。Beta階段咱們的變動不算太多,主要體如今Beta階段剛開始的計劃上,但一旦肯定了大致的方向,後面變動得就不多。
大部分設計工做都在Beta開始前以及第一週開頭這一部分,主要由PM負責,是合適的時間和合適的人。但也有少部分設計是在開發過程當中進行的。
當時首頁的原型設計太難實現了,後來就大體想作得簡單點,卻沒有額外畫新的原型設計,對於前端確實是個模棱兩可的狀況。咱們有過交流,咱們交流了彼此的思路,最終效果挺滿意的。
咱們主要是依靠說明文檔,定義了輸入和輸出格式,測試的時候只是本身編寫測試樣例去測試。
博文功能Bug最多,這裏主要是前端,一是人手不足,二是bug不太好解決,自己實現難度也比較大。在發佈以後咱們發現搜索的結果有小几率會出現不全的狀況,由於咱們的編碼不涉及搜索邏輯的部分,因此就沒太在乎,再加上這個問題出現機率較低,並且出現了也很難注意到。
感受並無嚴格按照代碼規範,一些遺留的不符合規範的變量名並無及時作修正。
咱們在這一階段太過注重功能的實現了,時間又緊,人力資源又少,一直處於一個很緊張的狀態。若是重來一遍咱們會放棄一部分功能,將更多的時間用在代碼管理上,保證軟件工程的質量。
測試計劃不是很詳細,主要是前端和後端都忙着開發,測試工做基本所有由測試人員獨自完成。
有,除了功能測試以外,還進行了壓力測試,優化以後又測試了幾回。
功能測試使用java版本的selenium,負載測試採用jmeter和badboy實現。
咱們一開始保證正確性的模擬的最大用戶量是30+,這個結果已經不好了。以後咱們爲進程分配了更多的資源,將用戶量穩定在100出頭。最終PM和後端又針對性能的瓶頸(課程貢獻分計算)作了優化,最終大幅度下降了訪問時間,可以承受住140+用戶的連續訪問。
感受應當提升測試的頻率,下降測試的時間,下降測試的成本。有時候後端須要肯定優化的效果,須要依靠測試來肯定性能瓶頸有沒有被解決。感受應當每名成員都掌握部分測試能力,這樣沒必要徹底依賴於測試人員,本身打個招呼就能夠隨時測試。
過去的文件消失了,懷疑是被誤刪了,好在都是開發人員上傳的文件,不涉及用戶上傳的文件。
Alpha階段中性能瓶頸不明顯,沒有感覺到優化的重要性。若是重來一遍,咱們會在開發過程當中就注意儘可能使用花銷較小的實現方式,好比遍歷數組儘可能不經過下標訪問等等,這些細節能夠提升一部分性能。
和Alpha階段同樣的分工,同窗們通過了Alpha階段的提升,對本身的本職工做也很瞭解了。
常常互相幫助,有不懂的問題就跟羣裏問一問。
及時溝通,線上說不清楚就私下說,你們住的都比較近,基本全部的問題都能經過溝通解決。
理解了溝通的重要性,以及如何明確地將任務分配給我的。
可重複級(Repeatable),咱們有了一些經驗,也制定了一些標準,可是還不夠成熟。
創造階段。你們的目的都是讓產品作得更好,全部人都在主動爲項目貢獻本身的力量,無需監督。同時爲實現功能實現的技術成員也會進行自學。
從口頭分配任務到文檔分配任務,功能的實現有據可依,成員分工明確,交集更少,下降無用溝通。
代碼質量,開發過程太過倉促了,重視了功能,忽略了代碼的管理,致使代碼缺乏結構性。
圍繞被激勵起來的人個來構建項目。給他們提供所須要的環境和支持,而且信任他們可以完成工做:咱們在分配任務的時候充分信任組員的能力,相信他們可以完成任務
在團隊內部,最具備效果而且富有效率的傳遞信息的方法,就是面對面的交談:咱們遇到困難的時候常常私下見面,線下交流的效率遠高於線上。