質量的相對性

2021-03-31 18:35:10 字數 2294 閱讀 3286

質量的相對性

在上面的故事中,我之所以會陷入兩難的境地,可以通過質量的相對性來加以解釋。這個關於minicozy 公司的故事清楚地告訴我們:某個使用者認為是質量完全過關的某個軟體產品,另一位使用者可能會認為質量不完全過關。

發現相對性

由於軟體的質量,有過種種定義。只要考察一下這些定義,您就會發現上面提到的相對性。不過,只有仔細加以考察才能有所發現,因為這種相對性通常都被隱藏起來了;即使在最好的情況下,也是很不明顯的。比如,讓我們來看看crosby 給出的定義:

所謂質量,就是"符合需求"。2

這反映了一些軟體開發者的思想,他們認為使用者的需求是無緣無故地從天上直接掉下來的,但是實際情況並非如此。因此,下面的定義會更為精確一些:

所謂質量,就是"符合某個使用者的需求"。

正如可以從我外甥女的文字處理軟體一事中看到的,對於不同的個人,同乙個軟體產品往往會體現出不同的"質量"。對於terra 而言,她所關心的是其讀者;但是對於minicozy 公司的那位專案主管來說,他關注的卻是其使用者中的主流。一旦認識到了這一點,我關於minicozy 的自我矛盾就迎刃而解了。

那個masked 的人是誰?

簡而言之,我們不能脫離具體的人來抽象地談論質量。

每一條關於質量的陳述,都是關於某個(某些)人的陳述。

這句話既明確又含糊。在大多數時候,"某個(某些)人"到底指誰並不明確,而且這類關於質量的定義,聽起來就像摩西從西奈山上帶下來的刻在石板上的東西一樣。這也就是為什麼雖然有那麼多關於軟體質量的清議空談,但是最終卻都徒勞無功--你崇拜的可能是金牛像,而我崇拜的卻可能是石板。

如果能夠考慮到質量的相對性,那麼我們就可以利用這個工具來把這些討論落實為實在的結果。每當有人提出乙個關於軟體質量的定義時,我們只需簡單地問一句:

在這裡所討論的質量背後,到底是針對什麼人而言的呢?

關於軟體質量的組成要素,有很多提法已經為我們所熟知,但是它們常常又是互相矛盾的。現在,就讓我們通過上述的啟發式方法,重新審視一下這些提法。

高質量就是毫無紕漏

a. 對於某些使用者而言的確如此--這些缺陷會把這些使用者的工作搞砸

b. 對於某些主管而言的確如此--他們會因這些缺陷的存在而受到指責

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

a. 對於某些使用者而言的確如此--他們在工作中會因這些功能而受益(當然,如果他們

確實了解這些功能的話)

b. 對於市場營銷人員而言的確如此--這些人堅信,功能越多就越有銷路

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

a. 對於開發人員而言的確如此--他們非常看重同行們的評價

b. 對於電腦科學領域的教授們而言的確如此--他們陶醉於簡潔優雅

高質量就是高效能

a. 對於某些使用者而言的確如此--他們的工作使他們的計算機不堪重負

b. 對於銷售人員而言的確如此--他們銷售的軟體必須通過標準測試

高質量就是低開發成本

a. 對於某些使用者而言的確如此--他們想要購買上千份該軟體

b. 對於某些專案主管而言的確如此--他們在開發開發時囊中羞澀

高質量就是高開發速度

a. 對於某些使用者而言的確如此--他們的工作正等著該軟體下鍋

b. 對於某些市場運營人員而言的確如此--他們企圖在競爭對手來得及殺入之前,就獨

霸市場高質量就是高使用者友好性

a. 對於某些使用者而言的確如此--每天八個小時,他們都需要目不轉睛地盯著螢幕使用

該軟體b. 對於另一些使用者而言也是如此--每次使用該軟體時,他們總是記不住上次使用時的

介面細節

行政上的兩難

認識到質量的相對性,通常已經可以讓我們擺脫語義上的兩難困境。作為一本討論質量的書,能夠在一開始就解決這個問題,實在是難能可貴。但是,這還遠不足以消除政治上的兩難困境:

對某乙個人而言更高的質量,也許對另乙個人而言就意味著更低的質量。

比方說,如果我們的目標是提高"整體的質量",那麼我們就不得不對所有相關的使用者作一權衡。這樣,為了實現整體的高質量,我們就首先需要確定所有有關的使用者,並對其各自的需求作充分全面的了解3。因此在每次設計中,對於任何的軟體工程方法,我們將必須為對應於每個使用者的質量進行衡量。然後再把這些測量的結果分別相加,才能比較採用不同方法所能獲得的總體質量。

當然,在實際應用中任何軟體開發專案都不會嚴格地進行這項繁雜的工作。取而代之的方法是,首先把大多數人排除在外,也就說首先確定清楚:

在進行決策的時候,應該考慮到誰的意見?

比如說,minicozy 公司的那位專案主管不僅對terra 的意見毫不理會,而且認定在他進行軟體工程上的決策時,terra 的意見是微不足道的。從這件事上我們可以看出,軟體工程並不是乙個民主的過程。更為不幸的是,它也不是乙個理性的過程,因為在確定究竟要考慮誰的意見時,往往是根據個人的主管情感做出判斷的。

價格的相對性研究

首先我們看乙個概念 消費者其實並不知道什麼東西該值多少錢,他們茫然穿過貨架,根據種種線索判斷 任意連貫性首先是一種相對理論,買家的主要敏感點是相對差異,而非絕對 可能我們對上述概念是理解的,但是在日常生活中並沒有認為他是問題。比如 四季寶 花生醬最近重新設計了包裝的塑料罐。以前是的罐子底部是平的,諮...

盡量簡單與簡單的相對性

簡單是架構設計的第一原理,值得我們認真思考 什麼是簡單,簡單是指解決問題的最短路徑。比如我們要從從a點出發到達到b點,直線是最短的距離。相同交通工具下,直線距離可以更快到達。複雜的定義和簡單是相對的,複雜就是解決同樣的問題,花費了更多的成本,並且沒有得到明顯的收益。比如還是從a點出發到b點,我們不走...

正則入門 邊界的定義與相對性

講了這麼多,還漏掉了乙個重要的內容 究竟什麼才算邊界?通常情況下,以 空格 段落首行 段落末尾 逗號 句號 等符號作為邊界,值得注意的是,分隔符 也可以作為邊界。正則如下 bmagic b效果演示 welcome to nowa magic this magic place 本例 function ...