曾經(jīng)的軟件開發(fā)氏淑,coder們有一個(gè)共同的夢(mèng)想:需求在開發(fā)過程中不要產(chǎn)生啥變動(dòng)。無數(shù)次實(shí)踐硕噩,我們得到了一個(gè)不爭(zhēng)的事實(shí):需求的變動(dòng)是必然的(比如這幾天我在溝通的模塊需求夸政,已經(jīng)出了五版需求規(guī)格說明書,周一開發(fā)著手?jǐn)]代碼榴徐,今天還變動(dòng)了一版需求)守问。在這種事實(shí)無法改變的情況下,首先我們需要改變自己的心態(tài)坑资,擁抱變動(dòng)的需求耗帕。其次,行業(yè)的奠基者們就在思考:擁抱變動(dòng)的需求這心態(tài)很好袱贮,與此同時(shí)我們有沒有什么辦法可以讓coder們更適應(yīng)這種情況呢仿便?于是偉大的奠基者們成立了一個(gè)Agile聯(lián)盟,也就是現(xiàn)在多數(shù)項(xiàng)目攒巍、團(tuán)隊(duì)在使用的敏捷開發(fā)嗽仪。
第一次接觸敏捷,是在大三的課程軟件設(shè)計(jì)上柒莉。這是一門很神奇的課程闻坚,知識(shí)點(diǎn)巨多,考試范圍是200頁(yè)P(yáng)PT兢孝,因此印象十分深刻窿凤。課堂上仅偎,老師說:敏捷提倡快速響應(yīng)需求,提倡以人為本(即人與人的溝通勝過人與機(jī)器的溝通)雳殊。能記住的不算多橘沥,大致就是這幾句話。第一次真正了解敏捷夯秃,是在目前正在做的項(xiàng)目中座咆,當(dāng)時(shí)新入職的QA申請(qǐng)購(gòu)買了一套JIRA,因此有了一個(gè)機(jī)緣了解敏捷仓洼。
JIRA是一個(gè)敏捷管理平臺(tái)介陶,JIRA留著下次講,今天還是先講敏捷開發(fā)的概念和應(yīng)用衬潦。
首先來一段經(jīng)典的敏捷宣言:個(gè)體和互動(dòng)高于流程和工具斤蔓;工作的軟件高于詳盡的文檔;客戶合作高于合同談判镀岛;響應(yīng)變化高于遵循計(jì)劃弦牡。對(duì)于以上宣言,我只想說一個(gè)字:酷漂羊。因?yàn)樾枨笞儎?dòng)是必然的驾锰,我們選擇響應(yīng)變化(快),通過人與人的直接溝通(快)來完成需求的溝通與理解走越、通過軟件(體現(xiàn)了云的概念)來記錄需求并記錄項(xiàng)目的成長(zhǎng)(快)而非選擇冗長(zhǎng)(編輯費(fèi)時(shí))椭豫、需要再次閱讀(閱讀費(fèi)時(shí))的文檔旨指,最終我們提倡和客戶直接合作、讓客戶參與到項(xiàng)目的開發(fā)中來(快)而非在項(xiàng)目立項(xiàng)初期來談判(項(xiàng)目的談判有可能是半年以前)需求谆构。敏捷宣言中,無不體現(xiàn)著奠基者們心中的時(shí)間觀念搬素。“快”對(duì)于軟件開發(fā)而言是一個(gè)很重要的字眼熬尺,敏捷如是摸屠。但是與此同時(shí)粱哼,敏捷同樣注重軟件的質(zhì)量≡硭保“快”與質(zhì)量似乎是矛盾的税手,但是質(zhì)量是目的蜂筹,快是手段。(似乎歪樓了)
接下來簡(jiǎn)要介紹幾個(gè)詞匯:agile艺挪,sprint、scrum麻裳、product backlog、story board津坑、burn down chart妙蔗。agile疆瑰,即敏捷,提倡快速響應(yīng)需求穆役,快速反饋結(jié)果;sprint耿币,短跑沖刺梳杏,一段開發(fā)周期即一個(gè)sprint;scrum淹接,可以理解為大家(團(tuán)隊(duì)中的全部角色)一股腦的實(shí)現(xiàn)目標(biāo)十性;product backlog即需求池,會(huì)通過列表的形式來體現(xiàn)需求以及需求的重要性塑悼;story board劲适,故事版,故事版說的是一個(gè)需求從開發(fā)--測(cè)試--提交--上線的全流程拢肆;burn down chart减响,即燃盡圖,一開始時(shí)間和資源(coder)是出于滿的狀態(tài)郭怪,隨著項(xiàng)目的一步步推進(jìn)支示、時(shí)間資源的一點(diǎn)點(diǎn)消耗,資源也會(huì)呈現(xiàn)一個(gè)降低(被消耗)的趨勢(shì)鄙才,這個(gè)趨勢(shì)即燃盡圖颂鸿。
在工作中的應(yīng)用:一個(gè)時(shí)長(zhǎng)為5個(gè)工作日的sprint,在周五下班前交付一個(gè)搭載積分功能的應(yīng)用(移動(dòng)端app攒庵,app本身是存在的)嘴纺。首先召集團(tuán)隊(duì)成員(純后臺(tái)開發(fā)败晴,暫時(shí)不要UI以及前端的coder參與)開會(huì),目前我們叫做需求評(píng)審會(huì)議栽渴。成員們都到場(chǎng)了尖坤,產(chǎn)品會(huì)將需求一條一條和大家過,確認(rèn)大家在需求的理解上達(dá)到共同認(rèn)知(盡量保持一致)闲擦,同時(shí)還需要對(duì)技術(shù)慢味、所需時(shí)間、資源進(jìn)行討論墅冷,盡量避免超過預(yù)定周期纯路。隨后,將工作進(jìn)行分配:積分體系搭建--后臺(tái)寞忿,操作獲取--移動(dòng)端(Android驰唬、iOS)、測(cè)試--測(cè)試腔彰、部署--運(yùn)維叫编。大概是這么些工作內(nèi)容,大家明確之后可以開始愉快的擼代碼了萍桌。
周一的需求評(píng)審打響了戰(zhàn)斗的第一槍宵溅。此后的每一天,要求相關(guān)的同事做到如下幾個(gè)事情:在項(xiàng)目管理的工具or某一個(gè)大家公共的區(qū)域(按照任務(wù)的狀態(tài)進(jìn)行劃分)記錄自己的任務(wù)上炎,基本了解項(xiàng)目進(jìn)度恃逻。將實(shí)現(xiàn)的功能落實(shí)到每一天的工作中,最終滿足需求藕施,實(shí)現(xiàn)既定目標(biāo)~~此后的每一天寇损,也要求站會(huì),利用十來分鐘時(shí)間召集項(xiàng)目成員溝通需求的完成情況裳食,是否有困難等等矛市,這里也體現(xiàn)了一個(gè)快速響應(yīng)的概念。
關(guān)于人與人的溝通這一塊诲祸,其實(shí)我很有欠缺--由于開發(fā)團(tuán)隊(duì)在北京,因此人與人的溝通(需求評(píng)審救氯、站會(huì))縮水到了需求評(píng)審着憨,每日站會(huì)會(huì)通過QQ的方式和大家進(jìn)行溝通。曾經(jīng)一度漆改,對(duì)變動(dòng)的需求無法調(diào)整心態(tài),后來實(shí)踐了敏捷項(xiàng)目管理去扣,感覺需求變動(dòng)也就是那么肥事~~
啊厅篓,今天特別忙碌捶码,忙碌到哭泣或链。充實(shí)的每一天,戰(zhàn)斗的人生祈纯。