7        對品質的直接觀察

我認為全世界市場的胃納量差不多是五台電腦。
──Thomas J. Watson, Sr.

IBM
創辦人, 1943
 
每一個人在自己的家裡都有一台電腦,這是絕無可能的事。
──Ken Olsen
DEC創辦人, 1977
 
  


就像人類創造出來的電腦還有其他事物一樣,軟體免不了會讓我們對它存在的價值做一番預測。但是,正如上面那兩段話所顯示的,當我們要對某樣東西未來的價值做預測時,一個專家的猜測其正確程度充其量也只和任何一個普通人一樣
1。在此提供幾個我對軟體預估的好例子,實在有資格加入前面的引用句的行列:
 

                             
                                                FORTRAN
絕不會成為流行。
──傑拉爾德‧溫伯格, 1956
 
                                        FORTRAN絕不會一直存在。
──傑拉爾德‧溫伯格, 1966


 



  簡言之,要生產出高品質的軟體,不能靠著預測來達成。想要做到這一點,我們必須去瞭解要生產出一個高品質的產品(如珍珠、自行車、或書)必須具備哪些條件,這些條件所根據的是事實,而非個人的看法。我們必須知道的一個事實(如果我們相信控制論模型成立的話)是:
 

           目前,這個產品的品質狀況如何?
 
  

要回答這個問題的方法有兩種:直接回答法,直接去量測產品的品質;或是間接回答法,先去量測其他的東西,然後從品質的角度來解讀量測值所代表的意義。舉例而言,我的文字處理軟體可以利用佛萊許易讀性指標(
Flesch Readability Index)的功能來計算我這本書中句子和用字的平均長度。如果這個數字介於1011之間(這表示高中二年級和三年級的程度),我可以以此認定這本書的品質很好。這種間接的方法明顯有幾個陷阱:
 
l           可能較偏向於品質,而不是可讀性(例如對本書的內容而言)。
l           可能有比佛萊許指標還要好的易讀性評量法。
l           指標值912或許代表比1011的品質還要更好。
 
  既然間接評量法有這些陷阱,解決之道是在繞一大圈遠路利用間接評量法之前,先嘗試直接評量法。在本章中,我們會探討直接評量法。
7.1             品質vs.蘋果派
  在嘗試寫一本有品質的書時,我學到的是,那需要花很大的功夫,而要生產高品質的軟體當然也是如此。為避免所花的力氣都白費了,在為新書選主題之前,我先要確定這樣的主題是否賣得出去。
7.1.1                   調查一下對品質所持的態度
  開始寫一本有關品質的書之前,我調查了38個人的意見,瞭解他們對品質的看法。我向每一個人問:
 
                     你對品質的看法如何?
a.            我對品質投贊成票。
b.            我對品質既不贊成也不反對。
c.            我對品質投反對票。
 
為了能給我的資料賦予意義,我需要一個對照組。我還問他們:
 
                     你對蘋果派的看法如何?
a.            我對蘋果派投贊成票。
b.            我對蘋果派既不贊成也不反對。
a.            我對蘋果派投反對票。
 
7-1是我調查的結果。顯然,有些人對蘋果派不太在乎,但是,沒有一個人會說:「其實,我不太在乎品質。」如此看來,寫這樣的書應該是個不錯的主意。
 
 
For = 贊成/喜歡
Neutral = 沒意見
Against = 反對/討厭
Quality = 品質
Apple pie = 蘋果派
 
圖7-1.        我調查的對象如何看待蘋果派和品質。
7.1.2                   人們口中的品質是什麼意思
  為找出這次調查結果的意義,我將利用在第六章中為解讀觀察的結果而制訂的解讀過程(有六個步驟)。首先,我想出幾種假說來驗證圖7-1所代表的意義:
 
1.            這是適合談品質的一年。
2.            這是不適合談蘋果派的一年。
3.            「品質」是一個定義模糊的名詞,以致沒有人敢反對它。
 
  我選擇用第三個假說,並開始對它進行測試。
 
           一般而言,一個評量值不應孤立地來解讀它,這是為什麼我用蘋果派來做為對照組。我還用了別的方法來檢驗我的假說。我要求每一個受訪者寫出他的答案(在25字以內):「品質」的意思是什麼?
 
           此時,所得到的結果意思非常不明確。在38個受訪者中,我得到31種對品質不同的定義,而另外的7個人說品質是無法定義的!(但他們大多能給「蘋果派」很好的定義。)我的結論是,我在調查品質時所用的問題相當於是:
 
                     你對「你所喜歡的」有何看法?
a.            我對我喜歡的投贊成票。
b.            我對我喜歡的既不贊成也不反對。
c.            我對我喜歡的投反對票。
 
