搜尋此網誌

2008年6月17日 星期二

品質,不是說說就好。 - 談產品之品質

品質(Quality),一個大家常常說出口的名詞。大家在面對各式各樣的產品時,常常提到的是Bugs很多,所以應該要提高產品的品質。不過,對於品質這個名詞,其代表的意義遠遠不只於Bugs一事。對於品質一詞,有很多不同的解釋,其中有一個說法是"Quality是帶給特定人士的價值"。這個說法的重點在於品質是因人而異的,所以我們必須要知道產品實際客戶的需求,透過產品滿足他們的需求,並帶給他們所需的價值。

大致來看,Quality可分為兩個部分,一個是設計的品質(Quality of design)。這個部分強調的是如何設計出一個對客戶適用的產品(Fitness of use),屬於產品設計的範疇。另外一個則是符合規範的品質(Quality of conformance),也就是實際產出的產品是否遵守原先的設計,屬於實作的範疇。在實際的工作中,Quality of conformance屬於專案管理的部分,而Quality of design當然就屬於產品管理的部分。然而因為專案管理包含在產品管理內,所以Quality of conformance也屬於產品管理的一部份。對於品質的管理,首先公司必須訂定品質的要求標準。當然,客戶對此也會有自己的標準。一般而言,公司訂定的標準必須高於客戶的標準,才能順利驗收。對於像我們這類非代工的產品,並無法事先確認客戶為誰,所以在品質標準的訂定上面,就需要用比較嚴格的方式或採用業界普遍接受的標準。而為了達到要求的品質,通常透過品質保證(Quality Assurance, QA)品質控制(Quality Control, QC)兩個不同的手段。

簡單來說,QA是指透過在產品發展的各個流程中採用必要之控管手段,減少對產品品質的負面影響。而QC則是確保最後製作出來的產品符合公司品質的要求,也就是我們比較常聽到的文件確認與功能測試。QA與QC的概念很簡單卻也很重要,不過實際上很多公司(尤其不是製造業的公司)無法分別這兩者,甚至認為功能測試就是確保品質的唯一方法。關於此點,有興趣的人可以去104查看各公司的職務說明就知道了。如果沒有QA,僅僅靠QC只是避免有問題的產品交付到客戶的手上。但是現實是礙於時間與訂單的壓力,最後QC不過的產品仍舊有可能會交付到客戶的手上。所以不管從公司或是客戶的角度來設想,除了QC,QA是更為重要的一環。QA作的好,除了可以讓產品更容易符合QC的要求,也可以增加客戶滿意度並減少開發與維護的成本。

所以,品質到底包含哪些項目?產品的品質大概可以從下列幾個方向來加以衡量:
* 可了解性(Understandability)─包含產品的設計、操作介面與手冊等相關資訊都能讓使用者輕易了解。
* 完整性(Completeness)─必須完整地提供必要之功能。
* 準確性(Conciseness)─必須準確地提供必要之功能,不多也不少。
* 可攜性(Portability)─必須在不同的環境下都可以正常運作。關於此點應該是考慮到實際支援的環境,畢竟現實中不可能製作出在所有環境都能運作的產品。
* 一致性(Consistency)─在產品的設計與說明上,都必須提供一致性,也就是不能產生前後矛盾的現象。
* 可維護性(Maintainability)─維護包含功能的新增與修正。如果產品不能維護,大概很快就被市場淘汰了。
* 測試性(Testability)─設計與製作出來的產品必須能夠輕易加以測試。為了達成這個目的,通常在設計產品的時候就必須把測試需求一併加以考量。
* 可用性(Usability)─產品要實際有用才有價值。很基本的概念,但是實際上卻還是有很多不實用的產品。
* 可靠性(Reliability)─產品經過長時間的運作也不會失效。另外當環境變動時,產品依舊能夠正常運作。
* 架構(Structure)─好的架構可以提供良好的可維護性。
* 效率(Efficiency)─產品如何有效率地達成既定的功能。以軟體而言,減少包含CPU與記憶體等系統資源的消耗是一個很重要的項目。
* 安全(Security)─不管是不是安全相關的產品,目前對於各式產品的安全需求越來越嚴格。產品必須保護所處理資料的安全,並避免遭受惡意人士的破壞。同樣的,為了達成這個需求,在產品定義與設計的階段,就必須一併考量安全的需求。

