自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

“殺”一個(gè)程序員不需要用槍,改三次需求就可以了!

開發(fā) 項(xiàng)目管理
在很多軟件公司,特別是一些創(chuàng)業(yè)型的團(tuán)隊(duì)中,對(duì)于這樣的情景可能大家都很熟悉:項(xiàng)目經(jīng)理或者產(chǎn)品經(jīng)理(產(chǎn)品狗)口頭或者簡(jiǎn)單記錄一下軟件產(chǎn)品的大致要做的功能,直接就讓研發(fā)團(tuán)隊(duì)的兄弟(程序猿)去狂擼代碼。然后他就去喝茶撩妹或者回家陪老婆了...

在很多軟件公司,特別是一些創(chuàng)業(yè)型的團(tuán)隊(duì)中,對(duì)于這樣的情景可能大家都很熟悉:項(xiàng)目經(jīng)理或者產(chǎn)品經(jīng)理(產(chǎn)品狗)口頭或者簡(jiǎn)單記錄一下軟件產(chǎn)品的大致要做的功能,直接就讓研發(fā)團(tuán)隊(duì)的兄弟(程序猿)去狂擼代碼。然后他就去喝茶撩妹或者回家陪老婆了...

這種擼起袖子就開干的方式,看似簡(jiǎn)單高效,便于直接溝通,能夠快速迭代。卻不知,發(fā)現(xiàn)沒有一份正規(guī)且實(shí)時(shí)更新的功能需求設(shè)計(jì)文檔,會(huì)付出三四倍的代價(jià)來彌補(bǔ)。

最終會(huì)引發(fā)一場(chǎng)產(chǎn)品狗和程序猿之間的“猿狗大戰(zhàn)”... 

[[242706]]

一、WHY - 為什么需要功能需求設(shè)計(jì)說明書

在沒有功能設(shè)計(jì)文檔時(shí),主要有如下幾個(gè)問題:

1、前期研究團(tuán)隊(duì)溝通成本

如何要讓團(tuán)隊(duì)里面的所有人員對(duì)軟件產(chǎn)品的功能需求設(shè)計(jì)有一個(gè)共識(shí)?沒有功能設(shè)計(jì)文檔,反正我是想不出有什么辦法。當(dāng)該項(xiàng)目的團(tuán)隊(duì)人員越多,溝通成本就變得很高。

研發(fā)人員很容易有一個(gè)通病:以為自己了解了一小塊需求就立即開始埋頭狂擼......代碼。最終很可能與項(xiàng)目經(jīng)理和客戶真正想要的功能相差甚遠(yuǎn)。

更可怕的,研發(fā)人員把數(shù)據(jù)庫(kù)設(shè)計(jì)好了,代碼也已經(jīng)寫得差不多了,這時(shí)產(chǎn)品狗突然跑到程序猿這,說我們的需求要做一點(diǎn)變化,大家都知道,“對(duì)產(chǎn)品狗來說那一點(diǎn)變化,可能會(huì)害得程序猿擼過幾天幾夜”。那很小的變更可能導(dǎo)致之前設(shè)計(jì)的數(shù)據(jù)庫(kù),碼的代碼都不能用了。對(duì)于程序猿沒有什么比加班加點(diǎn)寫了幾個(gè)月的代碼,最終被產(chǎn)品狗告知需求變了,代碼要?jiǎng)h除重新寫更可怕的。估計(jì)只能用漲工資來安慰一下那受傷的心靈了。

還有一個(gè)比較隱藏的事情是,每個(gè)程序猿都認(rèn)為自己寫的代碼很牛逼(其實(shí)對(duì)于大多數(shù)人這只是一個(gè)錯(cuò)覺,你寫得代碼并不優(yōu)秀),不太愿意刪除之前所寫的東西,總是想在原有的代碼基礎(chǔ)上進(jìn)行修改,讓他們刪除代碼比殺了他還難。

