公務(wù)員期刊網(wǎng) 論文中心 正文

敏捷開發(fā)模式在軟件工程項(xiàng)目中應(yīng)用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了敏捷開發(fā)模式在軟件工程項(xiàng)目中應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。

敏捷開發(fā)模式在軟件工程項(xiàng)目中應(yīng)用

摘要:闡述軟件工程項(xiàng)目中的敏捷開發(fā)模式,敏捷實(shí)踐中的產(chǎn)品定義、開發(fā)可持續(xù)性、開發(fā)效率,從而避免人員流動和業(yè)務(wù)變動給敏捷管理模式帶來的沖擊。

關(guān)鍵詞:軟件工程,可持續(xù)性,敏捷開發(fā)。

0引言

對于一般的軟件開發(fā)企業(yè)來說,敏捷開發(fā)模式是最佳的選擇。敏捷開發(fā)以為盡早交付客戶可以工作的軟件為唯一標(biāo)準(zhǔn),強(qiáng)調(diào)人與人的之間的高效溝通,極力減少不必要的工作,盡早得到反饋,鼓勵每個(gè)隊(duì)員挑戰(zhàn)自我,為團(tuán)隊(duì)做出更大的貢獻(xiàn)。敏捷開發(fā)雖然是軟件企業(yè)管理開發(fā)的利器,但是有達(dá)成高效所必要的前提。敏捷開發(fā)模式能迸發(fā)出高效生產(chǎn)率的前提是:保持穩(wěn)定的開發(fā)步驟,保持著穩(wěn)定的開發(fā)團(tuán)隊(duì)。團(tuán)隊(duì)之間彼此默契。但是這個(gè)前提不是每個(gè)企業(yè)都具備的。尤其是中小軟件企業(yè)。

1研究背景

中小軟件企業(yè)的業(yè)務(wù)不是那么固定,有的企業(yè)的業(yè)務(wù)形態(tài)甚至在探索中發(fā)展。業(yè)務(wù)調(diào)整的幅度比較大。而相比大企業(yè),談判的決定權(quán)相對弱勢。加班、趕工的情形相對較多。很難保持相對穩(wěn)定的開發(fā)步驟。無論利潤率和營業(yè)能力也不太穩(wěn)定,因此造成人員流動相對較大,人員的水平也參差不齊。通常幾個(gè)相對的技術(shù)骨干帶著一幫新人或半新人完成。這種結(jié)構(gòu)都對敏捷開發(fā)模式來說是不利的。

2敏捷模式