最後,前面提到QC通常是透過產品功能測試來確保最後產品符合原先的設計(另外還有包含符合客戶的需求)。其實在QA的過程中,也會進行產品的測試,只不過這些測試並不是針對產品功能的部分。也就是說,測試其實包含許多不同的項目。以軟體而言,大致上可以分為
* 單元測試 (Unit Testing)
* 功能測試 (Functional Testing)
* 效能測試 (Performance Testing)
* 壓力測試 (Stress Testing)
* 失效測試 (Fail over Testing)
* 可用性測試 (Usability Testing)
* 使用者測試 (User Acceptance Testing)
* 安全測試 (Security Testing)
有關測試這個議題,我會另再擇期跟各位報告。

這個分享內容的重點在於產品品質是全方面的議題,而不僅僅只是bugs的多寡。另外,產品測試包含各種不同的測試項目,而所有這些測試項目也僅是確保產品品質的方法之一而已

2008年6月10日 星期二

黑貓白貓都可以,只要不是跛腳貓 - 提供使用者所需的功能是產品最基本也是最重要的目標

這兩天公司內部在討論本身所開發的產品時,業務提出了客戶的一個想法,某些客戶希望在原先產品的設計上加上一個特殊的"白名單"設定,而此一設定會造成這個產品的主要功能產生一個管理上的大漏洞。當然,客戶的說法是為了提供長官及外來貴賓一道方便門。對此,我其實可以猜想到這個需求應該是管理人員自己想要偷懶或是讓自己藉此不受限制。理由很簡單,因為從我聽到的說法跟客戶所遭遇的問題,其實根本就不需要也不應該利用這樣的解法。姑且不論對管理者而言這樣的說法"絕對"是完全錯誤的心態與行為,此一解法著實讓我們的產品出現了一個很大的漏洞。老實說,產品有漏洞也不是甚麼新鮮事。但是對於安全產品來說,是否真正能夠提供足夠的保護給予客戶,甚至自己產品本身是否安全,都是最重要的議題。而這樣大開方便門的設計,不但對組織目前造成立即性的威脅,對於未來的威脅性更大。如果管理者在交接之際,忘了關閉這樣的方便門,或是忘了交接下去,這就成了系統中永遠存在且不為人知的後門(不為人知並無法確保真的沒有人知道這樣的後門存在)。

對我而言,這樣的後門設定,即使產品本身已經特別加註如此設定的危險性,對產品本身功能的達成仍是有嚴重的危害。客戶會有這樣的想法不奇怪,但是公司與業務也完全聽從客戶的想法,著實讓我感到害怕不已。當然,我不是說客戶的想法都不切實際,而是開發者應該認真評估這樣的修改對於產品提供客戶問題解決能力所帶來的風險,確認風險是可以被接受才納入這樣的需求。否則,為了一兩個人的方便,把一個產品打成跛腳,我實在看不出來有何值得之處。尤其,當業務提出說不只一兩個客戶有這樣的需求時,你要反駁他還真是很難。畢竟當多數的接觸窗口(這裡我不用客戶,因為客戶應該指對方所有利害相關的人員)都說要的功能,不就應該是對產品有益的功能嗎?事情沒那麼簡單,因為同一個產業內的組織特性是比較接近的,再加上面對的都是管理人員,所以這樣的想法就代表所有客戶的想法了嗎?以我的認知來看,顯然需要再加強說服力才行。也就是部分管理人員≠全部管理人員≠全部客戶

以一個原廠的角色,我認為除了賣產品,更要把正確的使用概念傳達給客戶。很多人都在說,現在賣產品同時也在賣服務,甚至是以服務的重要性已經凌駕於產品之上。只是如果連基本的資安觀念都沒有,能做的服務不就還是重新啟動、重新安裝、重新報價(維護/擴充合約)...客戶付錢之後,能不能利用你所提供的產品解決他(這個他是指組織,而不是個人)的問題,才是產品最重要的價值所在。如果客戶用了你的產品,依舊不能解決問題,不管原因出在客戶自己身上或是產品本身,即使客戶沒有見怪,或是沒有直接反映他的抱怨,原廠都應該羞的無地自容才是。或者更積極的來說,唯有當客戶真正利用你的產品來預防或解決他所面對的問題,產品才能達到自我行銷的層次。

資訊安全不是靠產品,而是必須依靠組織的資訊安全政策與規範才能有效達成,產品只是協助政策與規範的落實。上述的需求是出於管理者自己的想法,還是組織政策的要求?如果只是管理者自己的想法,這樣做不但沒有滿足客戶的需求,反而是破壞了客戶的期望。採購案中Say Yes的人很重要,但是背後的使用者與經營階層更為重要,因為他們才是真正有影響力與受影響的人。除此之外,其實安全產品很重要的概念就是管理與監督兩種不同的功能與角色。今天監督者不會是管理者(IT人員),所以這樣的需求表示客戶的環境對於監督的角色是模糊的,也代表了產品本身一個不安全的設計。很可惜的是,客戶可能沒有安全政策,賣產品的業務不懂甚麼是安全政策,也不想去管甚麼安全政策,只想賣產品。畢竟公司是靠產品的收入維生。