換句話說,這次調查的意義是,每個人對品質都有相同的定義,這個定義就是:
 
           品質就是隨我喜歡。
 
7.1.3                   所謂的品質是什麼意思?
  品質有了這樣的基本定義(「我所喜歡的」)之後,我發現一件奇怪的事,原本的那些定義都完全沒有提到。就好像品質是早已存在於大自然之中,與人類的各種行動、意見、或意圖都沒有關係。
 
           說得更明白一點,所有的定義無一明確的提到與人的關係。然而,如果我仔細去看這些定義,我就發現與人有很大的關係,就像《綠野仙蹤》裡奧茲國的那位偉大的巫師,「總是躲在帳幕的後面」。
 
           比方說,有一個定義是這麼說的:「一個東西若有品質,它就是同類中最好的。」對我來說,這個定義暗指存有一個排名的過程,而這個排名的過程又暗指有一個人在做排名的事。即使排名的順序是由一台電腦完成,也一定要有人先設計出排名的規則,然後寫成程式再存入電腦中。
 
           還有一個定義說,「品質是一個不可或缺的元素」。「不可或缺」暗指有一個人或一群人非要有那個元素不可。第三個定義又說,「品質的意思是指具備許多好的特質。」但是「好」並不存在於大自然之中,除非有一個來當裁判。
 
           蘋果派的試驗我做過許多次,每一次我指出在他們的定義出存有人的因素,大家就拼命反對我的看法。通常他們是引用品質專家的話來反駁我,如克勞斯比說的「品質就是符合需求2」。然後我問這些需求又是從哪來的?是誰提出這些需求的?而這場爭辯就繼續下去。
7.2             品質的相對性
  每次我教品質的課,我總是在課程一開始時就會引發這場人對品質的戰爭。為什麼我這麼愛與人爭辯呢?因為我們若是不把根本的問題解決,它就會像膿瘡一樣在整堂課上一直潰爛,讓品質的探討毫無進展。最後,我讓他們瞭解我對品質真正的定義:
 
從對品質的各種有些微差異的定義中,我們可清楚看到品質的政治面與感情面。在早期階段來談需求這個概念有些太過天真,因而毫無用處,因為它完全沒有提到到底是的需求才是我們最需要在意的。比較可行的定義會是:
 
品質是指對某人的價值。
 
我說的「價值」的意思是,人人為了讓自己的需求被滿足,願意付出多少代價或願意做什麼事。3
 
  為什麼這樣的定義會為某些人帶來那麼多的困擾呢?世上有些人最強烈的慾望就是能找到完美,也就是找出一條正確的道路。這樣的人大多選擇與電腦為伍,特別是選擇與軟體為伍。他們不喜歡「品質是相對的,會因人、因場合、因時間而改變」這樣的觀念,但實際上就是如此。
 
           完美主義者通常會宣稱自己是忠於真理。這樣的話,他們應該想到英國詩人Alexander Pope的一個觀察:
 
           有一個真理是很清楚的:不論它是怎麼說的,都是對的。
 
品質是相對的,因此採用相對的定義是對的。
 
7.3             一個品質失控的產業
  今天許多軟體機構都窮於應付品質上的問題,以致無法有效處理軟體開發和維護的正職。開發出來的軟體價格昂貴又交期延誤以致顧客不再需要這樣的軟體,此外,多數軟體公司還呈現工作量過大之機構的典型症狀:欠缺察覺問題的意識、缺乏自知的能力、以及獨特的行為模式和情緒。但是,許多經理人員無法認清工作量過大和品質問題之間的關係。
 
許多經理人員也無法認清自己所採取的行動與所得到的結果之間的關係。他們所採取行動的最好結果是沒有效用,但多數情況是,這些行動其實對生產力會造成傷害。或許他們知道該如何開發軟體,但是對於我們每一個人必須經常問自己的一個重要問題,他們卻不知道答案:
 
           為什麼我們不能照著我們已知該如何做的方式去做?
 
  造成我們不照著我們已知該如何做的方式去做的根本原因是,我們看到問題的數量繁多就不知該從何下手。要走出這種困境的第一步是先要瞭解:
 
           每一個軟體上的問題都是品質的問題。
 
從「軟體第零法則」的角度來看,它就變成:
 
           如果軟體不需實際派上用場,那麼無論需求是什麼你都能符合。
 
