軟體以人為本2 – 為什麼軟體要以人為本?

來源:互聯網
上載者:User

軟體以人為本,這是一個值得討論的話題嗎?

1. 回顧“軟體工廠” 

至今還記得在我國九十年代中期興起,兩千年左右火爆的 “軟體工廠”運動。CMMI、TSP、PSP、RUP、UML還有MDD等等就是在那幾年開始火爆的。招募一幫代碼工人,給他們合適的工具,用最好的流程和方法學管理他們,他們就能生產出符合要求的軟體產品。多麼好的想法啊!公司老闆和管理員太喜歡了,於是很多公司轟轟烈烈加入了“軟體工廠”運動中。如果加上MDD,在不遠的未來代碼都可以自動產生,代碼工人可以取締,於是真正的“軟體工廠”就建成了。當時作為軟體開發人員的我也有點小恐慌,做開發真的是青春飯啊,這才做開發幾年,連寫代碼這個工種都要淘汰了。

軟體工廠如此定義軟體開發:

1. 軟體是針對既定需求的產品。

2. 軟體可由預定義的模組組裝,也可由預定義的模型產生,也可由代碼工人編寫程式碼完成。其終極目標是根據預定義模型,基於預定義模組進行的組裝。

3. 軟體中最重要的是語言,方法,流程和工具。代碼工人只是資源而已。

時至今日,軟體工廠的概念已經隨時間流逝而漸漸淡去。然而這種思想在現在依然很有市場,因為它的最大賣點在於可管理性和可預測性,很符合企業管理的特點。

案例1:客戶不等於需求

專案經理:“這是我們為你開發的產品,請驗收。”

客戶:“對不起,我們不能驗收,這不是我們想要的。”

專案經理:“但我們是按照需求報告開發的,你們當時還簽了字的。”

客戶:“。。。。。。”

案例2:開發不等於資源

專案經理:“這個業務要下周交付的話恐怕不成,資源已經全部被佔用了。”

業務:“那從另外一個業務去調一個過來,時間應該趕得上吧!”

專案經理:“我試試!”

開發還是資源,很難談得上成長。專案經理還在救火,業務還是一團忙亂。

案例3:規則還是交付

專案經理:“這個業務延遲了5天,因為我們前端開發資源緊缺。”

業務:“那能不能讓其他的開發人員做呢?”

專案經理:“前端組的有要求,不讓自己做!前段時間他們去老大那裡投訴了,我很被動。”

公司大了,分工細了,協調難了。部門間目標不一致了,滿足客戶和遵守規則衝突了,流程越來越多越來越僵硬了,人的力量越來越難發揮了。

案例4:開發和業務的溝通難題

開發:“業務那邊又變了,這事沒法搞,改來改去,他們到底要的是什麼,不能先搞清楚嗎?”

開發找到開發的老大:“老大,我們是不是給他們增加個需求評審。”

業務:“開發怎麼還沒開發出來,這樣的話業務怎麼能完成任務。”

業務找到業務老大:“老大,我們是不是要他們給出開發計劃,用這個來管他們。”

2. 軟體以人為本 

2.1 為什麼軟體要以人為本

在傳統的思想中,我們應對溝通、應對人、應對變化的方式就是把它固定下來。所以我們試圖把客戶的需求固定下來,把工作流程固定下來,把工作崗位固定下來,把開發模式固定下來,把管理方式固定下來。在這個過程中,為防止其他人的變化給我們的工作造成的困擾,我們不停的給其他人帶來的變化設定更高的門檻。當然,軟體開發中的所有人都試圖這麼做,所以我們製造出了相應的組織、文檔、流程、方法、工具,試圖避免減少與“人”的溝通交流合作,試圖降低對個人能力和創造性的依賴,試圖用簡單的、可重複的、易於管理的方式取得成功。

但是時間能夠固定下來?變化能夠固定下來嗎?人能夠固定下來?溝通合作能夠固定下來?創造效能夠固定下來?

這就是軟體以人為本的由來了。“人”是變化之因,“人”也是應對變化之本。

如果讓我重新來定義軟體開發,我會如此定義:

1. 軟體是為客戶(人)創造更高價值的產物。客戶(人)對更高價值的理解會隨時間而變化,軟體需應對這種變化。

2. 軟體是客戶與Team Dev和Team Dev內的人與人間合作的產物。個人的能力與團隊的合作是軟體能否成功開發的關鍵。

3. 語言、方法、流程和工具的主要作用是輔助個人和團隊發揮更大的力量,從而能更高效地為客戶創造更高的價值。

軟體以人為本將包括對如下內容的獨立思考:

1. 如何提升個人的開發能力和管理能力?如何提升與他人的溝通能力和自己的影響力?

2. 如何融入團隊,進行團隊合作?如何建立團隊,促進團隊合作?如何有效利用工具(語言、方法、流程和工具)輔助個人能力提升,協助團隊發揮力量?

3. 如何與客戶更好合作以在更短的時間內為客戶創造更大的價值?

2.2 敏捷十年

來自InfoQ《敏捷宣言十年後的思考2》。在敏捷走完十個年頭的時候,敏捷大牛們紛紛發表意見,不少敏捷大牛認為敏捷在人方面並未取得期望中的成功。他們對敏捷社區提出了下述期望:

1. 渴求技術卓越

2. 促進個人轉變和領導組織變革

3. 管理知識並推動教育

4. 力圖在整個流程中最大化地創造價值

軟體以人為本看來是一個長期的問題。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.