Editing
Writing suggestion of request for proposal
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
避免這樣寫 RFP (Request For Proposal) 需求建議書 (又稱需求規格書、SPEC) {{LanguageSwitcher | content = [[Best Practices for Request for Proposal Documentation | English]], [[Writing suggestion of request for proposal | 漢字]] }} == 原則 == 原則: 功能規格的文字,需要可以準確作為驗收、可審查或可交付的項目 ([https://en.wikipedia.org/wiki/Deliverable Deliverables])。例如 * '''細分大功能為子項功能''':將模糊的大功能,展開為子項功能。一個項目(一句話)只處理一件事情、一項功能。例如:登陸頁包含那些功能模組、視覺設計、數據追蹤、顧客聯繫表單 * '''可交付與驗收''':將模糊的描述,改成可以具體操作與驗收的功能文字。 * '''明確負責人''':具體說明誰要負責這件項目,例如網站前期分析,是由業主負責、還是接案單位負責。 * '''避免過度承諾''':避免承諾無法實現的功能,以免導致無法驗收或預算估計失誤。 * '''避免技術綁定,保留技術方案彈性''':保留技術細節的彈性,由施工廠商來決定,而不一定需要寫死在規格書文字。例如 (1) 規格需完成購物車推薦系統,規格書也許可以提到數種演算法,但是不限定只使用已知的演算法。 (2) 規格需完成自動 AI 生成圖片的資訊系統,規格書也許可以規範預期的資料輸入與輸出,與資料保護相關錯誤,但是不限定只使用已知的 AI 技術方案。 * '''問題導向的規格定義''':檢視規格與原本的問題情境的對應,是否規格有解決原本問題,但避免造成過度設計 (over design) * '''保留根據測試調整的彈性''':如果合約可行的話,保留功能規格可依據使用測試結果再調整的彈性。如果無法採用[https://rsg.taipei/2022/09/pick-the-right-contract_2/ 敏捷合約](Agile Contracting),而是傳統的瀑布流開發方式,還是可以透過合約方式保留開發有限度的彈性。 * '''避免負面表列,改用正面表列''' * '''明確定義範圍,避免專案範疇擴大''' == 資訊系統軟體專案交付項目 == # 軟體專案的程式碼:程式碼檔案,包括程式原始碼檔案、函示庫 (library) 等檔案。 # 功能測試報告:交付完整的功能測試報告,包括測試案例、執行狀況、發現的問題以及測試覆蓋範圍。測試報告應該清晰地指出哪些功能已經達到預期的標準,哪些尚需改進。 # 軟體安裝手冊:如果資訊系統日後需要移交,則需要提供詳細的安裝手冊,包括安裝前的準備工作、步驟說明、必要的系統配置,以及如何處理常見的安裝問題。 # 商業軟體授權書:當軟體專案使用到第三方軟體,需要註明軟體授權條款,是否允許商業使用、以及相關軟體授權條款的文件,詳細說明使用者權利、限制和責任。 == 需求規格撰寫建議 == 以下範例列出常見的模糊需求用字及建議的改善方法,修改為明確可驗收的規格文件。 範例1: 瀏覽器支援範圍 * 不建議寫法:「不支援 IE」 (<strike>IE 必須死</strike>) * 問題說明:僅列出不支援的瀏覽器(負面表列),沒有明確說明支援範圍 (正面表列) * 建議寫法:明確指定支援的瀏覽器版本與功能,例如「支援 Chrome 90+、Firefox 88+、Safari 14+ 等符合 HTML5 標準的瀏覽器」。可參考 [https://html5test.com/ HTML5test] 確認各瀏覽器對特定功能的支援度。如果已經知道網站目標使用者的常用瀏覽器,也可以明確指定。 範例2: 瀏覽器版本指定 * 不建議寫法:「支援 HTML5 的新版瀏覽器 Chrome、Firefox 等」 * 問題說明:「新版瀏覽器」定義不明確,無法作為驗收標準 * 建議寫法:「支援 Chrome 90 以上版本、Firefox 88 以上版本」,具體說明版本號 範例3: 響應式設計與使用者體驗 * 不建議寫法:「後台資料庫填報要符合 RWD 精神,讓老人家使用」 (來源: AMOS 推坑賴群祖) * 問題說明:「RWD 精神」、「老人家使用」過於模糊,無法量化驗收 * 建議寫法: ** RWD 規格:明確定義支援的螢幕尺寸,例如「支援 1920x1080、1366x768、375x667 等主流解析度,可參考[[Research_surveys#.E5.85.A8.E7.90.83.E7.80.8F.E8.A6.BD.E5.99.A8.E3.80.81.E4.BD.9C.E6.A5.AD.E7.B3.BB.E7.B5.B1.E3.80.81.E8.9E.A2.E5.B9.95.E8.A7.A3.E6.9E.90.E5.BA.A6.E3.80.81.E6.90.9C.E5.B0.8B.E5.BC.95.E6.93.8E.E5.B8.82.E5.8D.A0.E7.8E.87.E7.B5.B1.E8.A8.88.E8.A1.A8 | 全球瀏覽器、作業系統、螢幕解析度、搜尋引擎市占率統計表]],研究哪些是目前是市佔率高的裝置或者是專案需求,再改成「支援哪個螢幕尺寸的哪種行動裝置」 ** 無障礙設計:具體說明「字體最小 16px、按鈕最小觸控區域 44x44px、對比度符合 WCAG AA 標準」等可驗收項目 範例4: 將模糊功能拆解為明確子項 * 不建議寫法:「網站資料分析要具備機器學習功能」 * 問題說明:「機器學習功能」範圍過大且模糊,包含預測、分類、分群等多種領域 * 建議寫法:明確列出需要的子功能及驗收標準,例如「提供商品推薦功能:根據使用者瀏覽紀錄推薦 10 項相關商品,點擊率達 15% 以上」、「提供使用者分群功能:依消費行為分為 3-5 個客群並產生特徵報表」 範例5: 資料匯出功能 * 不建議寫法:「資訊圖表提供匯出功能、下載功能」 * 問題說明:未說明匯出格式、欄位範圍 * 建議寫法:「提供 CSV 格式匯出,包含欄位:日期、類別、數值、備註;提供 PNG 格式圖表下載,解析度 1200x800px」 範例6: 模糊的體驗感受改成可量化的指標 * 不建議寫法:「網站要好用」 * 問題說明:「好用」是主觀感受,無法作為驗收標準 * 建議寫法:明確定義可測量的指標,例如「會員註冊流程不超過 5 個步驟,平均完成時間少於 2 分鐘」或「經 30 位使用者測試,SUS 滿意度量表平均分數達 70 分以上」 範例7: 保留技術方案的探索彈性,但是驗收標準維持明確 * 不建議寫法:「使用 TF-IDF、TextRank 技術分析社群文章內容,取出排名前 10 名的熱門關鍵字」 * 問題說明:技術快速迭代,現在可行的技術不一定一直是最佳方案,建議保留不同方案的彈性;而且缺少明確的功能驗收標準 * 建議寫法:「分析社群文章內容,自動萃取排名前 10 名的熱門關鍵字。驗收標準:(1) 輸入:每日 1000 篇以上的社群文章 (2) 輸出:前 10 名關鍵字、權重分數及數據報表,每日更新 (3) 準確度:經人工抽樣驗證,關鍵字相關性達 80% 以上 (4) 技術方案:由廠商提案並經甲方確認後執行」 == 相關資料 == 相關資料 * [https://legacy.gitbook.com/book/masonwu1762/bakerystorespec/details 軟體需求與功能規格書-以線上糕餅網站為例 · GitBook] * [http://www.gaya.org.tw/journal/m2/2-main1.htm gaya/佛教圖書館館訊/第二期/圖書館自動化之路--經由建議需求書 RFP]「因為 RFP與日後合約的內容有相當密切的關係(甚至,國外有些 RFP的範本,中間有一段落就是要求廠商的建議書中要提供合約的草約),所以,撰寫 RFP需要花相當的心思,小心謹慎,力求文字清楚嚴謹,儘量用量化、具體的數據與敘述,避免有模稜兩可或者任何彈性釋意的空間或機會。 」 * [https://vide.tw/10136 產品經理 PM 第 3 講:如何開始一個改版專案] {{access | date=2018-08-17}} * [https://ithelp.ithome.com.tw/questions/10201095?sc=nl.daily RFP怎麼寫 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天] {{access | date=2020-11-16}} * [https://www.facebook.com/sokingwang/posts/4999931386686026 需求方不是故意的,只是大家都沒經驗] (2021). 王彥博 {{access | date=2021-12-05}} * [https://m.facebook.com/story.php?story_fbid=5402800853065742&id=100000076418866 王彥博 - ▋教導實習生寫需求文件,才發現我是個很 GY 的人 ... | Facebook] 1. 有沒有在需求建議書裡面過度承諾 2. 寫下來的文字語句,有沒有明確的指向性 3. 一行一述,一句話只講一件事情,不要多重條件子句 * [https://www.facebook.com/sokingwang/posts/pfbid07Ay7UFZxRzeZidYP2sNwCgSYBrAYJisefgJUYjaqL1uZdFRvQgxM7bteQr8q3pQbl 王彥博 - ▋8個產品設計文件 PRD 的 SPEC 書寫原則小技巧 ▋ ⠀⠀ 你曾經寫過所謂的「規格文件」要提供給開發人員實作嗎?... | Facebook] * [https://www.atlassian.com/work-management/project-management/acceptance-criteria Acceptance Criteria Explained (+ Examples & Tips)] 相關概念 * [http://terms.naer.edu.tw/detail/1314560/ Operational Definition - 操作定義] (Operational Definition) * [[Software acceptance test plan]] (使用者驗收測試) 相關討論 * [https://ithelp.ithome.com.tw/questions/10191107 如何一次把軟體需求講清楚 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天] {{access | date=2018-10-17}} {{Template:Build a website in Mandarin}} [[Category: Design]] [[Category: Programming]] [[Category: Communication]] [[Category: Revised with LLMs]]
Summary:
Please note that all contributions to LemonWiki共筆 are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
LemonWiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Access
(
view source
) (protected)
Template:Build a website in Mandarin
(
edit
)
Template:LanguageSwitcher
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Current events
Recent changes
Random page
Help
Categories
Tools
What links here
Related changes
Special pages
Page information