《軟件工藝師:專業、務實、自豪》一3.6 軟件開發是手藝、生意、工程、科學,還是藝術
本節書摘來異步社區《軟件工藝師:專業、務實、自豪》一書中的第3章 ,第3.6節,[英]桑德羅·曼卡索(Sandro Mancuso)著 愛飛翔 譯, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。
3.6 軟件開發是手藝、生意、工程、科學,還是藝術
剛參與軟件工藝活動時,筆者記得自己總在討論什麼是軟件開發。一開始筆者覺得它是門藝術,過了好些年,又感覺它像是一門手藝。但筆者認識的許多人,包括自己所崇敬的一些人在內,卻根本不讚同這種看法。有人覺得軟件開發是生意,也有人認為它是工程。但很少有人把軟件開發當成科學。
無論是把軟件開發看作藝術、手藝、生意、工程,還是把它看成科學,主張不同的開發者都覺得自己的理由非常充分。隻要去聽一聽這些支持各自論點的理由,你就會發現,其中許多理由都能說得通,雖然某些理由可能比另外一些理由更加充分,但總的來說,每條理由都或多或少能夠成立。
另外一項較大的分歧在於軟件工藝這個名稱本身。有些人完全排斥這個詞。他們認為,把富於創新精神且極速變化的軟件行業和傳統的手工業聯係起來是沒有意義的。這種想法確實有道理。
這些年來,筆者參與了好幾場這樣的爭論,花費了極大的精力來說服別人接納“軟件工藝”這套比喻,並且告訴他們軟件開發為何是一項手藝。在逐漸深入討論的過程中,筆者突然發現,其實這根本就不重要。在需要討論的事情裏麵,這是最微不足道的一件。雖說筆者自己確實很喜歡軟件工藝這種比喻方式,並且樂於把軟件開發當成一門手藝,但真正值得關注的,並不是應該采用哪種喻體來比喻軟件開發,而是軟件工藝所提倡的那些重要理念。
無論如何,軟件工藝師關注的是提升專業水準,並且在幫助其他開發者的同時提高自身能力,以便成為專業的軟件開發者,而不是那種隻會服從命令的平庸工人。
最後更新:2017-06-22 14:32:09