作為公司的技術(shù)負(fù)責(zé)人,我每幾天都會(huì)Code Review團(tuán)隊(duì)里面所有人的代碼,一直要求他們把不用的代碼去掉,但他們的應(yīng)對(duì)方式總是加兩個(gè)//。注釋掉他們寫的代碼,而不是去做真正的刪除動(dòng)作。他們總有自己的理由,“這只是暫時(shí)注釋掉,后面會(huì)用到”,但最終的結(jié)果是那些代碼就像尸體一樣,一直在那里,干擾著團(tuán)隊(duì)人員正常的思路。所以我只能強(qiáng)制性讓他們那些“暫時(shí)沒有用,以后會(huì)用到的代碼”干掉 。

2、前期任務(wù)進(jìn)度安排和分配

該文檔也是任務(wù)進(jìn)度安排和分配的重要依據(jù)。在沒有功能需求設(shè)計(jì)文檔之前的所有任務(wù)進(jìn)度計(jì)劃都是瞎扯淡,都不知道具體要做什么東西,哪能拿出合理的任務(wù)進(jìn)度計(jì)劃。如果你拿出來了,我也不相信那是經(jīng)過認(rèn)真分析做的進(jìn)度計(jì)劃,我知道那只是用來看領(lǐng)導(dǎo)看的。

3、中期產(chǎn)品經(jīng)理需求變更

軟件在開發(fā)過程中難免會(huì)遇到功能的需求變更,將程序猿們召集在一起把所有的變更講一遍?當(dāng)走出會(huì)議室的時(shí)候可能每個(gè)人都有自己的理解。下一場(chǎng)戰(zhàn)爭(zhēng)已悄然臨近...  

[[242707]]

4、后期測(cè)試團(tuán)隊(duì)產(chǎn)品測(cè)試

測(cè)試團(tuán)隊(duì)?wèi)?yīng)該在項(xiàng)目Kickoff之時(shí)就應(yīng)該介入,而不是在產(chǎn)品開發(fā)完成之后。測(cè)試團(tuán)隊(duì)?wèi)?yīng)該對(duì)功能需求設(shè)計(jì)文檔充分了解,且以此來編寫具體的測(cè)試用例文檔。否則,只能是在界面上進(jìn)行簡(jiǎn)單的表面測(cè)試,而真正的BUG并不在表面,這些BUG會(huì)藏得很深,等發(fā)現(xiàn)的時(shí)候可能已經(jīng)造成很大的損失。測(cè)試團(tuán)隊(duì)想覆蓋全部的測(cè)試用例此時(shí)已經(jīng)相當(dāng)困難,他們甚至都不知道產(chǎn)品有哪些功能。

測(cè)試用例應(yīng)該盡可能詳細(xì),盡量保證測(cè)試用例走完能確保產(chǎn)品能上線發(fā)布。下圖為我們?cè)诘卿涀?cè)時(shí)用到的一部分用例: 

“殺”一個(gè)程序員不需要用槍,改三次需求就可以了!

二、WHERE - 文檔應(yīng)該放在何處

功能說明文檔一定要保持實(shí)時(shí)性,任何變更的需求,新增的需求都必須在該文檔中體現(xiàn)。

一只產(chǎn)品狗(或一群)在編寫完文檔后,要發(fā)給項(xiàng)目經(jīng)理、研發(fā)人員、銷售人員、運(yùn)營(yíng)推廣人員等人,如何保證每個(gè)人的文檔都是最新的呢?如果通過QQ,郵件等方式,是不是每次更新都要重新通知所有人:“嘿,各位兄弟,文檔作了一次修改,我給大家都重新發(fā)一份新的”。每個(gè)人電腦里面都有好幾個(gè)版本的文檔,時(shí)間長(zhǎng)了,自己都忘記哪個(gè)文檔是最新的;產(chǎn)品狗也記不清是否是所有相關(guān)的人都發(fā)了最新的文檔。

研發(fā)人員可能會(huì)說通過SVN來作版本管理啊,給每個(gè)人分配一個(gè)帳號(hào)。“天啊,SVN是啥?”-銷售人員、運(yùn)營(yíng)推廣人員估計(jì)一臉懵逼。

