前言

 

「如果你不了解自己所說的事物,即便你遣詞用字精確,也毫無意義。」

──馮紐曼(John von Neumann)


  產品開發的工作就是:將某人的想望(desires),轉化為能夠滿足這個想望的產品的過程。本書要討論的是需求要件作業程序(requirements process)──也就是開發過程中,人們試圖發掘什麼是人們想要的(people attempt to discover what is desired)的過程。

  為了了解這個程序,讀者們必須注意五個關鍵詞:想望、產品、人、試圖、發掘。

  首先,考量「想望」(desire)這個詞。有些讀者比較喜歡說成「試圖發掘什麼是人們需要的(needed)」。但是相對於人們想要的,我們更不知道如何找出人們的需要。此外,人們並非總是購買他們需要的東西,但總是想望他們所購買的東西,雖然想望是會改變的。我們發現,藉由釐清他們的想望,人們可以釐清他們真正需要的,以及不需要的是什麼。

  「產品」(product)這個詞,我們指的是,可以滿足一套複雜想望的產品。想望複雜的原因之一是,它們是許多人的想望的集合。當我們製作一項可滿足自己想望的產品──譬如一個花園,或一個書架──通常不需要進行明確的探索需求作業。我們只需動手做出來,檢查一下,然後修改到我們自己滿意就行。

  但「人」(people)可能包括許多不同的人。發掘他們究竟是哪些人,是需求要件作業的主要部分。如果參與的人很多──而且產品巨大──逐一發掘每個人的需求,顯然是一項冗長、昂貴、高風險的工作。

  「試圖」(attempt)又是什麼呢?如果我們寫一本書,不是應該對其內容相當有把握嗎?不是應該保證它行得通嗎?我們曾經用這本書提到的需求要件作業技巧,協助客戶開發多種產品──電腦軟體、電腦硬體、汽車、家具、大樓、新的消費性產品、書籍、影片、組織架構、訓練課程,以及研究計畫。迄目前為止,還沒有客戶要求退費,但我們無法保證將來會不會有客戶要求退費,因為我們不知道如何使產品的開發程序,成為一門精確的技術。

  許多客戶在與我們合作之前,都希望產品開發程序是一門精確的技術。這些客戶大都是電腦軟體業者──他們一直抱有不切實際的幻想,以為產品開發是一門精確的技術。所以我們引用馮紐曼的名言,以提醒業者注意:「如果你不了解自己所說的事物,即便你遣詞用字精確,也毫無意義。」

  如果人們不知道自己的想望,沒有一種開發方法──不論這方法如何精確,如何聰明,如何有效率──可以滿足他們。這就是為什麼我們必須進行需求要件作業──這樣,我們才不至於設計出人們不想要的系統。

  有效性永遠優先於效率。即便你相當重視效率,希望達成高效率的開發,你也要先剔除那些沒有人想要的產品的開發案。我們也可以換個方式表達:

  不值得做的事,就不值得把它做好。

  這句話引出「發掘」(discover)這個最重要的詞彙。本書的目的,即是協助讀者發掘真正值得做的事。

  艾森豪(Dwight Eisenhower)曾說:「計畫書不重要;訂定計畫的過程才重要。」我們同意他的看法,並延伸這句話的意義至探索需求要件的程序上:

  產品不重要,重要的是過程。

  或是換一個方式表達:

  發現什麼不重要,重要的是發現(探索)的過程。

  這句話也適當詮釋了本書的書名Exploring Requirements。譬如,資料字典(data dictionary)是保存資料定義的方法之一。這部字典是運用本書所提到的一些方法,千辛萬苦編製而成。事實上,幾乎沒有人讀過資料字典,或沒有任何人曾在探索需求的階段運用資料字典。或許有人憂心這個現象,但我們不憂心,因為我們相信:

  文件不重要,重要的是建立文件這件事。

  如果你觀察工程師們開發新系統的真實狀況,你將發現,探索需求的工作事實上就是建立一個團隊,而且成員們:

  1.了解需求要件

  2.(大多數都)貫徹始終參與專案

  3.知道如何使團隊有效運作

  我們相信,如果其中一個條件不符合,專案就很可能失敗。當然,導致專案失敗的原因還有很多,坊間也有許多書討論如何避開地雷。本書的重點在於,進行探索需求要件的程序時,下列三項很重要但被忽略的關於人的因素:

  1.使所有團隊成員對於需求要件的了解一致

  2.使成員希望以團隊的方式進行專案

  3.使成員具備必要的技巧和工具,以團隊作業方式,有效地界定出需求要件

  許多討論系統開發的書籍和文章,大都忽略這些主題,因此這本書可以用來補強你目前使用的探索需求要件程序,不論是正式或非正式的。本書大多數篇章都是獨立的,每章討論一項或數項工具或方法,可以強化你的需求要件作業。你可以從頭到尾讀一遍,也可以只讀你最需要加強的篇章。不論你用哪一種方式,本書都可以讓你更了解自己所說的事物。

立體書封.jpg

從需求到設計:如何設計出客戶想要的產品(十週年紀念版)

Exploring Requirements: Quality Before Design

唐納德‧高斯(Donald C. Gause)和傑拉爾德溫伯格(Gerald M. Weinberg)◎著

褚耐安◎譯

2017年10月12日出版

 

arrow
arrow

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

    留言列表 留言列表

    發表留言