1. 程式人生 > >SAFe 從概念到實踐 開發人員的“敏捷”之我見

SAFe 從概念到實踐 開發人員的“敏捷”之我見

  敏捷開發並不是一個新概念,在過去十多年裡,敏捷開發方法論已成為國外開發團隊的主流思想。敏捷開發真正走進中國,是從5年前開始。因為敏捷方法論中提到了一些在傳統軟體開發方法中沒有注意到的思想,這些思想是真的可以為軟體開發帶來顛覆性的力量,甚至可能會掀起開發領域的一場革命。所以,越來越多的開發者開始追隨敏捷開發理念。到今天為止,敏捷開發在中國尚處於起步階段,但已經有一些先行者走在了敏捷開發實踐道路的前沿。

  2014年7月12日,由IT專案管理研究會主辦的第三期沙龍活動如期舉行。敏捷資深顧問傅慶東、神州泰嶽軟體架構師蘇曉明、威科集團亞太區高階專案經理楊東曉出席會議,並各自分享了敏捷開發實踐經驗以及不同看法。

  開發人員為什麼要做敏捷?

  “10個人可以做一個敏捷團隊嗎? ” 傅慶東首先丟擲了一個問題。提到敏捷開發,可能會有一些人仍然存在疑問。比如:什麼才是敏捷開發,我們為什麼要做敏捷等等。

  敏捷資深顧問 傅慶東

  簡單的說,敏捷開發是一種以使用者的需求進化為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。換言之,就是把一個大專案分為多個相互聯絡,但也可獨立執行的小專案,並分別完成,在此過程中軟體一直處於可使用狀態。

  敏捷開發開發帶來的價值非常明顯,它可以優化業務基礎架構,加強“協作力”,進而快速而持續地交付可靠軟體