要解決這個(gè)問題還應(yīng)該回到敏捷開發(fā)最初的本心。敏捷宣言第一句:我們一直在實(shí)踐中探尋更好的軟件開發(fā)方法。這說明敏捷的目標(biāo)是選擇軟件開發(fā)中最好方法。只要開發(fā)方法能提高軟件開發(fā)的效率都應(yīng)認(rèn)可。不一定固守某一套的經(jīng)驗(yàn),應(yīng)該以提高效率為目的而根據(jù)實(shí)際情況不斷的探索和革新。按照這個(gè)思路,應(yīng)該首先承認(rèn)中小企業(yè)現(xiàn)存特點(diǎn)的這些事實(shí)。然后再尋找解決之路。所有企圖改變、漠視和忽略中小企業(yè)業(yè)務(wù)現(xiàn)狀,或者努力將中小企業(yè)變成大型企業(yè)的管理模式的探索都是在“削足適履”,都是對企業(yè)嚴(yán)重的不負(fù)責(zé)任。因此,解決問題的思路應(yīng)該是:(1)盡量與客戶簽訂小規(guī)模迭代版本合同??蛻粢矔档惋L(fēng)險(xiǎn)管控力度。即使項(xiàng)目失敗了,也不會給客戶帶來很大風(fēng)險(xiǎn)。這樣會增加中小企業(yè)的競爭力度。每個(gè)合同版本盡量在1~2個(gè)迭代完成。開發(fā)時(shí)間短,內(nèi)部人員就相對穩(wěn)定了。即使有人員離職也可以要求其完成本次項(xiàng)目再離開。(2)通過敏捷團(tuán)隊(duì)裂變的方式擴(kuò)大團(tuán)隊(duì)。企業(yè)在初期創(chuàng)業(yè)就建立一個(gè)敏捷團(tuán)隊(duì)。因?yàn)楹贤囊?guī)模較小,完全有條件在每個(gè)迭代內(nèi)保持業(yè)務(wù)需求的穩(wěn)定。通過敏捷開發(fā)的運(yùn)行,進(jìn)行團(tuán)隊(duì)磨合,逐步提升團(tuán)隊(duì)的默契程度。通過極限編程模式,提高團(tuán)隊(duì)敏捷開發(fā)的能力。在開發(fā)團(tuán)隊(duì)需要擴(kuò)張時(shí),把最初的敏捷團(tuán)隊(duì)進(jìn)行分裂成兩個(gè)團(tuán)隊(duì)。再由兩個(gè)團(tuán)隊(duì)分裂成四個(gè)團(tuán)隊(duì)。在業(yè)務(wù)收縮時(shí),也可以通過敏捷團(tuán)隊(duì)合并的方式進(jìn)行收縮團(tuán)隊(duì)。(3)公司管理結(jié)構(gòu)一定是扁平的結(jié)構(gòu)。一個(gè)矩陣性的專業(yè)部門,加上可以組合的敏捷團(tuán)隊(duì),兩層管理結(jié)構(gòu)就是最大的管理深度。盡量避免“隱形非正式小團(tuán)隊(duì)“的形成。(4)員工的晉升通過部門定級定檔,員工的績效則通過敏捷團(tuán)隊(duì)的貢獻(xiàn)確定的模式進(jìn)行。每個(gè)員工的晉升和績效影響著員工的積極性和對企業(yè)的忠誠度。企業(yè)的管理機(jī)制一定是能留住單位時(shí)間創(chuàng)造價(jià)值高的員工,流失掉單位時(shí)間創(chuàng)造價(jià)值低員工。形成良性生態(tài)發(fā)展態(tài)勢。晉升的評判應(yīng)該保證總體的客觀公正。如果保持總體客觀公正,要解決兩個(gè)大難題。一個(gè)是客觀數(shù)據(jù)統(tǒng)計(jì)的偏差。第二個(gè)是個(gè)體認(rèn)同客觀的主觀差異。要解決這兩大難題的思路就是:獲得在客觀數(shù)據(jù)統(tǒng)計(jì)的主觀認(rèn)同,再加上主觀認(rèn)定的客觀校正。

3軟件工程中的敏捷實(shí)踐