化為較普遍的形式,它就變成「品質第零法則」
 
           如果你不在乎品質,那麼無論需求是什麼你都能符合
 
  實際上,所謂品質就是生產出對某些人有價值的東西:符合他們的需求。如果你不需符合他們的需求,或是品質不重要,那麼你在生產軟體時就可以愛有多少功能、愛訂什麼價格、愛以多快的速度開發都無妨。而你的開發人員都可以自認為那是一個偉大的軟體。簡言之:
 
    如果你無須控制品質,則其他的東西都很好控制。
 
  換句話說,品質是我們會遇到最直接的軟體評量。欲量測品質唯一直接的方法,就是找出他說的話才算數的那個人,正如下面這個故事所顯示的:
           有一家公司的執行長,正準備去參加一場週末研討會,他先向他的終端使用者電腦器材部門(End User Computing, 簡稱EUC)的經理詢問,她是否有一台筆記型電腦可以借他帶去。
 
           這位經理告訴他,所有的筆記型電腦這個週末都被借走。唯一剩下的一台PC則需要送去維修。
 
           這位執行長說:「這台雖不能使用也沒有關係。我要的只是在週末參加研討會時身邊有一台PC。」
 
           EUC經理聽得一頭霧水,但因他是公司的大頭,她也只好同意。執行長拿起這台PC,抱怨PC有點重。(它的重量雖只有6磅,但已超過這些大老闆們習慣的重量。)
 
           為了這個要求,EUC經理才知道這台PC對執行長而言只是一件裝飾品!她解決執行長的「問題」的方法是把電池和硬碟都拿掉,於是重量減到只有4。執行長非常滿意地帶著這台「電腦」離去。
 
還有什麼方法更能闡明「軟體第零法則」精義的嗎?所有的軟體都不會真槍實彈的用上,因此EUC經理可以放寬硬體上的重量限制。當然,EUC經理不認為這是「品質」,所以她才會告訴我這個故事。但是,她的顧客很滿意,而且他是執行長這麼重要的人物。因此,對於品質的看法,誰說的才算數呢?
7.4             誰的想法和感覺才算數?
  評量品質的唯一標準就是人的滿意度。但是,如果品質永遠只關乎人的感覺,那麼誰的感覺才算數呢?這是一個高度政治性的問題:品質的定義要由誰來控制
7.4.1                   誰說了算-IBM觀點
  當談到資訊產業的政治手段時,IBM的經驗值得一聽。IBM的董事長John Akers在談到品質時是這麼說的:
 
從另一個角度來看品質:品質就是卓越,卓越就是市場驅動。它們是一體的也是同一件事這幾個名詞我們可以交替使用
                對於我們所選定的市場,我們必須全力投入成為市場的領導者。我們無意為全天下的人提供所有的東西。在目前這種高度競爭的世界,我們必須有所選擇。一旦我們選定了市場,我們必須為得到且維持領先地位投入所需的一切資源7
 
 
  「市場驅動」隱含的意思是,Akers知道品質是由IBM的顧客來定義。雖然話中的第一段是普遍適用的(所謂的「品質就是卓越」),但Akers「市場驅動」原則中有一條的意思是,IBM在定義品質時有一部份是從做生意的觀點來決定哪些人是IBM所重視的。這讓IBM能夠控制如何替品質下定義,至少從IBM董事長的眼光來看是如此。
 
           Akers主政之前和由他主政的期間,因IBM慣常將某些市場排除,認為那是不值得IBM注意的市場,使得IBM受到很大的損失。Thomas J. Watson, Sr.曾預測全世界的市場只有五台電腦,這幾乎讓IBM完全退出電腦市場。IBM很幸運,它的主要競爭對手在IBM迎頭趕上之前也完全不看好電腦市場。與此相反,DEC就沒有這麼幸運。遵照Ken Olsen對家用電腦所做的預估,DEC幾乎把自己永遠鎖在個人電腦產業的門外。正如Lord Acton說的,這就是「權力使人腐化」,而會被權力徹底腐化的,就是我們從觀察結果看出其中意涵的能力。不幸的是,OlsenWatson二人解讀「對電腦市場所做觀察」的能力,因他們處於最強大公司中最有權力的領導者的這個位置而被腐化了。
