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