初識敏捷的時候,我對它情有獨鐘∠爬撸現(xiàn)在回想起來地熄,到底是什么讓我對它信賴有加。我在方正和IBM做過開發(fā)和測試的工作砾跃,卻遠不如在ThoughtWorks獲得的那般對于軟件構(gòu)建的體驗和認知骏啰。像是被徹底打開了一扇明亮的窗,不再只是埋頭做被分配的任務抽高,而是看清楚我的前后左右判耕,以及窗外那個完整的世界。是的翘骂,我想說的是壁熄,敏捷給了我得以觀察軟件構(gòu)建整個周期的全局視角。
就此知道自己手里的任務碳竟,和前置的客戶草丧、需求、設計有千絲萬縷的聯(lián)系莹桅,也決定著交付的質(zhì)量昌执,以及上線后的反饋。孤立無援的螺絲釘诈泼,也可以身處轟鳴的機器中的位置懂拾。那是一個更完備的時刻處于生動運行中的圖景。有了全局視角铐达,信任感和責任心也油然而生岖赋,填滿胸間。非比尋常的體驗瓮孙,仿佛在這個行當就此邁入了一個新的境界唐断。
現(xiàn)在會慢慢意識到选脊,這種所謂的全局視角,跟認可軟件構(gòu)建這件事本身的復雜性脸甘,心中所褒有的持續(xù)改進和追求極致的熱情恳啥,又有莫大的聯(lián)系。敏捷的工程和管理實踐之間有不可輕視的整體性斤程,更需要我們在面對問題角寸,以及主動決策時菩混,適當?shù)靥龃藭r此景忿墅,去看更大的景觀。在冷靜周詳?shù)姆治龊涂紤]中沮峡,尋找最優(yōu)的選項疚脐,而不是迫不及待跳入水深火熱之中,胡攪一番搞到自己也覺得莫名其妙邢疙。
但現(xiàn)實中窘迫的例子比比皆是棍弄。
系統(tǒng)上線之后,爆出嚴重的功能問題疟游。如果只是嗔怪測試人員沒能及時發(fā)現(xiàn)危機導致全員被動呼畸,于是增加測試人員,加班加點手工測試颁虐。而忽視自動化測試覆蓋率蛮原、回歸測試的設計甚至開發(fā)人員對于系統(tǒng)易于測試的專門設計,就會顯得片面而有推卸共同責任的嫌疑另绩。
同樣儒陨,團隊交付的吞吐能力下降,如果只是質(zhì)疑開發(fā)人員的技術(shù)能力笋籽,而遺忘業(yè)務和設計人員對于需求的分解到位蹦漠、準確清晰的需求溝通,以及更具有彈性和可維護性的架構(gòu)车海,也是必然偏頗的笛园。
這些手段只會在短期內(nèi)博得同情和煞有介事的效果,長期看仍然于事無補侍芝。倒像是水缸里始終不能全部摁下去的葫蘆瓢研铆。
團隊的各類角色,各司其職竭贩,信息和數(shù)據(jù)流轉(zhuǎn)其中蚜印,再現(xiàn)了一個彼此聯(lián)動的系統(tǒng)。只是每每由于系統(tǒng)的某個部位的失察留量,意料之外的后果又總是處于更下游的部位窄赋。讓我們有了可以輕易怪責的對象哟冬。而回溯的能力,可以幫助我們習慣全局優(yōu)先忆绰,而不是局部優(yōu)先的思維浩峡。
木桶原理也許可以引起一些延展的思考。通常在初期错敢,團隊的能力配比總是不夠完美翰灾,短板的技能更像是隨時會報錯的缺陷,時間緊任務重刻不容緩稚茅。但出于全局優(yōu)先的考慮纸淮,我不會任由能力出眾的團隊人員一騎絕塵,而是要關(guān)注知識和能力的傳遞亚享,加強代碼規(guī)范咽块,內(nèi)建質(zhì)量這類更加注重長效而整體的行動。
還有另外一些幫助全局優(yōu)先思考的方法欺税,比如正反饋環(huán)侈沪,還有系統(tǒng)化思維。
其實全局優(yōu)先在管理的語境中同樣適用晚凿。我們憎恨官僚亭罪,官僚的原因在于,企業(yè)的局部部門各自有自己的目標歼秽,各自為戰(zhàn)应役,沒有形成整體。在我的同事張松撰寫的《從領(lǐng)導力的角度談ThoughtWorks的團隊間協(xié)作》一文中哲银,他有如下描述:
……組織效率的一個來源是清晰地結(jié)構(gòu)扛吞、邊界和責任,因此我們建立了一個個的團隊荆责,每個團隊都有自己的目標滥比。驅(qū)動力的重要來源則是Autonomy,我們的團隊和leader被授予很大的操作空間來達成目標做院,這是我們很多TWer熱情工作的驅(qū)動力之一盲泛。我們都知道全局優(yōu)化的重要性,但當每個獨立團隊都盯著自己的目標键耕,堅持自己的方式的時候寺滚,卻經(jīng)常會讓我們偏離全局優(yōu)化的目的∏郏……全局上下文的缺失是團隊做出局部優(yōu)化行為的主要原因村视,對其它團隊視角、能力缺乏了解酒奶,是信任感下降的癥結(jié)所在蚁孔。