從精益軟體到精益思想

2021-07-16 10:33:26 字數 1898 閱讀 5931

說起精益軟體開發,這絕對算是乙個老生常談的話題了。所以在這裡,我不想去談論諸如「精益軟體開發的幾大原則」或是「精益軟體開發的最佳實踐」等陳詞濫調;只是最近在同事的推薦下,拜讀了一本有關it運維方面的書籍(《鳳凰專案》)。書中的故事十分有趣,同時又引人深思,細細品味後頗有感悟,對工作和生活上有了許多新的想法,於是便按耐不住寫下此文。

布倫特是乙個有著十年以上開發及運維經驗的高階工程師,無論是伺服器宕機,發布失敗還是線上出現bug等緊急情況,他總是第一時間著手處理,雖然有時並不按照公司的正常流程去提交變更申請,但他總能在大家一籌莫展時漂亮的完成任務。於是整個it部門的領導和同事都非常的喜歡他,甚至其它和it相關的部門有需要幫助時,也很願意找他,布倫特也照樣能夠快速並且出色的完成。直到有一天,問題堆積的越來越多,布倫特終於忙不過來了,而除了他,在沒有其他同事知道問題的來龍去脈,導致許多一級緊急事故無法及時處理,從而讓公司損失慘重。這時,大家的態度驟變,都將矛頭指向他,認為他沒有盡力,並且開始抱怨他總是不按公司流程處理問題從而引發了許多其他問題。老闆也不在賞識他,甚至覺得應該在他身邊安排幾個同事去取代他,而後辭退他。

開篇的故事**於《鳳凰專案》,其實不難看出,故事中的布倫特對於整個it部門來說極其重要,由於他掌握了大多數人所沒有的資源,技術以及處理問題的上下文,並且沒有及時與他人分享,從而讓自己成為了問題的核心,事故的焦點以及部門的制約點。

而事實上,布倫特就是布倫特,他一直都在出色的完成任務,他一直都獨享著所有一切的上下文,是「一直」讓他變得無法取代,也是「一直」讓他成為了那個制約點。

制約點總是那麼的讓人琢磨不定:一開始,它必定是乙個舒適點,大多數人並不會在意它,因為總有那些或那個人去悄悄的關注它;慢慢地,你也許很需要它,你才發現束手無策,不得不求助於你身邊那些悄悄的人,它又變成了乙個痛點;最後,你還是在舒適點和痛點之間選擇了前者,隨著時間的沉澱,它終於成為了乙個制約點。

忘記是什麼時候,耳邊聽到了一句「其實一切的一切,只是我們(devs)做的不夠快,不夠好」,此話雖然有些極端,但細細想來,似乎也頗具有幾分道理。

但我覺得這不僅是乙個個人問題,同時也涉及到了乙個團隊的運作方式。所以我也時常在想: 如果你是一名身處agile team,並且保持求知慾,富有激情,喜歡激辯的dev,那麼怎樣才能把交付做的又快又好呢?

問題的答案肯定不是諸如「多看書,多學習」等唐塞之言,因為我相信乙個能問出如此問題的dev,並且「保持求知慾,富有激情,喜歡激辯」,那麼他一定遇到了自身難以察覺的制約點。

所以,不妨從發現身邊的痛點開始,學著在組內尋找自己的制約點吧。

如果將制約點看做是乙個樹根的話,那麼起初它只是乙個點,而後慢慢成長,具有枝幹,漸漸的新的枝幹上又有了其他的分枝,直到枝繁葉茂時,你才發現無法從根部去找尋任意一片葉子的路徑,因為,它的層級已經太深。

因此解決它的最好辦法就是將層級扁平化:當你發現並且解決了乙個只有你知道的問題時,不要讓自己成為那個制約點,學著share出去;當你發現在你所處的團隊裡有你的知識盲區時,不要讓它成為你的制約點,主動求助,消除盲區;當你發現組內有共同的痛點時,及時的提醒,集思廣益,避免它成為大家的制約點。

但我並不認為有制約點的存在就是壞事:人與人本身在能力偏好速食麵就有差距,這就決定了每個人的知識體系大相徑庭,所謂「術業有專攻,技術有偏好」是也。所以,制約點某種程度上代表著你的乙個目標或者方向,解決制約點的過程就是拉平它對你的制約層級,彌補自身的不足,這就是進步。所以沒有制約點就是原地踏步,為了更進一步,就得尋找下乙個制約點。

因此,解決完「所有」(也許你認為的所有)的制約點並不意味著萬事大吉,你應該繼續尋找下乙個制約點。

受「精益軟體開發」所啟發,個人覺得所謂的精益思想,xp(極限程式設計思想),agile(敏捷思想)都只是一種方**,甚至可以說由它們衍生出的所謂的最佳實踐也都是方**。畢竟,具體到每一公司,每乙個專案,每乙個團隊,這些準則都不可能完全匹配和適用,但若以此作為思想參考,就會不僅在工作中,而且在生活中感受到它的導向價值作用,從而事半功倍。

原文請戳

精益思想與軟體過程

由於為企業做軟體諮詢的原因,我們經常把精益理念推介給我們的客戶,以期為客戶創造更大的價值。精益理念在製造業界備受推崇,並作為一種實用的管理技術為許多企業帶來了巨大的成功。20 世紀初,美國福特汽車公司創立了流水線生產。這種生產方式通過以標準化 大批量生產為標誌,來降低生產成本,提高生產效率。使汽車從...

精益軟體開發的思想 精益軟體開發原理快速指南

精益軟體開發的思想 我記得在早期的中學商業課上就曾在豐田公司學習精益生產,並且對通過有意設計來最大限度地減少浪費和提高生產率的想法深深著迷。隨著時間的流逝,精益方法被製造業以外的多個行業所採用,包括軟體開發。精益軟體開發將一些核心原則付諸實踐以優化生產力。軟體開發具有幾個關鍵功能,這使其成為應用精益...

敏捷 專案管理 精益思想

重點 實現商業價值和使產品開發之外的活動最小化 精髓 改善 旨在通過持續性地實施系統性變更來優化生產系統。一 精益生產為基礎的基本體系 1.多數錯誤是系統性的 1 很多團隊陷入失敗的泥潭之中,因為它們遵循著乙個劣質的過程或一種糟糕的管理方法,並且過分相信這一過程。2 管理層看上去更傾向於過分重視過程...