7.4.2                   軟體開發人員的觀點
  有時,軟體開發人員可以控制對品質的定義。變化無常型(模式1)機構會離譜到認為「它還堪用!」是對品質唯一可能的定義。其他人也因為過度害怕與開發人員槓上,因此無論開發人員認為品質是什麼,他們都視同法律。通常模式1開發人員的傲慢就像某些IBM行銷人員的傲慢一樣:「如果你無法從我們這兒拿到的東西,你也無法從任何人那兒拿到。」最後,他們從顧客所得到的反應通常也是一樣:「意想不到的事發生了!」
 
           IBM顧客的事例中,意想不到的事是以顧客開始考慮新竄起競爭者所提供硬體的形式出現。有時IBM仍保有優勢,但競爭者已把腳伸進門裡。在變化無常型機構的事例中,意想不到的事通常是以突然冒出一位「軟體獨裁者」意圖強行引進照章行事型工作紀律的形式出現。有時開發人員還是獲勝(如果重返模式1可以視為是一種勝利的話),但多數時刻比較敢於表達意見的開發人員會被掃地出門。
 
           如果機構需要用的軟體是由內部的人自行開發或由專門的軟體單位集中外包出去,簡單來說該軟體機構認為自己有專屬的市場,在這樣的機構裡特別容易發生罔顧顧客意見的問題。在競爭的環境下,若是罔顧顧客的意見最終會讓該機構沒有生意可做;但是在專屬的環境下,這樣的行為會永遠存在。
7.4.3                   對品質公允的評量
對於品質評量和品質改善,我想要將我的立場總結成一句格言:
 
           真正的品質改善都是從「知道你的顧客想要的是什麼」開始。
 
就拿我的同行Jim Batterson來說,他警告我這樣的說法容易引起誤解:
 
你把品質定義為只要從顧客的觀點來考量,這讓我不得不稍稍皺起眉頭。雖然你後來在書中解釋了我的疑慮,你我二人都知道,軟體的品質中有一部份使用者雖看不到,卻會顯示在日後錯誤的數量和維護成本上。曾經有一段時間我委婉地拒絕按照使用者所要求的方式來建造軟體系統,因為這樣的設計無法滿足我個人在品質和專業上要求的標準。
         我太常見到,系統有設計上根本的缺陷,而負責建造的分析師所給的藉口是「是使用者要求這麼做的」。我的看法是,決定業務需求時使用者是參考的來源之一,卻不是唯一的來源,然而,分析師在決定業務上的需求時,尤其是在運用好的設計技巧時,有責任還要考慮到使用者以外的人事物。8
 
  我贊同Jim的意見。格言固然好用,但容易讓人因文化上的成見而誤解其意。這句格言是說,真正的品質改善都是從「知道你的顧客想要的是什麼」開始,而不是在此結束。它的意思是,如果你不知道你的顧客要什麼,那麼你就完全無法保證你所採行的「品質改善」步驟是能夠真正達到品質改善的步驟。
 
           此外,這句格言強調你必須知道你的顧客想要的是什麼,而不是顧客認為自己有了什麼會更好,也不是你認為顧客應該有什麼才對。拿Jim的例子來說,你的顧客或許不樂見維護的成本太高,但是他們可能並不瞭解要解決技術上的關鍵問題會讓維護成本增加。幫助顧客瞭解這些技術上的關鍵問題是誰的責任?非專業分析師、程式設計師、設計人員莫屬。
 
           假設在你告知顧客你的專業意見後,他仍然說:「這個我不管。我只要你能給我一個快速的解決方案,有些缺陷也無妨。」此時你要表現你的專業精神,就像一個工程師、醫生、或其他專業人員所該表現的一樣。如果你認為,顧客在獲得充分告知後,他真正想要的東西是你用專業亦無法達成的,請禮貌地退出這個專案,就好像一個醫生被要求去進行一個既危險又不必要的手術時應該有的反應。如果你自認是專業人士,而顧客在你把你所認知的專業想法與他溝通後,並不想照你的專業意見來做,那麼你是無法與他繼續共事的。
7.4.4                   品質的第一評量
  那些自稱為照章行事型(模式2)的經理人員對於用這樣專業的做法來找出品質的定義不是十分滿意,他們希望顧客和軟體工程師的方向能夠一致,不論兩者的個人信念是什麼。這類的軟體獨裁者想要做的第一件事是得到與數量有關的評量值,因為他們完全不知道要如何量測出品質
           一旦他們發現即使量測出垃圾的數量也無法成就任何事,他們開始把注意力放在量測錯誤上,並宣稱那就是與品質有關的量測值。這是一個變化無常型的機構想要變成照章行事型文化時的一種不成熟的動作。為使一個企業達成真正的轉型,必須要做的是對顧客滿意度做直接的觀察。
對顧客滿意度做直接的觀察不是件容易的事,卻有其必要。真正的品質改善都是從「知道你的顧客想要什麼」開始,或是從「知道你的顧客需要或期待什麼」開始。這是第八章的主題要討論如何去量測顧客滿意度的主因。
 
(本文摘錄自)【溫伯格的軟體管理學:第一級評量(第2卷)】第7章)
創作者介紹

經濟新潮社EcoTrend官方部落格

EcoTrend 發表在 痞客邦 PIXNET 留言(0) 人氣()