更好的辦法是通過團(tuán)隊(duì)實(shí)時(shí)協(xié)作的云端工具。從而實(shí)現(xiàn)分享和實(shí)時(shí)討論,告別反復(fù)修改版本再發(fā)送郵件的麻煩。如果你會(huì)FQ,那你可以使用Google Docs、Office Online。否則你可以使用石墨文檔、一起寫。

三、WHAT - 什么是功能需求設(shè)計(jì)文檔 & 應(yīng)該包含那些內(nèi)容

功能需求設(shè)計(jì)文檔最重要的是描述產(chǎn)品所要包含的所有功能,越詳細(xì)越好,可以結(jié)合產(chǎn)品的原型設(shè)計(jì)圖來講解。讓項(xiàng)目所有相關(guān)人知道產(chǎn)品是什么,包含哪些頁(yè)面,頁(yè)面如何跳轉(zhuǎn)等。

該文檔是產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理、研發(fā)人員、銷售人員、運(yùn)營(yíng)推廣人員溝通的一個(gè)橋梁,一份好的功能需求設(shè)計(jì)文檔是軟件產(chǎn)品是否能成功的關(guān)鍵。

考慮是該文檔的受眾,這份文檔不應(yīng)該包含具體的編程技術(shù)上的說明。不管你是用C#/.NET、JAVA還是其它,這應(yīng)該是另外研發(fā)團(tuán)隊(duì)內(nèi)部使用的一份文檔。

一般人第一反映就是去網(wǎng)上找一份功能需求設(shè)計(jì)文檔模板,我個(gè)人感覺那些模板90%根本沒有存在的必要。都太過形式化,不要沒有實(shí)際意義和模板化的內(nèi)容,只會(huì)使文檔成為一個(gè)擺飾,反而是在浪費(fèi)大家的時(shí)間。

那么一份合格的軟件需求設(shè)計(jì)文檔應(yīng)該包括哪些內(nèi)容呢?

1、項(xiàng)目背景

項(xiàng)目產(chǎn)生的實(shí)際背景、具體的運(yùn)用場(chǎng)景、大致要解決什么樣的問題、針對(duì)的閱讀對(duì)象、版本修改記錄、文檔作者以及修改人信息。

2、詳細(xì)的功能點(diǎn)描述

寫明產(chǎn)品所包含的所有功能點(diǎn),對(duì)功能、界面、接口的描述一定要充分詳細(xì),每處可以交互的地方都要給出具體的說明。再次強(qiáng)調(diào),一定要詳細(xì)描述每一個(gè)頁(yè)面所擁有的功能。

3、產(chǎn)品不包含的功能點(diǎn)說明

除了寫明產(chǎn)品所包含的所有功能點(diǎn)外,還應(yīng)該寫明軟件所不包含的功能,這一點(diǎn)也很重要。

4、使用場(chǎng)景(畫面感)

將復(fù)雜的業(yè)務(wù)邏輯融入到具體的使用場(chǎng)景中,更容易讓項(xiàng)目經(jīng)理、研發(fā)人員、銷售人員、運(yùn)營(yíng)推廣人員不同背景的人產(chǎn)生共識(shí)。

5、流程圖

大家都知道“一圖勝千言”,能用圖說明的盡量用圖來說明,只通過大量枯燥的文字可能效果并不太好。流程圖是一種用圖形表示邏輯和算法的工具,特別對(duì)研發(fā)人員擼代碼很有幫助。

Windows用戶可以使用Visio,Mac用戶可以使用OmniGraffle,還可以使用免費(fèi)在線作圖,實(shí)時(shí)協(xié)作工具ProcessOn。

我之前就用ProcessOn畫了一個(gè)設(shè)置了緩存的網(wǎng)絡(luò)請(qǐng)求的流程圖,這里作個(gè)參考: 

6、人員角色“實(shí)例化”

跟上面提到的“畫面感”相結(jié)合,將人員和角色能夠?qū)嵗?。比如我們的產(chǎn)品要實(shí)現(xiàn)如下功能,有兩種表達(dá)方式:

  • 醫(yī)生給患者測(cè)量血壓,并記錄到系統(tǒng)中。
  • 上海華山醫(yī)院腎內(nèi)科的王主任醫(yī)生在給32號(hào)病區(qū)1號(hào)病床的患者劉阿姨測(cè)量血壓,將測(cè)量到的血壓100/70mmHg輸入到透析管理系統(tǒng)。