。“傳統方法是之前全天8個小時做開發,第二天看結果;採用敏捷方法,可以在20分鐘內看到結果。” 傅慶東如是說。

  至於敏捷開發方法適用於多少人員的團隊。傅慶東表示:傳統Scrum方法僅適用於5-10人的團隊,通過Scrum of Scrums的方法,可以將Scrum團隊擴充套件到很大規模。我們可以將團隊分解為多個小的子團隊,每個子團隊均有一名Scrum Master,聽命於專案經理,每個子團隊也有相對應的產品負責人。子團隊成員會隨著專案的進展而不斷調整,但是在一個Sprint週期內,團隊成員與產品負責人是可以是靈活多變的,可以根據實際環境調整。

  傅慶東具有5年以上 IT專案的敏捷培訓、轉型和實施的經驗。是國內最早獲得《大規模敏捷框架》(Scaled Agile Framework, SAFe)認證的諮詢師之一(

SAFe Program Consultant,SPC)。

  如何進行敏捷開發?

  而神州泰嶽軟體架構師蘇曉明認為,瞭解敏捷開發,首先要了解軟體開發的本質。他認為,軟體開發的本質就是客觀問題域到計算平臺的一個對映。軟體開發方法就是對需求、設計、實現和部署等各層進行方法學落地,確立開發方法模型,指導團隊的軟體開發過程。 所以,軟體開發方法要對應軟體的生命週期,並且處於動態變化中。

  神州泰嶽軟體架構師 蘇曉明

  常見的軟體開發型別包括:與全生命週期有關的瀑布模型、增量模型、迭代模型,以及與過程緊密相連的RUP(統一軟體開發過程)、XP(極限程式設計)、Scrum(敏捷開發)模型等。其中,XP是敏捷開發方法家族中的一員。XP幾乎與RUP反其道而行之 。而XP與Scrum相比,XP需要結對程式設計,要基於用例場景開發,更注重實際的程式設計實踐,而Scrum更注重管理和組織實踐

  神州泰嶽擁有關於Scrum的豐富經驗,曾經做過Ultra-Cloudup專案,主要是基於開源大資料平臺HADOOP實現叢集管理自動化,實現流計算拓撲視覺化設計,以及HIVE的二次開發和基於HBASE的索引自動化管理。此外,還有基於HBASE的實時統計介面的開發和實現等等。當時團隊開發成員有11人,所以比較適合使用敏捷開發方法來管理。

  當然,神州泰嶽沒有完全照搬Scrum模式,而是把Scrum進行了本地化改進。改進後的Scrum為神州泰嶽帶來三大好處:第一,大大節省了時間成本。為了提高工作效率,將日例會改為周例會,每日進度通過SVN交付的日報進行控制,每日遇到的問題組織小型討論會解決。Sprint衝刺圖由Sprint Master管理和控制並及時提交到SVN共享平臺上。第二,讓交付可共享並可重複使用。所有可以工作的軟體交付和可用的方案交付都基於統一的SVN共享平臺,這些可用的交付歸大家集體所有,提高了元件複用率 。第三,可以成果演示。日例會忽視了成果的演示,所以周例會上每個團隊成員都需要對自己的交付進行實際演示,大家對演示問題進行討論,方便提早發現風險和問題,及時糾正和調整。另外,每週演示前需要重新同步和構建。

  移動互聯時代,敏捷開發有哪些變化

  敏捷開發不僅有方法論、有實踐案例。隨著企業資訊化深入發展,敏捷開發也在發生著新的變化。尤其在移動互聯時代,敏客戶非常關注資料的安全性。所以,敏捷開發要確保資料不能丟失,不被黑客窺探,要尊重客戶的隱私權,讓所有資料都要進行每天的災難備份,甚至要達到產品以秒計算,客戶不能訪問到產品故障。

  威科集團亞太區高階專案經理 楊東曉

  這個時候的敏捷開發要如何來做?威科集團亞太區高階專案經理楊東曉認為:

  首先,對於大多數客戶,產品只需部署一個生產環境(第二生產環境用於測試和備份),維護一套產品程式碼,客戶反饋的問題可直接通過網際網路重現,使軟體實施和運維成本大幅降低。

  其次,要產品重視客戶體驗,高度強調易用性,使得產品的培訓成本和服務成本都大幅降低。產品的設計成本和美工成本上升。

  其三,產品的敏捷開發週期要不斷縮短,因為競爭對手之間可隨時看見對方的新功能而加以仿製,產品經理要聽過不斷髮現新的創新點轉變為網際網路企業生存的必要條件。可以說,產品經理把控著產品發展的命脈,必須時刻把控產品的定位,把產品發展聚焦在真正能給網際網路企業帶來長久利潤的功能上,時刻關注產品的差異化競爭點。讓使用者體驗和使用者尖叫度成為重要的產品考核指標。

  其四,Scrum Mater必須隨時評估和調整產品開發中的優先級別和風險級別,安排好開發中的關鍵路徑,未雨綢繆。靈活調整每個迭代的開發任務。

  值得重點注意的是,移動網際網路時代的敏捷實戰場景設定要考慮到高度靈活性,以應對挑剔善變的使用者,介面風格要具備可設定性(使用者可以選擇IPad風格也可以選擇傳統的網頁風格,首頁面的欄目都可以定製 )。此外,還要考慮社交化及主動參與性需求,以增加客戶黏合度,主動為使用者推送感興趣的資訊,追求更接近人類自然思維的設計,不用客戶再去思考。

  威科曾收購一家歐洲排名第一的雲財務公司Twinfield,老闆每週六自己親自跑一遍自己的產品,每雙週的週一進行產品演示會,10個產品經理,50個開發和設計人員,20多個銷售人員,2個系統維護人員;如果在演示的過程中,他覺得功能不行,就立刻停止。威科的敏捷週期為2周,已體驗到敏捷的持續整合,產品自動構建,自動化測試,敏捷績效等。

  可見,敏捷開發給企業帶來的好處有很多。但同時,敏捷開發也帶來一些爭議,比如:針對敏捷開發應該放寬開發人員的自由空間,還是嚴格遵循軍事化管理原則?在敏捷高強度下,是否會束縛開發人員的自我管理意識及創新精神?如何找到最佳敏捷實踐?這些問題還有待於我們繼續探索。

  關於IT專案管理研究會:

  IT專案管理研究會(英文“IT Project Management Institute”,縮寫ITPMI),是由國內資深專案管理專家韓春生和IT技術專家葉剛聯合多家知名企業和多位專家學者發起成立的學術性﹑全國性的非營利性社團組織。研究會接受行業主管部門的領導

  在我國社會發展、經濟轉型升級、實現中國夢的過程中,軟體服務業扮演著重要角色。隨著我國的綜合實力越來越強,IT技術和管理的發展也逐漸從單純的引入過渡到創新的階段。為了響應政府關於鼓勵民間研究組織的號召,特倡議成立了IT專案管理研究會。

  IT專案管理研究會堅持面向國內IT專案管理實踐與改革,為IT專案管理實踐與創新服務,集合業內專家和優秀企業的經驗與智慧,研究IT專案管理知識體系,逐步探索和制定適合本國企業發展的,具有自主智慧財產權的專案管理知識體系,為推進IT專案管理事業而積極舉辦多種形式的活動,為IT專案管理愛好者及從業人員搭建一個知識共享﹑經驗交流和技術探討的平臺。

  IT專案管理研究會旨在堅持開放的平臺和創新的思想,引領中國IT專案管理的新潮,為軟體與資訊服務業管理水平的提升做貢獻。