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

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

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

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

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

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

0引言

對于一般的軟件開發(fā)企業(yè)來說,敏捷開發(fā)模式是最佳的選擇。敏捷開發(fā)以為盡早交付客戶可以工作的軟件為唯一標(biāo)準(zhǔn),強調(diào)人與人的之間的高效溝通,極力減少不必要的工作,盡早得到反饋,鼓勵每個隊員挑戰(zhàn)自我,為團隊做出更大的貢獻。敏捷開發(fā)雖然是軟件企業(yè)管理開發(fā)的利器,但是有達(dá)成高效所必要的前提。敏捷開發(fā)模式能迸發(fā)出高效生產(chǎn)率的前提是:保持穩(wěn)定的開發(fā)步驟,保持著穩(wěn)定的開發(fā)團隊。團隊之間彼此默契。但是這個前提不是每個企業(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)定,因此造成人員流動相對較大,人員的水平也參差不齊。通常幾個相對的技術(shù)骨干帶著一幫新人或半新人完成。這種結(jié)構(gòu)都對敏捷開發(fā)模式來說是不利的。

2敏捷模式

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

3軟件工程中的敏捷實踐

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

4敏捷成效

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

5結(jié)語

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

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