如果像軟件開發那樣去造飛機
經常會聽到某某領導一拍桌子說,“干不完就加人、加班。”這話聽起來似乎理直氣壯,但如果是軟件公司的領導,這就大錯特錯了,這說明這人根本不懂軟件。軟件開發就如同女人生孩子,10 月懷胎,加再多的人也不能讓她提前分娩。
不是我們程序員太矯情,軟件開發不比其他行業。軟件工程雖然也叫工程,但跟土木工程無法相提并論。軟件工程師雖然也是工程師,但跟建筑工程師干法完全不同。引用《軟件工程的變遷》里的話,你能明顯軟件工程的不同之處:
當一個土木工程師去修建一座跨河大橋來連接河兩邊的道路時,工程師會非常清楚的知道道路跨河的精確地理坐標位置。行駛的車輛在數年里也不會發生重大的改變。橋梁工程師只需要按照之前已經被上千次的驗證過的建筑工藝把河兩邊的路連接到一起。
對于軟件系統,因為技術或業務發生了變化,在建設過程中(在所有需求和設計文檔完全完成后)需求需要做重大修改的情況并不罕見。如果把這種情況放到修橋的事情上,相當于當橋的地基打好后,再把橋的搭建位置往河的下游移 6 公里。
</blockquote>不僅如此,軟件開發里還有一些讓其他行業里人無法理解的現象。比如程序員夜貓子的習慣,想想如果建筑工人也是晝伏夜出會是什么景象?比如“結對編程”,如果建筑工人結對砌磚會是什么效果,不僅不會提高速度和質量,而且很有可能會被開除。特別是“持續交付(Continuous delivery,開發一塊,給用戶交付一塊)”,如果蓋房子也“持續交付”,沒有屋頂的房子一定會漏雨。但如果換成造飛機時也邊造邊運營,這就是奇跡了。大家想看奇跡嗎,那就看看下面這個視頻吧,看看如果像軟件開發那樣去造飛機,會是一個什么樣的壯舉。
</p>
來自: 外刊IT評論本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!