哪種方式更便于理解?特別是對(duì)醫(yī)療知識(shí)不太了解的碼農(nóng)們。當(dāng)然可能有人覺得第一種方式更簡(jiǎn)潔??赡苁俏遗e的例子不夠好,也可能是我的理解能力不夠強(qiáng)。(但不要懷疑我的智商!哈哈哈...)

7、結(jié)合產(chǎn)品原型設(shè)計(jì)圖

產(chǎn)品原型設(shè)計(jì)圖可以粗枝大葉地產(chǎn)品大致的框架。便于項(xiàng)目經(jīng)理、研發(fā)人員、銷售人員、運(yùn)營(yíng)推廣人員等人在產(chǎn)品未開發(fā)之前對(duì)產(chǎn)品有一個(gè)相對(duì)直觀的認(rèn)識(shí)。沒有一個(gè)原型圖,想到這幫人拉到同一個(gè)頻道溝通一定是不可能的事。(如果你做到了,那么趕緊把你的簡(jiǎn)歷發(fā)我,我決定錄用你?。?/p>

常用的原型設(shè)計(jì)工具有墨刀、Mockplus、Axure。

扯了這么多,來個(gè)例子吧。

本軟件是給北京某醫(yī)院集團(tuán)腎內(nèi)科透析患者所使用的軟件,包括院內(nèi)管理系統(tǒng)、院外大數(shù)據(jù)平臺(tái)、醫(yī)護(hù)端APP、患者端APP...

版本 作者   修訂時(shí)間  審核人     

v1.0.0

Charlie Chu

2017-2-12

Vivian Wong

使用場(chǎng)景一:

腎內(nèi)科的醫(yī)生王醫(yī)生給31號(hào)病床劉阿姨進(jìn)行透析上機(jī)操作,王醫(yī)生在院內(nèi)透析管理系統(tǒng)上點(diǎn)擊上機(jī)操作,信息會(huì)傳遞到院外的大數(shù)據(jù)平臺(tái)以及醫(yī)護(hù)端APP、患者端APP上...

劉阿姨患者的家屬登錄到患者端APP后,可以實(shí)時(shí)查看劉阿姨透析過程中的所有信息,還可以查看血壓、血糖、體重等歷史數(shù)據(jù)...

當(dāng)劉阿姨在家中通過藍(lán)牙血壓計(jì)測(cè)量血壓時(shí),自動(dòng)同步到醫(yī)院內(nèi)部,如果劉阿姨的血壓超過預(yù)先設(shè)置的值,院內(nèi)的王醫(yī)生則會(huì)在自己的手機(jī)上查看到劉阿姨的血壓異常報(bào)警信息,王醫(yī)生可以立即跟劉阿姨的家屬進(jìn)行實(shí)時(shí)溝通...

...<此處省略N字>...

本軟件(v1.0.1版本)不包括的功能需求如下:

  1. 醫(yī)生與患者的實(shí)時(shí)IM
  2. 醫(yī)生排班設(shè)置
  3. 修改密碼
  4. 患者積分

功能模塊詳細(xì)描述:

(一)APP登錄頁(yè)面

由于本產(chǎn)品不存在患者自己注冊(cè)的場(chǎng)景,所有的患者錄入都發(fā)生在院外透析系統(tǒng)中,患者及家屬在院外只需要輸入相應(yīng)的手機(jī)號(hào),即可登錄系統(tǒng)。

登錄頁(yè)面只有兩個(gè)輸入框,一個(gè)手機(jī)號(hào),一個(gè)密碼。

當(dāng)用戶要輸入手機(jī)號(hào)時(shí),手機(jī)應(yīng)該彈出純數(shù)字鍵盤,最多只能輸入手機(jī)號(hào)固定的11位。密碼最多輸入10位。

當(dāng)用戶點(diǎn)擊登錄時(shí),APP與后臺(tái)服務(wù)器進(jìn)行交互:

  1. 不輸入手機(jī)號(hào)和密碼,直接點(diǎn)擊登錄按鈕,應(yīng)該提示用戶輸入手機(jī)號(hào)和密碼。
  2. 輸入手機(jī)號(hào)但不輸入密碼,點(diǎn)擊登錄,提示“請(qǐng)輸入密碼”。
  3. 輸入不正確的手機(jī)號(hào),點(diǎn)擊登錄,應(yīng)該提示“不存在該用戶”。
  4. 輸入小于11位的手機(jī)號(hào),應(yīng)該提示“請(qǐng)輸入正確的手機(jī)號(hào)”。

(二)登錄后首頁(yè)

下圖是左側(cè)是一個(gè)首頁(yè),右側(cè)是一個(gè)點(diǎn)擊透析預(yù)警的詳細(xì)頁(yè)面: 

“殺”一個(gè)程序員不需要用槍,改三次需求就可以了!

首頁(yè)包括功能點(diǎn):

  1. 資訊信息輪播 首頁(yè)頂部資訊信息輪播功能,點(diǎn)擊可以跳轉(zhuǎn)到新的頁(yè)面可以查看資訊詳情。
  2. 病情咨詢 點(diǎn)擊“病情咨詢”模塊,患者查看向指定的醫(yī)生了解自己的病情。
  3. 透析記錄 點(diǎn)擊透析記錄,患者可以隨時(shí)隨地查看自己的過往透析記錄。
  4. 食物速查 點(diǎn)擊食物速查,可以查看所有類別的食物成份含量。
  5. 透析上下機(jī)實(shí)時(shí)信息列表 當(dāng)患者在醫(yī)院內(nèi)進(jìn)行透析上下機(jī)等操作時(shí),會(huì)記錄患者的透析上機(jī)時(shí)間 、下機(jī)時(shí)間等信息。點(diǎn)擊其中的一條記錄,跳轉(zhuǎn)到透析詳情頁(yè)面,如上圖右側(cè)所示。

四、HOW - 如何保證文檔質(zhì)量

要保證文檔能夠?qū)崟r(shí)更新同步,而不是疲于應(yīng)付。那就是讓大家都通過該文檔來進(jìn)行溝通,誰有問題直接去看文檔,需求一旦變更首先就更新到文檔。

