• 简中
    • 繁中
  • 注册
  • 查看作者
  • 開發人員解決唔‌管理爛嘅問題

    轉載:本文來自微信公眾號“InfoQ”(ID:infoqchina),作者:Gandalf Hudlow,譯者:平川,策劃:Tina,轉載經授權發布。

    本文最初發佈於 iiSM.org,由 InfoQ 中文站翻譯並分享。

    我經常睇到一啲文章指責開發人員唔理解佢哋點解要做改變,唔理解背後嘅“點解”就盲目地實現改變是錯誤嘅。“向上睇,唔好將太多精力放喺寫代碼上!”喺我睇來,呢啲文章所面向嘅人群是錯誤嘅。 喺大多數公司度,實際上應該由管理層為故意將工程師隔離喺發現客戶需求之外嘅行為負責。實際上,開發人員鐘意發現需求,並用史詩級嘅軟件解決方案滿足需求,佢哋非常唔願意花時間創建沒有客戶想要嘅嘢——我嘅意思是,我哋鐘意創建軟件,只要我哋能咁樣做並因此獲得報酬,如果沒有更好嘅、更令人滿意嘅機會,我哋就會消磨時光。但係,如果有一個更令人滿意嘅、可以獲得報償嘅機會,比如為汽車創造自動駕駛儀,或者一個閉環胰島素泵,我哋會立刻跳槽!

    傳統管理有詳細嘅估算、甘特圖、WBS、PMP 和所有第啲嘅製造 / 訂單執行 / 物流優化技術!

    管理層是阻止開發人員創建滿足迫切需求嘅產品嘅真正問題。事實上,呢個問題一直延伸到 CEO 身上。因為發現真正嘅客戶需求系喺項目的生命周期度,而發現嘅呢啲需求必然會改變所涉及嘅工作範圍,呢意味住,為咗避免項目範圍嘅變化,一個 MBA 實踐驅動嘅組織將避免發現真正嘅客戶需求。相反,佢哋讓工程團隊喺確定嘅日期之前將事做完,而做完嘅系一個沒有客戶想要嘅產品,因為發現真正嘅客戶需求嘅行為被抑制嘎啦。此外,由於團隊一直專註於創建新特性,而唔是描述佢哋自己嘅工作並消除混亂,產品可能會變得混亂唔堪。項目完工唯一嘅好處是通常會有一個發布派對,有披薩和蛋糕——再好一點,佢哋獲得‌一點點職業發展,因為團隊按約定日期完成‌交付——我嘅意思是,交付嘅嘢沒有得到採用,但佢哋唔喺意,直到有人通知佢哋客戶沒有採用,通常,CFO 會應用 4X Rule 規則,削減集團預算。

    我哋有史以來一直咁樣

    軟件行業所處嘅呢種管理狀況喺歷史上也有類似嘅情況。大約喺 1940 年,W. Edwards Deming 為底特律嘅汽車製造商帶來‌一種新嘅汽車製造方法。呢個時候,底特律賺住大錢,佢哋佔領‌世界上最賺錢嘅市場,坦率噉講,佢哋唔覺得有必要做任何改變。遭到拒絕後,Deming 開始住手第啲任務,參同戰後日本嘅重建工作。他嘅方法非常成功,日本汽車開始侵蝕底特律嘅市場份額。當顧客等待並支付額外費用購買一輛配備豐田製造變速器嘅福特汽車時,福特得到‌一個實際嘅教訓。迷惑唔解嘅福特工程師將變速器拆開,比較‌各個部件;佢哋發現,日本嘅零部件具有兩倍嘅均勻一致性,結果是更平滑嘅擬合和卓越嘅車輛可靠性。

    只要簡單地詢問下佢哋嘅工人“點樣才能做得更好”,傾聽佢哋嘅意見,然後對製造過程做些新嘅、實用嘅改進,任務管理者就能顯著地提高佢哋嘅質量。之前嘅方法是管理者通過抽象思考想出改進嘅方法——通常是佢哋老闆嘅想法——然後將呢啲想法灌輸畀員工。而家,呢種自頂向下嘅反模式反覆出而家軟件團隊管理中。

    1981 年,喺日本蠶食福特嘅市場份額多年以後,福特管理層終於投降,讓 Deming 加盟,整頓佢哋嘅製造業務。福特嘅管理層認為,佢哋有質量問題,或者更準確噉講,佢哋嘅工人有質量問題,因為管理人員唔干工人嘅活。當 Deming 講畀佢哋,喺研發更好嘅汽車嘅過程度,管理措施要為 85% 嘅問題負責時,佢哋感到震驚!福特花‌ 6 年嘅時間完成轉型,最終推出‌ Taurus-Sable 系列,呢款汽車比佢哋之前生產嘅汽車都要好。

    喺致 Autoweek 嘅信度,時任福特董事長 Donald Petersen 說,“我哋正努力喺福特建立質量文化,呢里發生嘅好多變化都直接源於 Deming 嘅教誨。”

    福特管理層犯嘅一個關鍵錯誤是,佢哋沒有從工人那裡認會點優化生產流程。只要簡單地詢問下佢哋嘅工人“點樣才能做得更好”,傾聽佢哋嘅意見,然後對製造過程做些新嘅、實用嘅改進,任務管理者就能顯著地提高佢哋嘅質量。之前嘅方法是管理者通過抽象思考想出改進嘅方法——通常是佢哋老闆嘅想法——然後將呢啲想法灌輸畀員工。

    Deming 講畀福特,喺研發更好嘅汽車嘅過程度,85% 嘅問題都系由管理層嘅行為造成嘅!喺而家嘅軟件管理度,我哋發現自己也面臨住同樣嘅情況。

    我哋出‌管理問題!

    而家,讓我哋回到嗰啲“開發者需要做得更好”嘅文章。試想,如果呢啲文章是為汽車工人寫嘅。那麼標題會是:

    • 美國嘅汽車工人真嘅需要專註於改進佢哋嘅製造過程,噉就是豐田所做嘅!

    • 汽車工人應該唔斷地同客戶溝通,咁樣佢哋才能盡最大可能製造出最好嘅汽車

    • 汽車工人將太多嘅時間花喺‌細節上,卻沒有花足夠嘅時間去理解“點解”

    • 創造超凡嘅汽車而唔剩只是生產汽車

    作者嘅意圖是好嘅,從表面上睇,佢哋嘅建議也好好,但是呢啲汽車工人點樣改變佢哋嘅工作流程呢?佢哋系咪要對公司管理層進行再培訓?歷史講畀我哋,佢哋沒有做到,我也唔指望佢哋能做到。喺大多數公司,軟件工程師發現自己處於同樣嘅情況。喺我哋大多數人工作嘅公司里,MBA 實踐佔據主導地位。喺經過 MBA 訓練嘅管理者那裡,每個開發人員都系佢哋 PMP/WBS 鎚子下嘅一個釘子——每個人都有一個甘特圖、一個項目經理和一個項目代碼!

    甚至當一個採用傳統方式管理嘅公司決定變得“敏捷”時,呢一舉措嘅常見結果是傳統管理方式友好嘅 Date Scrum 反模式。Date Scrum 嘅出現讓好多開發人員對敏捷實踐產生‌負面嘅睇法,因為喺變得“敏捷”之前,佢哋不得不忍受每隔幾周就會有一次嘅狀態會議。而家有‌ Date Scrum,佢哋必須忍受每天一次嘅站立狀態會議!

    Date Scrum 是乜嘢?Date Scrum 系一種研發模式,佢要求開發人員預先評估成個項目的軟件項目需求。喺項目獲得批准,並基於最終嘅評估設置‌預算之後,團隊就會保持日常嘅 Scrum 狀態,並喺發布之前管理喺解決方案“迭代”過程中嘅風險。喺某啲人睇來,呢種方法系喺衝刺中進行瀑布式開發。

    因此,我哋需要更多嘅文章來鼓勵高層和管理人員唔好再導致軟件項目失敗嘎啦,呼籲放棄傳統管理嘅估算、甘特圖、WBS、PMP 和所有第啲嘅製造 / 訂單執行 / 物流優化技術。那嘢好好,佢是幫助我哋贏得 WW2 嘅關鍵,如果我要開工廠,我會用佢!但系喺軟件項目度,沒有佢嘅位置。

    點解咁多嘅軟件項目失敗‌? 軟件開發更接近於創建一個新工廠,而唔是經營一個現有嘅工廠。傳統管理側重於使用固定嘅、已知嘅最佳實踐來安排持續時間已知嘅任務來經營工廠和執行訂單。軟件開發是由好多持續時間未知嘅任務組成,呢種根本上嘅唔可預測性令到傳統管理嘅預測計劃技術特別唔適合軟件項目。

    傳統管理點樣造成‌破壞

    福特花‌ 40 年時間才接受‌ Deming 嘅研究成果。喺今日呢個快節奏嘅世界里,一家公司如果要花 40 年嘅時間才能讓有價值嘅軟件工程師唔再討厭佢,噉佢將永遠唔會成功,而且我預測,大多數唔發展嘅公司將會喺 10 年內滅亡。之所以做出呢種可怕嘅預測,是因為呢啲傳統企業一直徘徊喺咁樣一種生產管理套路上,根據工作劃分部門,然後使用一種剛性嘅、放之四海而皆準嘅最佳實踐優化各部門——呢啲最佳實踐往往是源於工廠運營工具包嘅預測規劃技術!正系呢啲實踐阻止‌佢哋創造新嘅、有價值嘅軟件產品,因為佢哋讓開發團隊專註於創造沒有客戶想要嘅解決方案,而唔是發現和滿足巨大嘅需求。呢啲實踐導致組織主動忽略‌軟件項目偏離軌道嘅所有危險信號。危險信號被忽略嘎啦,因為組織中固有嘅 MBA 偏見會導致佢哋應用反模式,比如:

    • 嗰啲額外花費合理嘅時間去檢查佢哋嘅工作並清除混亂嘅開發者被認為“有啲慢”;

    • 當開發者注意到產品 / 市場適配嘅問題時,佢哋會繼續實現更多嘅功能,並承諾佢哋所關心嘅問題將會由 Idea Silo 處理;

    • 快速實現特性以便於另一個筒倉能夠進行“質量”檢查,開發人員會因為能夠快速完工而受到讚賞;

    • 當開發者漫步到工作場所,並注意到客戶喺艱難地使用呢個產品時,佢哋會小心翼翼地引導到 Idea Silo 嘅議程上;

    • 當開發經理試圖理解產品 / 市場適配性、打包和定價嘅總體情況時,佢哋會被鼓勵回去讓開發團隊專註於實現項目範圍之內但沒有客戶想要嘅特性;

    • 嘗試使用 統計混沌控制 技術來實現 代表性負載 混沌檢測嘅開發人員會被引導至 Quality™筒倉,就好像唔編寫代碼嘅人會做得更好一樣!

    Idea Silo 是乜嘢?Idea Silo 是公司內部嘅一個組織,負責為另一個筒倉實現新產品和新特性。喺好多公司度,Idea Silo 是指產品管理組織。

    開發人員沒問題,管理層需要做出改變

    傳統管理需要發展;佢哋應該 先聽開發人員說說 管理層應該做乜嘢:

    • 明確目標、願景和使命感

    • 幫助我成長,提供晉陞機會

    • 允許自治,授予權限

    佢哋還應該聽聽管理層唔應該做乜嘢:

    • 唔好進行微觀管理——開發人員設計和編寫代碼,而唔是管理人員!

    • 有技術背景——沒有乜嘢比開發人員回答佢哋嘅問題時項目經理目光獃滯更糟糕嘅‌!

    • 唔好剩只屈服於政治壓力——公司政治是管理領域固有嘅,請努力代表團隊!

    喺聽取‌開發人員嘅意見后,傳統管理需要拋棄以下唔適合於軟件嘅實踐:

    • 基於詳細評估嘅預測計劃——預測計劃用於組織內持續時間已知嘅製造和訂單執行任務,而唔是軟件項目;

    • 為開發人員分配任務時詳細評估;

    • 工作分解結構——同樣,呢非常適合持續時間已知嘅任務,而唔是軟件項目!

    • 根據有缺陷嘅詳細估計計算出嘅 到期日

    • 喺未同精明嘅客戶進行反覆溝通嘅情況下應用敏捷 Scrum

    • 盲目接受 Idea Silos 嘅 範圍

    喺 iiSM.ORG,我哋相信:

    • 通過增強、自動化和娛樂性,軟件改變‌我哋生活、工作和娛樂嘅方式;

    • 世界頂級公司中嘅科技公司越來越多,而且呢個數值仲喺度呈指數級增長;

    • 我哋正處於一股變革洪流嘅開端,正如我哋所知,呢場變革正喺大規模地顛覆行業,重塑社會。

    如果上述情況屬實(相信我,確實咁),噉樣,如果傳統管理人員希望自己嘅公司喺数字化轉型嘅新世界中生存落去,佢哋就必須改變自己嘅方式。我哋需要花點時間弄明白,將傳統管理技術應用於軟件開發團隊非常糟糕,就算從短期睇,都系完全唔可持續嘅。

    cantonese.live 足跡 粵字翻譯

    2021-04-20 17:06:50

  • 0
  • 0
  • 0
  • 176
  • 请登录之后再进行评论

    登录
  • 任务
  • 发布
  • 偏好设置
  • 单栏布局 侧栏位置: