軟體文化及亞文化

2021-08-22 01:17:41 字數 2919 閱讀 9792

軟體文化及亞文化

所有這些鎖定現象環環相扣,最終會造成一些模式。人類學家dani

weinberg『weinberg 先生的夫人。——譯者注』是我的搭檔,每當他與我一同前往乙個新的企業,為其提供有關軟體組織的管理方法的諮詢時,我們總是很快就能注意到兩個重要的事實:

1. 任何兩個軟體企業都不盡相同。

2. 就其本質而言,任何兩個軟體企業都沒有多大區別。

正是因為第一點,在解決軟體管理中真正重要的問題時,不可能企望會有現成的方法。然而與此同時,正是由於第二點,每當來到乙個新的軟體組織時,我們也不必都從頭開始。每個軟體組織中都包含由一定數目的普通人構成的群體——儘管在不同的企業中,他們的數量可能相差很大,他們服務於的產業可能不同,他們使用的程式開發語言可能不同,他們可能位於不同的國家,甚至他們生活的年代也不盡相同。對於這種群體,本書將給於特別的關注。

也可以通過另一種人類學的方式來表述這種現象:存在某種軟體文化,這種文化可以跨越時間、空間以及環境的界限。你有很多種辦法,可以驗證這種軟體文化的存在。首先,英文的軟體書籍在全世界都很暢銷。在很大程度上,這種文化屬於英語文化。這類書籍的翻譯版本銷路也很好,因此有關軟體方面的笑話在全世界都能大行其道。關於軟體的會議跨越了國界,針對這些會議的與會者的調查顯示:這些人的組成跨越了產業的界限,同時也打破了年齡層次的界限。對於我們來說,這種軟體文化的存在不能不說是一件幸事——因為它使我們得以互相學習。因此對您或者您所在的軟體組織而言,我們從自己的客戶那裡所了解到的規律將具有潛在的價值。

dani 與我所了解到的最具價值的規律之一就是:在整個軟體文化圈內,只有寥寥數種不同的模式(也就是所有軟體組織所具共同特性的巨集觀型別)。區分這些模式的一種方法,就是去觀察軟體組織所開發的軟體的質量。我們已經知道,軟體組織所開發軟體的質量也會鎖定在固定的水平上;同時由於文化所固有的保守本性,任何改變現狀的努力都會受到遏制。從該文化圈的以下幾個特點,你可以再清楚不過地看出這種保守的特性:

1. 對其目前的軟體質量水平現狀沾沾自喜。

2. 如果要嘗試提高其軟體質量,人們首先擔心的是目前質量水平可能因此下滑。

3. 對其它文化缺乏了解。

4. 對其身處其中的軟體文化視而不見。

質量的重要性來自於其所具有的價值。因此,把握軟體質量的能力也就是把握軟體工作所具價值的能力。為了創造一種質量軟體的新文化,作為軟體開發人員或主管,您必須懂得如何有效地應對這些因素——這也正是本書的目的所在。

有益的提示與建議

1. 你可能希望能夠確定自己的軟體的所有潛在使用者,並且了解其對不同使用者所具有的價值。自不用說,你不可能指望在這些方面做得盡善盡美;但是這並不等於說,你的這種嘗試努力沒有任何好處。實際上或許你將發現,哪怕你只是在自己的腦子裡考慮考慮這種嘗試,也會有大有裨益。而一旦切實體會到了這些好處,也許你就會著手深入主要的使用者中去進行訪談,以確定對他們而言的價值所在。

2. 由於文化所固有的保守性,任何改革的努力都會受到重重阻力。你應該認識到,自己進行改革的目的正是為了能夠更好地繼承以往工作方式中好的方面——在認識到這一點之後,你將可以更好地應對這類阻力。在開始你的改革計畫之前,你應該首先承認原有方式的價值;即使是要改變文化的模式,也要首先明確哪些特性是你希望繼承的——如果能夠這樣做,將會獲得更好的效果。

小結質量是相對的。對某乙個人而言的質量,對另乙個人則甚至可能意味著質量不足。

為了確定質量的相對性,需要透過其定義的文字表面,發現其中隱含的乙個或多個物件。