原廠除了賣產品外,更要提升公司自身對於資訊安全的智能。除了可以更了解客戶所遭遇的問題,也可以取得顧客的信賴。當然,有些顧客就是不懂,或是認為他說了算,遇到這種客戶確實無能為力。但是,如果遇到的是認真且有實力的客戶,半桶水的公司或產品一定是吃(閉門)羹吃到飽。我們老希望提升國產產品的競爭力,期待與國外產品有一較高下的機會。但是真要提升產品的競爭力,應該是鎖定在有實力的客戶,還是渾渾噩噩過日的客戶?當然,在身為原廠的時候,這樣的堅持是很難的。但是能人所不能,或許是想要獲得成功前所必須經歷的階段。

2008年6月9日 星期一

樹大招風還是一意孤行? - 談Google首頁缺少隱私權聲明連結

這幾年由於資料的數位化以及電子商務的成長,個人隱私資料的保護受到很大的注意。美國長久以來制訂了許多相關的法條來保護個人資訊,包含 1974 年的隱私權法(Privacy Act of 1974)、1980 年的隱私保護法(Privacy Protection Act of 1980)、1986 年電子通訊隱私權法(Electronic Communication Privacy Act of 1986)、聯邦監聽法修正案和1988 年電腦比對和隱私權保護法(Computer Matching and Privacy Protection Act of 1988)等。除此之外,各州也訂定相關的法條保護個人隱私資料的合法使用範圍。例如the California Online Privacy Protection Act就要求線上服務的提供者必須在網站提供相關的隱私權保護政策。台灣方面,除了目前已經頒布的「電腦處理個人資料保護法」外,另外就是目前仍躺在立法院的「個人資料保護法」。嚴格來說,除了你個人姓名等資料屬於個人隱私資料的保護範圍外,其他像是網路瀏覽行為,也屬於個人隱私資料保護的範圍。只是這一部分比較模糊而且有爭議的空間,所以有時候還是要看收集資料的主體如何詮釋。不過,好像法律都是這個樣子,所以才有律師生存的空間(題外話)。

回到現實,在現今的網路(數位)世界中,很多屬於個人私密的資訊,在知情與不知情的情形下,漸漸被業者所收集與利用。當然如果好好的加以利用,這樣的資訊可以讓業者提供更好的服務。但是畢竟這些資訊並不是實體的東西,如何確保不會被業者濫用,就是很重要的議題。以法規來說,一個很重要的步驟就是企業必須在收集資料之前明確告知使用者哪些資料會被收集,又會被做何種運用。以網站常見的方式,如前面所述就是透過所謂的隱私權聲明(Privacy)頁面。最近,有人注意到Google公司的首頁,竟然沒有擺放隱私權聲明的連結,而是必須透過首頁的About Google連結後才能看到相關連結。

對此,部分人士認為這樣的做法違反了法規的規定,但是Google自己卻不這麼認為。Larry Page認為Google的隱私權聲明可以透過首頁的搜尋引擎找到,而且在About Google連結內也可以找到。更重要的原因是他不想在Google的首頁放上隱私權聲明的連結,以免破壞了其極具簡約美感的首頁。當然,對此說法正反意見都有。不過,我想,Google的首頁簡約歸簡約,也不是除了搜尋框外甚麼都沒有。而且更詭異的是在iGoogle的首頁其實就有隱私權聲明的相關連結-Privacy Policy。身為網路與電子商務的領導者之一,Google在這方面應該作為一個表率,讓網路的使用能夠朝向標準化的方式前進。甚至有人認為Google只是過於自大,希望凸顯它與眾不同(對此我個人倒有幾分認同)。

老實說,沒有人可以揣測Larry Page的心思,但是身為網路公民的一份子,我認為每個人都有遵守法規或規範的義務。如果覺得規範不好,相信以Google的實力,也不是不可能改變它。如果一味的特立獨行,在某些方面確實可以建立自己的形象,在某些方面可能就會得到反效果。當然,這個只是小事,我相信應該不會有甚麼人因為少了這個連結就抵制Google。但是這件小事會不會累積成其他大事,甚至讓Google成為另外一個自以為是世界中心的微軟,應該只有時間能夠證明這件事情了。

原文出處:
World realizes Google home page is 'illegal'

About