雲棲社群通過為期兩個月,對7032份有效調查問卷分析統計,2017年12月釋出了首份《2017中國開發者調查報告》。報告顯示,37.3%的開發者表示,協作工具主要來自企業內部自研的協作工具,有21%的調查者正在使用禪道專案管理軟體作為專案開發協作工具,Jira以17%尾隨其後。禪道以其開源、專業贏得了國內眾多開發者使用者的青睞。
自給自足的開發者特性
從調查報告可以看到,高達37.3%的開發者團隊在工作中採用企業自己研發的協作軟體。由於其自身的開發者屬性,企業自研軟體首先具備了技術基礎,開發者們完全可以實現自給自足;其次,採用自研軟體可以省去一部分軟體購買費用,為企業節省開支;三,自研軟體按照企業需求定製,跟企業的契合度高。
專業軟體使用者佔四成
除了自研軟體,專業的協作軟體同樣擁有眾多青睞者。禪道和Jira的開發者使用者佔到了38%,跟自研軟體的使用者數量基本持平。
跟自研軟體相比,專業軟體擁有穩定的研發團隊和技術支援團隊,既能保證軟體的快速更新,也能隨時提供專業的技術支援和指導服務。而且專業軟體有著多年的市場和使用者基礎,極其貼合使用者需求,適合大多數公司的需要。
開發者使用人數最多的禪道是青島易軟天創公司出品的專案研發類管理工具,它集產品管理、專案管理、質量管理、文件管理、組織管理和事務管理於一體,是一款專業的研發專案管理軟體,完整覆蓋了研發專案管理的核心流程。
緊隨其後的Jira是Atlassian公司出品的專案與事務跟蹤工具,被廣泛應用於缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、專案跟蹤和敏捷管理等工作領域。
二者作為中國開發者最喜歡的協作管理軟體,不同點在於,Jira是商用軟體,禪道是開源軟體。相同的地方是,禪道和Jira都有著配置靈活、功能全面、部署簡單、擴充套件豐富的優點,被廣泛的應用在專案管理,任務、bug跟蹤,需求管理等方面。而且,禪道和Jira還擁有最大的一個共性是,都是基於Scrum的敏捷開發模式。也就是說,Scrum已成為最受中國開發者歡迎的開發模式。
什麼是Scrum開發模式?
Scrum的英文意思是橄欖球運動的一個專業術語,表示“爭球”的動作;把一個開發流程的名字取名為Scrum,可以想象開發團隊在開發一個專案時,大家像打橄欖球一樣迅速、富有戰鬥激情、人人你爭我搶地完成它是怎樣一種高效的工作狀態。
沒錯,Scrum正是這樣的一個開發流程,每個環節都有一套完整的過程和嚴格的時間控制。也就是說,Scrum是圍繞流程控制展開的。
Scrum開發模式是怎樣運作的?
1.首先要明確Scrum裡的角色
Scrum由product owner(產品經理)、Scrum master和team(研發團隊)組成。
其中product owner負責整理user story(使用者故事),定義其商業價值,對其進行排序,制定釋出計劃,對產品負責。
Scrum master 負責召開各種會議,協調專案,為研發團隊服務。
研發團隊則由不同技能的成員組成,通過緊密協同,完成每一次迭代的目標,交付產品。
2.快速迭代開發是Scrum的基本特徵
與瀑布不同,Scrum將產品的開發分解為若干個小sprint(迭代),其週期從1周到4周不等,但不會超過4周。參與的團隊成員一般是5到9人。每期迭代要完成的user story是固定的。每次迭代會產生一定的交付。
3.Scrum的基本流程
Scrum的基本流程如上圖所示:
l 產品負責人負責整理user story,形成左側的product backlog。
l 釋出計劃會議:product owner負責講解user story,對其進行估算和排序,釋出計劃會議的產出就是制定出這一期迭代要完成的story列表,sprint backlog。
l 迭代計劃會議:專案團隊對每一個story進行任務分解,分解的標準是完成該story的所有任務,終每個任務都有明確的負責人,並完成工時的初估計。
l 每日例會:每天Scrum master召集站立會議,團隊成員回答昨天做了什麼今天計劃做什麼,有什麼問題。
l 演示會議:迭代結束之後,召開演示會議,相關人員都受邀參加,團隊負責向大家展示本次迭代取得的成果。期間大家的反饋記錄下來,由po整理,形成新的story。
l 回顧會議:專案團隊對本期迭代進行總結,發現不足,制定改進計劃,下一次迭代繼續改進,已達到持續改進的效果。
團隊協作過程中最主要的問題是溝通不順暢,成員各自為戰,而協作軟體的作用正是打破彼此之間的隔閡,消除孤島,讓工作內容和流程透明化,成員在團隊master指揮下齊頭並進,合力推進專案進展。
協作軟體的Scrum如何體現?
1.明確角色定位,成員各司其職
我們上面提到Scrum是由不同角色構成,也就是一個專案團隊由不同角色的成員組成,而每個角色定位代表不同工作職責,分管任務不同。以禪道管理軟體為例,就設定了多種角色定位,核心的三種角色是產品經理、研發團隊和測試團隊,這三者之間通過需求進行協作,實現了研發管理中的三權分立。其中產品經理整理需求,研發團隊實現任務,測試團隊則保障質量,其三者的關係如下圖:
基本流程如下:
l 產品經理建立產品
l 產品經理建立需求
l 專案經理建立專案
l 專案經理確定專案要做的需求
l 專案經理分解任務,指派到人
l 測試人員測試,提交bug
2.分解任務,責任到人
專案開始之初,專案經理負責任務分解,工時估算,並在協作軟體中設定起止時間、可用工時、專案目標及團隊成員等要素。
接下來成員領取任務,並隨時更新已用和剩餘工時。已經做了多少工作,還剩多少工作一目瞭然。
3.開發和檢測並存的過程
專案經理一般充當著開發過程中Scrum master的角色,燃盡圖、甘特圖、看板、工作日誌等多種方式為專案經理提供了隨時掌控專案進度和成員工作情況的可能。如出現偏差,可隨時指導和調動資源,始終將專案各要素掌控在手中。
禪道的任務看板以任務的狀態(未開始、進行中、已完成、已取消、已關閉)顯示,專案任務完成了哪些,還剩哪些,正在進行中的有哪些可以直觀的看到。
燃盡圖是在專案完成之前,對需要完成的任務工時的一種視覺化顯示。
燃盡圖有一個Y軸(任務)和X軸(時間)。
理想情況下,該圖表是一個向下的曲線,隨著剩餘任務的完成,“燒盡”至零。
禪道中會根據專案中所有任務預計剩餘的時間累加起來,繪製成燃盡圖。
專案開發工作完成後交由測試團隊測試,測試完成後交由產品經理髮布。這其中的每個過程都是一個透明化,可檢視和不斷調整適應的過程,產品在這個過程中不斷迭代更新,功能愈發符合使用者需求,成員更加高效默契的工作。也正因為如此,Scrum已經成為全球非常流行的開發模式。
Scrum的概念最早提出是在1990年代初,經過幾十年的運用和優化,Scrum呈現出了更加貼合開發流程的諸多特色,已經成為非常成熟的開發模式。實踐證明,Scrum也確實是提升新產品開發速度和靈活性的有效方法。
很多人說Scrum的模式並不適合中國。其實,從《2017中國開發者調查報告》的資料中,Scrum開發模式的高佔比已經說明一切。