Vision(愿景):
一個軟件如果沒有明確的Vision,就如同在旅途中失去了方向。而且此Vision要能被團(tuán)隊所有人接受,并能激發(fā)大家的工作激情。所以在軟件開發(fā)的開始階段,確定Vision是件極其重要的事情。好的Vision會讓團(tuán)隊所有人充滿激情,并能夠很容易地被外界認(rèn)可。
Scenario(想定)and Persona(角色):
在軟件開發(fā)之前,需要弄清楚這個軟件的用戶是誰,他們的需求是什么。找?guī)讉€典型的Persona來體驗幾個典型的Scenario是非常重要的。這會讓開發(fā)人員明白他們要做什么,軟件究竟需要提供什么功能。
Feature List (特征清單)and Spec(說明書):
編程人員一般不原意寫這兩個東西,總是Feature跟著程序變,Spec很多時候也只是為了完成任務(wù)。一個成功的軟件在開始coding之前,需要有詳細(xì)的Feature List和Spec,特別在一個團(tuán)隊中,而且它們需要在團(tuán)隊中一起討論得到,每個人都應(yīng)該清楚。如果沒有這些文檔,軟件開發(fā)就會變得混亂。
Design(設(shè)計)and Review(回顧):
軟件設(shè)計得好壞直接關(guān)系到軟件的質(zhì)量,代碼的質(zhì)量也是跟軟件質(zhì)量息息相關(guān)。如何做一個好的設(shè)計和編寫高質(zhì)量的代碼?讓團(tuán)隊一起來Review你的設(shè)計和代碼,讓別人盡可能多的Chanllenge你。團(tuán)隊每一人的設(shè)計都需要讓其他人知道,讓問題盡可能在開發(fā)的早期暴露出來。Review也是學(xué)習(xí)的過程,年輕不怕犯錯誤。Review也會真正的讓寫程序變成一種態(tài)度。
Test(測試):
Test不同于Debug。Test分為很多種,是軟件質(zhì)量的一個很重要的保證。Usability Test,即用戶體驗,也很重要。
Communication(交流):
團(tuán)隊需要交流,不然就僅僅是幾個人湊在一起而已。項目中大多數(shù)問題的解決都?xì)w功于交流。
Triage:
這個很有趣,一般是在很棘手的問題或者項目后期對一些Bug或者還沒實現(xiàn)的Feature的討論。就是團(tuán)隊的人坐在一起討論這些Bug是不是要Fix,哪些Feature一定還需要實現(xiàn),哪些需要Cut掉。需要最后給出決定。
Post Mortem:
一般是在項目快結(jié)束的時候,團(tuán)隊所有人坐在一起討論哪些地點做得好,哪些地方做得不好,為什么會這樣。這個很重要也是很必要的,因為人生就需要經(jīng)??偨Y(jié)和反思。
Leader:
Leader需要把握項目的整體,驅(qū)動團(tuán)隊向前,把整個團(tuán)隊牢牢地團(tuán)結(jié)在一起,而且很多時候要快速地對情況做出反應(yīng),快速地做出適當(dāng)?shù)臎Q定。