敏捷開(kāi)發(fā)失敗的五個(gè)原因以及解決方案
敏捷開(kāi)發(fā)是一個(gè)可以改變軟件交付方式的框架且效果十分驚人,但鑒于需要反復不斷規劃、測試、集成以及其他進(jìn)行中的開(kāi)發(fā)方式,敏捷開(kāi)發(fā)在某些情況下行不通。下文將對常見(jiàn)的敏捷開(kāi)發(fā)失靈以及相應的解決方案展開(kāi)講解。
本文引用地址:http://dyxdggzs.com/article/202211/440231.htm敏捷開(kāi)發(fā)是一種迭代型軟件交付方式
敏捷開(kāi)發(fā)的目標是根據反饋來(lái)逐步構建和交付軟件,而不是一次性交付整個(gè)解決方案。標準軟件開(kāi)發(fā)生命周期(SDLC)和瀑布式開(kāi)發(fā)等傳統開(kāi)發(fā)方法已經(jīng)無(wú)法快速、高效地交付解決方案。耗費數年完成的瀑布式開(kāi)發(fā)項目在結束時(shí)所交付的解決方案,也未必能完全滿(mǎn)足當下的用戶(hù)需求。每個(gè)IT部門(mén)和軟件開(kāi)發(fā)公司都會(huì )遇到這個(gè)問(wèn)題,這就是為什么在需要靈活性的項目中,敏捷軟件開(kāi)發(fā)正在成為新趨勢。
敏捷開(kāi)發(fā)包含四種主要角色:產(chǎn)品負責人、敏捷教練(ScrumMaster)、開(kāi)發(fā)人員和終端用戶(hù)或業(yè)務(wù)團隊。
● 產(chǎn)品負責人的作用是推動(dòng)解決方案愿景的實(shí)現,他們需要知道建立哪些核心流程。
● 敏捷教練的作用是排除開(kāi)發(fā)團隊所遇到的障礙,并通過(guò)各種可能的方式提供協(xié)助。
● 開(kāi)發(fā)團隊包括軟件工程師、質(zhì)保團隊和任何其他參與解決方案構建的人員。
● 終端用戶(hù)是使用最終敏捷應用的人。
敏捷開(kāi)發(fā)失敗的五個(gè)原因
根據我與醫療保健、金融、教育、政府等垂直行業(yè)公司的合作經(jīng)驗,每家公司都對敏捷開(kāi)發(fā)有著(zhù)不同的理解。雖然每家公司都會(huì )根據自己特有的用戶(hù)群體來(lái)自定義流程,但他們總會(huì )犯一些常見(jiàn)的錯誤。以下是進(jìn)行敏捷開(kāi)發(fā)時(shí)的五大常見(jiàn)錯誤以及我的避免方法建議。
· 缺乏信任
缺乏信任會(huì )扼殺團隊項目,對工作環(huán)境會(huì )產(chǎn)生巨大的不良影響。由于涉及到大量機動(dòng)的任務(wù)和人員,再加上每1-2周就要交付新功能的壓力,在敏捷開(kāi)發(fā)流程中必然會(huì )出現溝通不暢的情況。
因此,保持開(kāi)發(fā)過(guò)程中的透明性十分重要。也就是說(shuō),所承諾的最后期限和交付內容必須合理,讓每個(gè)人都感到他們在為一個(gè)共同的目標而努力。
敏捷教練需要為團隊服務(wù),包括排除開(kāi)發(fā)團隊可能遇到的障礙、為產(chǎn)品負責人和其他相關(guān)方提供建議與輔導,以及防止開(kāi)發(fā)團隊受到其他因素的干擾。
在一些項目中,我見(jiàn)過(guò)試圖支配團隊工作的敏捷教練,他們事無(wú)巨細地管理所有活動(dòng)。這種領(lǐng)導方式不僅損害了團隊的士氣、表現出不信任,而且還妨礙團隊實(shí)現目標。我也見(jiàn)過(guò)相反的情況,也就是敏捷教練對工作不聞不問(wèn),可能只參加會(huì )議,對團隊的工作毫無(wú)頭緒,甚至一無(wú)所知。
敏捷教練應該平易近人、能夠快速地意識到問(wèn)題并及時(shí)解決。他們應該了解正在構建的技術(shù)并盡自己所能提供幫助。下圖展示了敏捷教練應該如何工作:
圖1 敏捷教練對于管理互動(dòng)和團隊來(lái)說(shuō)至關(guān)重要
產(chǎn)品負責人需要具備相關(guān)領(lǐng)域的專(zhuān)業(yè)知識、了解技術(shù)和業(yè)務(wù)需求并制定產(chǎn)品愿景,其作用是對用戶(hù)反饋進(jìn)行把關(guān)、提供明確的指導并管理期望。該角色需要與終端用戶(hù)和開(kāi)發(fā)團隊互動(dòng)交流,指導大家開(kāi)發(fā)出所需要的業(yè)務(wù)解決方案。
圖2 理想的產(chǎn)品負責人
在我最初接觸的一個(gè)項目中,客戶(hù)需要在2-3周內投產(chǎn),并在用戶(hù)驗收階段幫助修復bug。我們迅速解決了出現的bug,但發(fā)現很多用戶(hù)的實(shí)際反饋是對功能的請求。用戶(hù)在投產(chǎn)最后期限前的2-3周提交功能要求并希望都能夠得到滿(mǎn)足。產(chǎn)品負責人沒(méi)能管理終端用戶(hù)的期望,也沒(méi)有明確功能與bug的區別,只是將信息傳遞給開(kāi)發(fā)團隊,并指望他們搞定一切,該項目的最后期限自然越拖越長(cháng)。
產(chǎn)品負責人必須理解業(yè)務(wù)目標并推動(dòng)項目愿景的實(shí)現,同時(shí)還需要保持堅定并明確管理用戶(hù)的期望。否則就連項目的第一階段都有可能永遠無(wú)法完成,這就是范圍蔓延所帶來(lái)的影響。
一個(gè)項目越復雜,花費的時(shí)間就越長(cháng),出現的問(wèn)題也就越多。在處理復雜的需求時(shí),開(kāi)發(fā)團隊和敏捷教練應盡可能一起規劃和設計解決方案,將復雜的需求分解成更小的需求并逐漸進(jìn)行迭代。
如果團隊遇到任何障礙,或者敏捷教練注意到任何可能在將來(lái)成為障礙的問(wèn)題,應該提前提出并制定解決方案。我們必須清楚在迭代過(guò)程中,對應用作出的每一個(gè)改變都是有成本的。
· 使用錯誤的工具
有些工具專(zhuān)為敏捷交付而生,比如西門(mén)子低代碼!有了西門(mén)子低代碼,就相當于有了所有用于敏捷迭代規劃和項目交付的工具。團隊開(kāi)發(fā)服務(wù)器能夠處理所有用戶(hù)故事和迭代。下圖就是一個(gè)用戶(hù)故事和迭代開(kāi)發(fā)的示例。
圖3 當前迭代用戶(hù)故事截圖
圖4 用戶(hù)故事的流程和燃盡圖
使用西門(mén)子低代碼更好地發(fā)揮敏捷開(kāi)發(fā)的作用
西門(mén)子低代碼可以解決所有上述常見(jiàn)問(wèn)題,是一個(gè)可以不間斷提升敏捷開(kāi)發(fā)流程、加強敏捷開(kāi)發(fā)框架的工具。產(chǎn)品負責人、敏捷教練、開(kāi)發(fā)人員和終端用戶(hù)或業(yè)務(wù)團隊都可以從低代碼中受益。
您只需通過(guò)團隊開(kāi)發(fā)服務(wù)器的功能即可跟蹤項目進(jìn)展,無(wú)需再使用電子表格或白板。西門(mén)子低代碼不僅使開(kāi)發(fā)流程變得更簡(jiǎn)單、更快速,而且還提供實(shí)現有效、敏捷項目管理的正確工具。
敏捷開(kāi)發(fā)是整個(gè)團隊的事情
總之,如果團隊存在信任、有“理想的”敏捷教練和產(chǎn)品負責人愿意共同努力解決問(wèn)題,而且能夠組合式使用正確的工具和方法來(lái)簡(jiǎn)化流程,那么敏捷開(kāi)發(fā)就會(huì )非常有效。每家公司的情況不同,都有自己的文化和IT架構。公司內部和團隊成員之間的信任以及必要時(shí)的培訓與支持,對于項目的成功至關(guān)重要。
評論