規格(specification)
在動手做任何東西之前,你得先對「完成是什麼樣子」取得共識。如果朋友請你做一台放大器,而你們兩人都只停在「放大器」這個詞上,日後保證會吵架——他要的是安靜的耳機擴大機,你卻做了一台 50 瓦的怪獸。規格就是那份白紙黑字、帶數字的協議,說清楚這電路必須做什麼、要做到多好,好讓同樣的字句對每個人都是同樣的意思,也好讓你日後能用一支電表證明你成功了。
一份好規格把願望轉成帶單位的數字,而且每個數字都配上一個條件。不是「夠大聲」,而是「對 8 ohm 至少輸出 1 瓦」。不是「低功耗」,而是「待機時從 3.3 V 耗流低於 10 mA」。不是「準確」,而是「在 0 到 60 攝氏度範圍內量溫度準到正負 0.5 度」。一份完整規格涵蓋輸入與輸出、電源、環境(溫度、濕度)、準確度與公差、尺寸、成本目標,以及它必須符合的任何標準。每一行都該是可測試的:若你無法想像出證明它的那次量測,這一行就還不是規格,而是願望。
精通的誠實主題從這裡開始。規格是你把「必要」和「最好有」分開的地方,因為想讓每件事都做到頂尖,會讓沒有一件事負擔得起。一份過緊的規格(明明 0.5 度就夠卻要求準到 0.001 度)會悄悄把成本、功耗與時程翻好幾倍;而一份過鬆的規格則讓沒用的產品通過自己的測試。最難也最有價值的工程往往就發生在這裡,在對話之中,在挑出任何一個元件之前——而一份在專案途中悄悄變動的規格,是讓設計失敗最確定的方式之一。
含糊版:做一個好的溫度記錄器。寫成規格:量測 -10 到 +50 攝氏度、準到正負 0.3 度,每 60 秒記錄一次、連續 30 天,用一顆 AA 電池供電,裝進 40 乘 25 mm 的盒子,零件成本低於 12 美元。現在每一行都能用電表、時鐘和尺來核對。
一條你無法量測的規格,是願望,不是需求。
當心規格膨脹:在工作開始後悄悄追加的功能。每一項看似都很小,但加在一起卻會撐爆預算、時程,以及你精心預留的設計裕度。