99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

敏捷開發(fā)者的修煉之道

發(fā)布時間:2016-09-03 13:46  回復(fù):0  查看:2392   最后回復(fù):2016-09-03 13:46  

今天,我們談一下一名普通的敏捷開發(fā)實踐者該如何修煉自身的技能。因為畢竟能夠成為scrum master,對于很多人來說可能還是幾年后的事情,那么我們需要著眼于現(xiàn)在,通過不斷的修煉,提升自己的能力。

那么我們作為team中的一員,該如何修煉自身的敏捷開發(fā)之道呢?我想可以通過以下三個方面,不斷錘煉自己。然而鑒于篇幅原因,本文對于文章中提到的各點只做一些引述,接下來我會陸續(xù)發(fā)表對于各部分詳細(xì)內(nèi)容的專題文章,希望大家關(guān)注,也希望能和您探討,我們共同進(jìn)步:)

敏捷開發(fā)思想之道

 

既然是一名敏捷開發(fā)者,敏捷思想的掌握自然首當(dāng)其沖。在敏捷開發(fā)實施的過程中,我們雖然不是scrum master,沒有管理scrum流程的職責(zé),但是對于流程,角色,職責(zé)的理解熟悉是非常必要的,不然參與了半天的敏捷開發(fā),到頭來卻還說不出個所以然來可不行。作為一名敏捷開發(fā)者,我們需要:

1. 熟知流程

下圖詳細(xì)描繪了scrum的流程以及流程中各元素及其作用。作為team中的一員,我們應(yīng)該將流程以及其中的工具熟記心中,并嚴(yán)格要求自己按照流程工作,讓敏捷開發(fā)的思想融入到自己的血液之中。例如,關(guān)于站會,很多team 成員根本沒有當(dāng)回事,認(rèn)為這只是個形式,敷衍了事。究其原因,就是他們對于其根本的思想沒有領(lǐng)會,因而態(tài)度不正,最終使得站會流于形式。 Scrum中的每一類會議都有其存在的重大意義,我們應(yīng)該認(rèn)真體會,高度重視。當(dāng)我們把這些都已形成了習(xí)慣,你會發(fā)現(xiàn)Scrum原來如此之美。關(guān)于scrum中各部分的具體的分析,之后會陸續(xù)發(fā)布文章。

對于此點,市面上的書不少,但是都緊緊局限于理論。我覺得其實敏捷思想的內(nèi)容不多,每本書上講的也都大同小異。問題的重點不在于看書,而在于通過自身敏捷實踐的體會,將理論聯(lián)系到實踐當(dāng)中,感受它給我們的軟件開發(fā)工作帶來的好處與樂趣。

敏捷開發(fā)者的修煉之道

圖片來源于網(wǎng)絡(luò)

2. 厘清職責(zé)

熟悉了流程,我們還需要認(rèn)清各種角色,并定位自己。上面圖中可以看出,敏捷開發(fā)中共有四種不同的角色。作為team成員的我們,自然首先應(yīng)該熟記自身的職責(zé),并了解其它角色的職責(zé)。圖中有每個角色的具體的職責(zé),在這里就不再重復(fù)敘述。我們將重點關(guān)注于我們自身。作為team中的一員,我們最重要的就是功能的開發(fā)以及維護(hù)。這就要求我們自己要不斷的增強(qiáng)自身能力,使得自己負(fù)責(zé)的功能的質(zhì)量有所保證。關(guān)于如何增強(qiáng)自身能力,在下面的面向?qū)ο箝_發(fā)之道中我會提出我的見解。

3. 協(xié)作溝通

協(xié)作與溝通是敏捷開發(fā)的重要特征。team中的每一個成員都應(yīng)該理解其重要性。對于team成員來說,溝通包括與scrum master的溝通,與product owner的溝通,以及team成員之間的溝通。協(xié)作則是team成員間的協(xié)作。我們應(yīng)該敞開心扉,抱著助人即為助己的態(tài)度。

面向?qū)ο箝_發(fā)之道

 

作為一名敏捷開發(fā)者,熟悉面向?qū)ο蟮拈_發(fā),深諳其道,深知其理非常重要。在我看來,對于每一個sprint的每一個task的開發(fā),都遵循著這樣一個四步循環(huán):首先是需求分析,通過我們拿到的交互圖開始進(jìn)行詳細(xì)的需求的分析;其次,當(dāng)我們通過交互圖的分析,將每一步都了然于胸的時候,開始著手設(shè)計,這是設(shè)計模式表演的時刻,我們運用合適的設(shè)計模式設(shè)計相應(yīng)的功能,完成后得到設(shè)計圖;再次,根據(jù)設(shè)計圖開始編寫代碼;最后,當(dāng)這一切完成之后,我們會開始審視當(dāng)前的工作,發(fā)現(xiàn)問題后做適當(dāng)?shù)闹貥?gòu)。這樣對于每一個我們完成的task,我們就能夠保證其質(zhì)量都是過關(guān)的。下面我們逐步解釋。

第一階段:需求分析