為此,我們需要提出這樣的問題:在這個關於質量的敘述背後,對應的到底是什麼人?

不折不扣地講,所謂質量就是軟體產品對於某個(或某些)人的價值。正是在這個觀點的基礎之上,我們才有可能協調一致地解釋下面的論點:

n高質量就是毫無紕漏

n高質量就是提供眾多的功能

n高質量就是簡潔而優雅編碼

n高質量就是高效能

n高質量就是低開發成本

n高質量就是高開發速度

n高質量就是高使用者友好性

所有這些論點可能同時都是正確的。

雖然我們總是自欺欺人地試圖理性地來考慮質量問題,但是在很大程度上,質量實際上是乙個政治的或者情感的問題。

質量並不等同於不存在錯誤。即使不能逐字逐句地地符合其需求,乙個軟體產品仍然可能被某些使用者認定為高質量的。

改進質量並非一件易事,這是因為其開發組織的運作方式會傾向於鎖定在某種固定的模式上。對於其現有的質量水平而言,這些開發組織已經適應;但是關於應該如何做才能將質

量提高到新的層次,他們心中並不清楚——猶如葉公好龍一般,實際上他們並不願意嘗試

把自己的願望落實為行動。

為眾多的軟體開發組織所採用的模式不外乎少數的幾種型別(或者成為亞文化群),這些型別具有其各自的特性。

文化具有與生俱來的保守本性。對於軟體開發組織而言,這種保守性在以下方面體現得淋漓盡致:

n對其目前的軟體質量水平現狀沾沾自喜

n如果要嘗試提高其軟體質量,人們首先擔心的是目前質量水平可能因此下滑

n對其它文化缺乏了解

n對其身處其中的軟體文化視而不見

練習

1. 我曾經致信doug brent,向他表達我的感激之情,同時指出其軟體中的兩個錯誤例項;

但是至今為止,我還沒有受到任何答覆。如果precision cribbage 已經經過了修正,對我

而言當然不是壞事;然而我卻不會過分去留意這種修正,因為一旦後來我能找到另乙個適

宜的程式來玩cribbage 紙牌遊戲,原來的軟體所具有的價值就立即貶值了。請討論一下:

當某個軟體產品的早期版本或者其競爭對手的產品投入使用時,該軟體產品的價值(也就

是其質量的定義)是如何變化的?

2. 在使某一給定的硬體體系結構逐漸標準化的過程中,所在軟體組織將會鎖定在那些特徵上?請逐一列舉出這些特徵。

3. 關於所開發軟體的質量,您所在軟體組織中的同事們是否的確對目前的質量水準沾沾自喜?從哪些證據可以看出他們的這種心態?如果有人敢於對其略有微辭,您所在的企業將

會如何對待他們(的意見)?

軟體文化及亞文化

軟體文化及亞文化 所有這些鎖定現象環環相扣,最終會造成一些模式。人類學家 dani weinberg weinberg 先生的夫人。譯者注 是我的搭檔,每當他與我一同前往乙個新的企業,為其提供有關軟體組織的管理方法的諮詢時,我們總是很快就能注意到兩個重要的事實 1 任何兩個軟體企業都不盡相同。2 就...

新名詞 亞文化爆發

原諒乙個80後開發的後知後覺,這塊的知識確實之前比較匱乏。先說說亞文化是什麼。亞文化 subculture 又稱集次文化或副文化,指與主文化相對應的那些非主流的 區域性的文化現象,或是在主文化或綜合文化的背景下,屬於某一區域或某個集體所特有的觀念和生活方式,一種亞文化不僅包含著與主文化相通的價值與觀...

網際網路的亞文化 暴走漫畫

經常將當天的暴走漫畫看完,我才去睡覺。為什麼會喜歡 暴漫 在網路走紅的背後,隱藏了年輕一代在社會轉型期的複雜心理狀態。我們通過暴漫發現生活中越來越多有意思的細節,也通過暴漫發洩自己現實生活中的不滿,找到共鳴者,也是宣洩生活壓力的一種途徑 我更能看到網際網路的亞文化所在。亞文化的背後,新時代的產品需要...