(1)小規(guī)模合同的產(chǎn)品定義。小規(guī)模產(chǎn)品的難點(diǎn)在于提高商業(yè)價(jià)值的實(shí)現(xiàn)。規(guī)模小自然商業(yè)價(jià)值應(yīng)該不會太高。難以得到客戶的認(rèn)可。在定義產(chǎn)品時(shí),要首先做統(tǒng)一規(guī)劃,并且整體規(guī)劃得到客戶的認(rèn)可。規(guī)劃關(guān)注客戶每一個(gè)關(guān)鍵需求。做到把關(guān)鍵需求分解為適合的版本進(jìn)行迭代。在每個(gè)迭代版本,同樣需要兼顧提交迭代產(chǎn)品的系統(tǒng)可用性。保證每個(gè)迭代版本能讓客戶投入使用。在此前提下,盡量提前交付客戶關(guān)鍵需求,以增強(qiáng)客戶合作下去的愿望。(2)開發(fā)可持續(xù)性的保持。因?yàn)榭蛻舻膹?qiáng)勢地位,“趕工”的場景幾乎無法避免。那么如果保持團(tuán)隊(duì)開發(fā)的可持續(xù)性呢,盡可能降低版本的規(guī)模。降低強(qiáng)勢“趕工時(shí)間”。在團(tuán)隊(duì)管理中,以小時(shí)為計(jì)時(shí)單位。保證強(qiáng)勢“趕工時(shí)間”維持在一定的范圍中。然后強(qiáng)行插入一段休息調(diào)整時(shí)間。加大常規(guī)開發(fā)的自動化程度。常規(guī)業(yè)務(wù)開發(fā)盡量采用低代碼模式。盡量做到只需要做非常規(guī)代碼的開發(fā)。(3)將所有問題擺在桌面上的氣度。團(tuán)隊(duì)的成員之間的有一定的技術(shù)水平差別是一個(gè)事實(shí)。在開計(jì)劃會議時(shí),要尊重每一個(gè)人的觀點(diǎn)。尤其高層管理者參加后,不能流露出對進(jìn)度緩慢的擔(dān)憂。當(dāng)團(tuán)隊(duì)拆分用戶故事的任務(wù)時(shí),要提問技術(shù)相對較弱的成員,確保其已經(jīng)清楚掌握該任務(wù)的做法,不可草率。計(jì)劃會議既擔(dān)負(fù)著規(guī)劃開發(fā)任務(wù)的責(zé)任,同時(shí)也擔(dān)負(fù)著分解和講解需求和設(shè)計(jì)的責(zé)任。只有確保團(tuán)隊(duì)每一個(gè)人都清楚任務(wù)的分解以及最有效的完成方法,每一個(gè)成員都能完成任何一個(gè)的任務(wù),計(jì)劃會議的使命才算完成。

4敏捷成效

溫和爭論的氛圍形成。敏捷團(tuán)隊(duì)的最好的氛圍是:每個(gè)隊(duì)員都充分尊重團(tuán)隊(duì)的每一個(gè)人,每個(gè)人都僅僅是為了提高開發(fā)效率這個(gè)目標(biāo)而進(jìn)行溫和爭論。這就要求每個(gè)隊(duì)員,尤其是技術(shù)好的員工、理解快的員工能夠尊重理解慢的、技術(shù)弱的員工。要耐心的為每一個(gè)員工解釋清楚,讓他們能貢獻(xiàn)更多的工作。鼓勵每一個(gè)提出自己的意見,因?yàn)槊恳粋€(gè)人接觸的項(xiàng)目的視角是不同的,即使不能設(shè)計(jì)出更好的方法,卻能提供必要的信息。因此,要讓團(tuán)隊(duì)每個(gè)人都意識到這一點(diǎn)。每個(gè)人充分尊重其他每個(gè)人的觀點(diǎn)。盡可能幫助其他人貢獻(xiàn)更高的產(chǎn)出。團(tuán)隊(duì)自我提升的愿望形成。公司開發(fā)效率的關(guān)鍵在團(tuán)隊(duì)成員間的親密合作和基于緊密分工的卓越設(shè)計(jì)。因此,提升效率的底層文化邏輯是:團(tuán)隊(duì)成員之間的緊密配合是高效率的前提,每個(gè)人都是組織中的一分子。不斷提升自我設(shè)計(jì)能力以爭取在團(tuán)隊(duì)中發(fā)揮更大作用。形成這種文化邏輯的方法是:公司層面應(yīng)該堅(jiān)持以敏捷團(tuán)隊(duì)為主體進(jìn)行激勵。留有足夠的組內(nèi)民主余地,堅(jiān)持每個(gè)人都可以影響其他人績效分配的權(quán)利。保障組內(nèi)民主氛圍。敏捷團(tuán)隊(duì)的上層管理,不宜介入敏捷團(tuán)隊(duì)的績效分配。

5結(jié)語

敏捷開發(fā)是軟件開發(fā)組織的利器。但是每家公司的業(yè)務(wù)形態(tài)不同,也許還擁有自己獨(dú)特的歷史原因。這些因素都會影響著敏捷效率的發(fā)揮。這些問題在中小企業(yè)中尤為常見。敏捷開發(fā)的宗旨應(yīng)該承認(rèn)這些問題,然后在這些問題的基礎(chǔ)上尋找最好的管理方法。

作者:王斌 單位:南京師范大學(xué)中北學(xué)院