文章首發於公衆號:松花皮蛋的黑板報
做者就任於京東,在穩定性保障、敏捷開發、高級JAVA、微服務架構有深刻的理解架構
咱們在開發過程當中面臨的最大挑戰是什麼?或許你以前沒有認真思考過,那最好把目光轉移一下,而後想一下,再回來閱讀這篇文章。微服務
一百個讀者心中有一百個哈姆雷特,你可能認爲最大的挑戰是部門協做牆,或者是產品的需求規劃不清晰。這些答案都有必定的置信度,可是我想說的是,咱們正處在一個快速變化的互聯網時代,新想法比別人驗證慢一步,可能你就是那個出局者,因此需求方迫切但願能在高速公路上換輪胎。可是,請記住,咱們處在一個充滿不肯定的世界,需求是不徹底肯定的,研發對接是不肯定的,不少因素都是不肯定的,致使夢想是美好的,現實是殘酷的。spa
不肯定性意味着咱們覺得這座山的山頂是終點,可恰恰相鄰的那座纔是。咱們以一個探路者的身份在未知的道路上前行,爲了避免偏離航向,咱們應該保持小步快跑,當得到足夠反饋信息後發現須要作出變化時還可以調整。也就是說,咱們應該爲改變作好準備,以一種增量的方式完成目標,這是一個自適應的反饋控制過程,比如平時使用的洗澡水,咱們沒法第一時間保證出水的溫度,須要時不時用手感觸溫度進行調節,直到能知足需求。blog
那咱們應該作哪些努力才能擁抱變化還能掌握變化呢?祕決就是打破肯定性思惟。遊戲
確認性思惟容易讓咱們不肯意輕易嘗試,極力在避免失敗,懼怕不肯定的後果,固步自封。打破肯定性思惟須要咱們以最小成本快速試錯。肯定性思緒也容易讓咱們覺得那片產業藍海中目前沒有強有力的競爭者,咱們只要制定好大而詳盡的計劃,制定繁複的流程和檢查機制,對進度進行精確的把控,對任何偏離的追究,只要這樣作,最後必定能成功。打破肯定性思緒須要咱們拋棄這些思想,咱們應該制定週期性的計劃,保證是以小粒度演進化的,而且能接受意外變化並以最小的代價快速響應。最後還有一點,拋棄繁複的流程和檢查機制,把掌握權歸還給團隊,讓其基於簡單規則自我管理。ip
打破不肯定性思惟並不意味着咱們要在看不見的地方進行妥協,當意外變化來臨時,對代碼質量進行妥協會致使後續難以維護,另外能接收意外變化並不意味着放棄對時間要求的堅守,那畢竟是咱們的立足之道。資源
打破不肯定性思惟的方法描述都很是抽象,咱們應該如何理解呢?接下來我將舉例說明。開發
第一個遊戲的規則是是這樣的,四個客戶表明和其餘開發者分別分組坐落在一個圓桌上,最旁邊的開發者使用撲克牌進行發牌,並依次傳遞到其餘開發者手中,每通過一個開發者都須要將撲克牌進行翻轉,其中每一個客戶表明只關注一種花色的撲克牌,當客戶看到第一個開發者抽牌花色爲他所需時開始計數,集齊時計數結束。正常的洗牌發牌,全部客戶表明集齊撲克牌大概須要四分鐘。若是咱們對撲克牌按必定規則的花色進行疊放,也就是客戶一所需的花色全部撲克牌在最上面,接着就是客戶二所需的,仔細在腦中回放一下整個流程。若是這樣作時間能夠縮短到四十秒,是否是很神奇,爲何會這樣呢?你獲得什麼樣的啓發呢?get
在第一個遊戲中,後者對任務進行了拆解和優先級調整,保證了客戶表明依次快速集齊撲克牌,雖然推遲了其餘客戶表明開始計數的時間,可是縮短了每一個客戶表明完成需求的時間週期,也就是說更加關注價值流動,對資源流動關注度降低了。產品
第二個遊戲的規則是這樣的,從參與者中選出一名協調者,而後讓其餘參與者任意選擇兩名小夥伴,並當衆告訴協調者,而後協調者去協調每一個人的站位保證參與者和選擇的夥伴之間的距離是兩兩相等的,由於能夠有交集,因此這個小遊戲看着挺複雜的。可能你會這樣想,我都知道我應該站在哪了,當協調者在調整其餘人位置時,我只能乾着急,當協調者出錯了,也只能默默抓狂,那若是去掉協調者這個角色,通關時間是增長了仍是縮短了呢?你能夠在腦中模擬一下整個流程。實際上,這個時間會大大縮短,是否是很神奇,爲何會這樣呢?你獲得什麼樣的啓發呢?
在第二個遊戲流程中,協調者充當一箇中心化的角色,而咱們是被控制的,而且協調者是單點地受苦受難,當去掉協調者後,咱們都很是瞭解遊戲規則和通關要求,有着共同目標,有很強的參與感,因此能夠很快通關。可是沒有協調者後,你是否可靠呢?或許並非你不可靠,而是別人不知道,那就讓工做更加透明化,讓信息更加透明化。
好,今天的分享但願能幫助你培養敏捷心態,歡迎分享給你的朋友們。
文章來源:www.liangsonghua.me
做者介紹:京東資深工程師-梁鬆華,在穩定性保障、敏捷開發、JAVA高級、微服務架構方面有深刻的理解