十多年前,敏捷開發首次被寫入敏捷開發宣言,如今這個概念已經深入人心,它號召開發者建立諸如“個體高于流程”、“響應變化高于遵循計劃”的價值理念。
不過,老話說的好“知易行難”,企業在實行敏捷原則的過程中不斷碰壁,尤其是當他們試圖在開發組織以外灌輸這一理念時。
部分的原因來自于敏捷開發并非是一個規定,它只提供了一個寬泛的框架,卻沒有具體的路徑可尋。各種組織正在形成自有的一套流程來達到敏捷開發的目標,此目標即產品上線更快、質量更高而且符合用戶的需求。
另外,這個概念起初只是作為一種開發軟件的方法,可現如今“一個敏捷企業”變成了一個具體目標。人們會問,為什么只有軟件開發需要敏捷呢?為什么市場、銷售、商業決策就不能根據敏捷的潮流規劃執行?
它們當然可以這樣做,可是再一次“知易行難”,諸多方面存在著挑戰,比如組織領導力,如何任由團隊尋找自己適宜的節奏、同時還能在關鍵決策時刻將大家聚在一起,又運用什么樣的標準來指導業務。
“敏捷開發是每一個試圖完成數字化轉型團隊的前沿和核心”,Steve Elliot,敏捷管理平臺制造商 AgileCraft 的執行總裁說,“可挑戰在于,如何讓敏捷的原則在團隊之間運行”。
這也許就是實現業務敏捷性的最大挑戰。很少有公司或者組織是白手起家,大部分公司有自己的開發團隊來進行敏捷的產品開發,他們一版一版地更新著軟件,做得比軟件發布團隊、市場和銷售團隊快多了,甚至是商業決策者也不一定跟得上節奏。“敏捷開發方法的成功應用,讓開發團隊更新的代碼超出了技術人員能處理的速度”,說這話的是軟件開發運維的自動化發布軟件提供商,Electric Cloud 的首席技術官 Anders Wallgren。
不管大多數公司是否歡迎敏捷開發的概念,有一個現實是,他們自己正在逐步變成軟件公司。賣披薩的希望成為平臺中的一員,制造商給汽車裝的軟件多于以往任何時候,機械工人正在從一個個“潤滑油猴子”(Grease monkey,美國俚語,)變成程序調試員。
還有,大量的公司在其軟件項目中試用敏捷開發的理念,而且發現效果不錯。只不過,他們從未有過將其運用到整個公司的策略,敏捷轉型公司總裁兼敏捷健康(Agile Health)的創始人 Sally Elatta 這樣表示,“他們從未意識到敏捷開發理念可以產生的自下而上的組織性影響”。
進行數字化轉型
Boris Chen,是一家專注于軟件 DevOps 實時安全性的公司 tCell.io 的聯合創始人和工程副總裁,他強調:“敏捷的本質是適應和變化,可如果你不能使整個公司保持同一速度,那么摩擦就會產生。”
AgileCraft 的 Elliot 表示:“這就和移動時代到來時差不多,公司只能努力適應。在技術領域解決問題的能力成為了成功的關鍵。”現在,公司必須設想一種以業務敏捷化為目標的技術戰略,并將其執行下去,“必須有對世界的一種看法”,他說。
Robert Holler 說,求變的聰明公司理解知道,敏捷企業代表的不僅僅是有一兩個在執行敏捷理念的團隊,“這樣只是形成了一個如部落般的場景,這個部落里每一個團隊都有自己的經驗和工具。這并不算理想。公司需要用系統化的思維方式,改進和優化整個系統而非幾個碎片。很多公司還會繼續他們的部落式敏捷化,可他們無法完全獲益,因為他們的努力并不是為了整體性的利益。”(Robert Holler,是敏捷項目管理軟件提供商 VersionOne 的前首席執行官,目前是開發工具制造商 CollabNet 的首席戰略官。)
使所有的團隊都處在同一工作速度下是非常困難的,Holler 認為,這并沒有關系,“團隊可以在不同的節奏中工作,只不過最終他們需要保持一致”。Holler 繼續說道,公司可能會在內部保持持續的工作交付,然后創建一些每天都可以用卻并非必須用的軟件。同時,業務按照季度或年來運作。“因此,企業必須以每月、每季度和每年的周期聚在一起,隨著月份的變化,按照這種’元節奏’運行”,他說,順便強調了他的新術語。
由于開發團隊的工作速度比其他團隊都快,所以把公關和市場拉在一起討論類似開發團隊完成了什么工作的問題時,就遇到了困難。CA Agile Central 產品管理副總裁 Shannon Mason說:“新發版本的級別各不相同,有小的調整和變化。隨著大范式的轉型,你可以展現或者隱藏這些變化,然后通過開啟新功能向現場的團隊說明情況,也可以把功能碎片化進行說明。”
tCell 的 Chen 建議,把市場的同時請到一些開發者的會上,或許每周一次,“他們就能知道完成了那些新的東西,或者又有什么新功能在計劃之中”。
在瀑布流開發的時代,在聽取市場和商務部門的意見之后,團隊會為開發部門創建需求,在 為期12個月的開發周期完成后,市場部門又會有一個新功能清單。可現如今,大家有了軟件不會完成、只會不斷迭代更新的概念之后,你就需要把工作分解成價值的增量,Manson 說道,“價值主張是什么?你對標的什么東西?如何定義“贏”?如果接受程度不錯、反饋正面、技術過硬,才能算是完成了某項任務”。
CA 敏捷服務顧問、也是團隊領導的 Ronica Roth 提到,可是工作需要以可持續的速度進行下去。“工作有心跳和節奏”,她說,“我不會因為今天很好地完成了一項工作就關掉我的心臟,我也不會每天 24 個小時保持運行狀態,因為那樣我會死”。就像人們記錄一天、一周、一季度,公司以及各種組織,同樣需要節奏。“當一個公司擁有了自己的節奏,那才叫做企業敏捷化。”
領導力很關鍵
另一個在企業層面實現敏捷化的最大障礙就是,缺乏對敏捷流程有管理經驗的領導。賣披薩的人從未接觸過敏捷流程。“你能在 5 秒內教人們敏捷開發,這合乎邏輯。但你不能把一個小孩放在學前班里,然后說:“我們 12 年后再見。他們需要持續的引導和訓練”,Mason說。“人才是關鍵。讓人們超越自我和他們長期的信仰,尤其是在領導層面的轉變,是真正的難點。”
CollabNet 的 Holler 說,領導無效的原因之一就是是培訓和教育“出了名的資金不足”。“企業說’每個人都在執行敏捷原則,所以我們也來做吧’”,但 Holler 說,敏捷化的數字化轉型是一個管理變革的過程,“訓練、教育、英才中心都是正面成果所必需的,大型的組織總是有太多的慣性。”
程序已經變得更加敏捷,可企業不是。例如說,預算管理“和企業思考預算的方式還都是陳舊的”,來自 AgileCraft 的 Elliot 說到。
敏捷變革的 Elatta 也強調,簡而言之,因為敏捷管理者的角色正在“發生巨大的變化”,領導方式必須改變。“這個角色變得具有更多的戰略性、更少的技術性,他們必須為組織消除障礙、促成并支持一個實踐為先的群體。他們肩負重擔。”
Elatta 還強調,企業“還遲遲未在類似的人才上投資,他們已經忘記了那些中層管理者“。
利用數據指標
對于那些希望實現業務敏捷性的公司來說,需要衡量對于他們什么才是最重要的,并且了解其對人和流程的投資,是否帶來了他們所期待的回報。沒有指標,意味著在敏捷化方面“你無法得知你是否更快、更便宜、更好或者更健康”,Elatta 說,“你需要持續地測量增長。 衡量今天的位置,是否與你想要的目標契合,然后再去重復衡量。 這種周期至關重要”。
來自 CA 的 Mason 指出,企業從他們的軟件中收集大量的數據,用來“避免創建壞計劃”。我們看自己的數據然后從人類的觀點來觀察模式。 設想 12 個月后的產品就像在尋找本不存在的東西。知道一個星期之后自己,要比了解一年后的自己容易得多。”
CollabNet 的 Holler 說,企業正在試圖將敏捷性擴展至整個價值鏈中。數據幫助企業為她們的客戶提供需要的產品。“更快的反饋可以徹底改變業務。進行價值鏈優化時,要如何優化反饋鏈?這是敏捷化的涅槃。”
Electric Cloud 的 Wallgren 回應了這種看法, “持續的改進需要數據”,這些數據將為發布頻率、故障率、用戶體驗等等提供洞察。 “在生產前應該做更多的監測。 即使沒有別的,你也會學到一個像樣的操作系統應是什么樣的。