如何成為一個出色的敏捷開發(fā)者 —— 把習(xí)慣變成理念
敏捷開發(fā)不僅僅與開發(fā)人員有關(guān)
沒有人希望自己交付出去的軟件充斥著大量的漏洞和性能問題么库,而且還沒能讓客戶滿意。持續(xù)集成和代碼審閱可以防止這種情況的發(fā)生该互,但問題是誰有時間干這些事随橘,對吧扬卷?今天,敏捷團隊就能擠出時間财岔。
敏捷開發(fā)者關(guān)注的是項目的可持續(xù)性發(fā)展——而不是個人英雄主義咸这∠蔽可持續(xù)性關(guān)乎項目周期的估計是否準(zhǔn)確州丹,代碼管理分支策略的有效性墓毒,自動化測試對代碼質(zhì)量的保證以及能快速獲得用戶反饋的持續(xù)部署主胧。踐行可持續(xù)開發(fā)需要大家都認可的規(guī)范己英,但實際上,當(dāng)大家各自為政時就很難達成共識熊楼。因為沒人能憑空搞敏捷開發(fā)踩晶,它一定需要整個團隊文化作為后盾执泰。這就意味著得讓項目負責(zé)人明白質(zhì)量可遠比范圍和進度重要,這通常就是踐行敏捷開發(fā)最麻煩的地方渡蜻。
「CODING 企業(yè)版」作為企業(yè)級軟件研發(fā)管理系統(tǒng)术吝,助力團隊敏捷開發(fā)轉(zhuǎn)型升級。
不過這么做是值得的晴楔。開發(fā)人員可以因此獲得解脫顿苇,從而開發(fā)出更可靠的軟件峭咒,還能一直保持與業(yè)務(wù)的密切聯(lián)系税弃。而業(yè)務(wù)層面則可以向市場推出更高質(zhì)量的產(chǎn)品,進一步增強業(yè)務(wù)與開發(fā)之間的聯(lián)系凑队。另外(這是敏捷開發(fā)最好的地方)则果,敏捷開發(fā)者很少會面臨“死亡之旅”(譯者注:這是個軟件工程領(lǐng)域的玩笑,指項目要交付的最后幾個月大家拼死拼活加班趕項目)漩氨。我們有時為了保持項目的高質(zhì)量而付出了比預(yù)期更多的努力西壮,導(dǎo)致開發(fā)落后于預(yù)期進度,這種情況下項目管理鐵三角的“實現(xiàn)范圍”部分可以適當(dāng)改變叫惊,這樣大家都能輕松些款青。
所有軟件開發(fā)人員都了解項目管理的“鐵三角”即:范圍,進度和質(zhì)量霍狰。我們大多數(shù)人都參與過那種實現(xiàn)范圍死板抡草,進度混亂并且工作量因技術(shù)債不斷增加而不堪重負的項目。還有比這更糟糕的蔗坯,有時最終交付的產(chǎn)品根本不是市場所需要的康震。這些事想想就讓人深受打擊。
別擔(dān)心:這有個好消息宾濒。
在敏捷開發(fā)中腿短,實現(xiàn)范圍是可以動態(tài)變化的,這可以使團隊保證開發(fā)質(zhì)量并營造出充滿活力的氛圍,同時還能兼顧與業(yè)務(wù)層面的密切聯(lián)系橘忱。我們有充分的理由認為赴魁,敏捷是每一個開發(fā)團隊(也包括很多非開發(fā)團隊)的核心。
敏捷不僅僅是一系列套路钝诚,它更是一種文化和技術(shù)哲學(xué)尚粘。
它可以使開發(fā)者個人在自己的產(chǎn)品中建立堅實的技術(shù)基礎(chǔ),并在團隊中樹立協(xié)作文化敲长。敏捷團隊的開發(fā)者更加樂意于投入工作郎嫁,編寫的代碼質(zhì)量也更高,獲得的樂趣也更多祈噪。
「CODING 企業(yè)版」提供強大又易用的 Code Review 代碼審閱功能泽铛。
牢靠的團隊關(guān)系就意味著更好的產(chǎn)品
敏捷是關(guān)乎團隊合作的,這并不奇怪辑鲤,因為今天的大多數(shù)軟件都是由團隊開發(fā)的盔腔。開發(fā)人員要與產(chǎn)品管理,設(shè)計月褥,質(zhì)量監(jiān)控以及運維建立牢固的聯(lián)系弛随,編寫可持續(xù)代碼即意味著與項目的各個方面保持聯(lián)系。鼓勵開發(fā)人員直接和業(yè)務(wù)層面其他部門合作的公司宁赤,在代碼質(zhì)量和開發(fā)人員滿意度方面獲得了顯著的成效舀透。比如:代碼質(zhì)量變得更好, “徒勞的努力”變少了(即重復(fù)工作或者工作流沖突)决左,以及各部門之間有了更多的交流愕够。
交流意見是很重要的。敏捷團隊會進行交叉訓(xùn)練佛猛,以確保整個團隊都能理解代碼的基本理念惑芭。這樣做的一種常見方式就是代碼審閱,它不僅能保證代碼質(zhì)量继找,還可以使整個團隊都熟悉代碼遂跟。無論以什么方式推廣這種理念,敏捷團隊不會因為由于只有某些人能理解特定代碼導(dǎo)致負責(zé)這些關(guān)鍵部分的開發(fā)人員沒法休息婴渡,誰也不想當(dāng)這樣的程序員幻锁。
與瀑布模式開發(fā)的同行相比,敏捷開發(fā)者能夠更輕松地在產(chǎn)品技術(shù)棧的上下游切換工作缩搅,因為敏捷團隊可以自我組織越败,讓成員們有更多機會學(xué)會新技能。實際上硼瓣,讓開發(fā)人員接觸從 UI 到數(shù)據(jù)庫的完整特性究飞,可以讓他們對代碼有更好的掌控置谦。在提倡分享知識的團隊或公司,我們更能培養(yǎng)全棧工程師亿傅。
編程媒峡,理念以及使敏捷開發(fā)更出色
敏捷就是指在你的組織中要建立起一種偉大的發(fā)展文化。請繼續(xù)保持關(guān)注以了解更多有關(guān)有效分支策略葵擎,自動化測試技術(shù)谅阿,持續(xù)集成以及如何與其他業(yè)務(wù)部分建立有效聯(lián)系的信息。下一篇文章將深入討論數(shù)以千計的開發(fā)人員在敏捷開發(fā)轉(zhuǎn)型過程中所做的具體工作酬滤,以及敏捷理念是如何驅(qū)動項目的签餐。
敏捷開發(fā)是一趟修煉之旅,我們會在每一步做你的后盾盯串。
「CODING 企業(yè)版」提供全方位工具支持氯檐,研發(fā)流程全紀(jì)錄。
本文譯自:How to be an awesome agile developer体捏。
編譯者:程景天冠摄。