研發(fā)人員嚴(yán)格按文檔上的描述來開發(fā),在沒有文檔之前,對(duì)不起,拒絕開發(fā)!任何口頭、QQ或郵件上的新的功能需求一概不理!提前是產(chǎn)品狗要比較給力,否則老板還是會(huì)讓你狂擼代碼...

責(zé)任編輯:龐桂玉 來源: Java后端技術(shù)
相關(guān)推薦

2019-08-19 10:15:51

程序員模板版本

2023-12-26 18:47:32

2020-05-11 17:12:52

換臉Python圖像

2024-09-18 05:15:00

OpenCV樹莓派目標(biāo)檢測(cè)

2009-12-17 09:09:48

Windows 7系統(tǒng)分區(qū)

2023-10-04 00:19:00

Java開發(fā)

2020-11-06 07:28:55

程序員管理者躍升

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2020-10-05 21:13:37

程序員技能開發(fā)者

2021-04-13 10:20:13

Edge Canary瀏覽器微軟

2020-11-19 08:00:03

打工人離職工作

2015-07-10 11:18:19

2020-02-18 10:00:15

數(shù)據(jù)庫(kù)工具技術(shù)

2010-04-01 18:08:48

Oracle導(dǎo)入

2020-12-22 10:15:00

Windows 10Windows微軟

2014-01-06 09:33:32

程序員管理

2021-12-13 06:23:14

TCP三次握手網(wǎng)絡(luò)

2021-07-01 07:43:41

項(xiàng)目程序員代碼

2009-03-17 08:46:57

Windows 7微軟發(fā)布

2019-07-29 11:51:18

程序員設(shè)計(jì)軟件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)