在開始每個task之前,我們首先要做的就是仔細(xì)分析UX交付給我們的用戶交互圖,我們通過對用戶交互圖的深入理解,以及在sprint plan meetingbacklog grooming meeting的對于task的深入分析,做到將task的具體內(nèi)容與流程熟記于心,胸有成竹。

第二階段:設(shè)計模式

通過對交互圖的分析,現(xiàn)在我們已經(jīng)對task有了具體的理解,那么這個階段我們可以開始對task進(jìn)行詳細(xì)設(shè)計了。這個階段的關(guān)鍵是如何設(shè)計出一套可復(fù)用,可擴(kuò)展,可測試的方案來。我們應(yīng)遵循面向?qū)ο蟮膸讉€設(shè)計原則(之后的文章會詳述),將功能的流程圖,類圖,對象圖等5圖設(shè)計出來。敏捷開發(fā)中并不強(qiáng)調(diào)文檔的必要性,因此我們可以通過草圖的方式將設(shè)計思想表現(xiàn)出來,以利于后續(xù)代碼編寫工作的進(jìn)行。至于設(shè)計模式的學(xué)習(xí),經(jīng)典書籍?dāng)?shù)不勝數(shù),推薦兩本:四人幫的《設(shè)計模式--可復(fù)用面向?qū)ο筌浖幕A(chǔ)》,《Head First設(shè)計模式》,國內(nèi)的一本《研磨設(shè)計模式》寫的也不錯。

第三階段:代碼藝術(shù)

現(xiàn)在我們可以開始編寫代碼了。需要注意的是,我們已經(jīng)設(shè)計好了具體的方案,因此我們只需要按照設(shè)計圖紙進(jìn)行施工就好了。這個階段我們需要注意的是代碼的質(zhì)量,也就是所謂的代碼藝術(shù)。寫代碼不是體力活。如果我們僅僅滿足于堆砌代碼,那么我們始終都只能是一個碼農(nóng)。要寫出漂亮的代碼,需要我們自己不斷的揣摩實踐,不斷的修正。對此我會寫一篇關(guān)于代碼藝術(shù)的文章,是自己的一些親身感受與實踐體會。那么這里推薦幾本非常好的書籍:《代碼整潔之道》《代碼大全》《程序員修煉之道--從小工到專家》等。

第四階段:重構(gòu)之術(shù)

到這里task已經(jīng)基本完成了,注意這里僅僅是基本完成,并沒有最終完成。那么這一步我們應(yīng)該做些什么呢?重構(gòu)。我們在編寫代碼的時候,由于各種各樣的原因,可能并沒有按照我們之前設(shè)計的圖紙執(zhí)行。因此,這個階段我們需要重新審視自己的設(shè)計與實際代碼,找到那些背離設(shè)計原則,不可測,不可擴(kuò)展,不可復(fù)用的代碼,逐步重構(gòu),使其最大限度的達(dá)到我們面向?qū)ο笤O(shè)計原則的要求。關(guān)于重構(gòu),可以參考《重構(gòu):改善既有代碼的設(shè)計》寫的非常的好,值得深讀。

至此,task的開發(fā)工作總算完成。接下來就是下一個task,再下一個......循環(huán)反復(fù)。最終確保我們的項目順利向前。

敏捷學(xué)習(xí)之道

 

學(xué)無止境,對于我們程序員尤其如此。敏捷思想對于軟件開發(fā)已取得了革命性的成功。然而我想,敏捷思想不僅僅可以用在軟件開發(fā)領(lǐng)域,在其它的領(lǐng)域依然大有所為。那么我們是不是可以將敏捷的思想運用到日常的學(xué)習(xí)中去呢?怎樣運用呢?通過自己的親身實踐,我覺得我們可以通過如下幾點,將敏捷運用到學(xué)習(xí)的實踐中去。

1. 化整為零,小步前進(jìn),迭代學(xué)習(xí),增量回顧

首先我們將大塊的學(xué)習(xí)內(nèi)容分成每一個小塊,通過在一定周期內(nèi)對于每一個小塊的學(xué)習(xí),最終完成大塊的學(xué)習(xí)。比如我們要看一本書,我們可以將這本書視為一個story,其中每一章視為一個task,那么我們將2周定為一個迭代,每兩周完成一章內(nèi)容,在每個迭代的最后我們進(jìn)行總結(jié)回顧,以此方式不斷前進(jìn),最終實現(xiàn)小步前進(jìn),完成整本書的閱讀。

2. 利用番茄時間法,分解時間,多任務(wù)并發(fā)前進(jìn)

根據(jù)經(jīng)典著作《番茄時間法》,我們也可以將大塊的時間分成一些小塊,對不同的內(nèi)容進(jìn)行學(xué)習(xí)。這樣可以達(dá)到多個任務(wù)同時進(jìn)行,且不會相互干擾。我們可以充分利用時間碎片來學(xué)習(xí),將一些零散的知識,在時間碎片內(nèi)完成學(xué)習(xí)。

通過以上,進(jìn)過一段時間之后,你會發(fā)現(xiàn),你的學(xué)習(xí)的速度和質(zhì)量均會明顯提升,一種酣暢淋漓的成就感油然而生。

 


原文來自:簡書Ifdef_Max

 


您還未登錄,請先登錄

熱門帖子

最新帖子

?