騰訊TAPD:系統(tǒng)設(shè)計(jì)全流程解構(gòu)
編輯導(dǎo)語(yǔ):騰訊TAPD,即騰訊敏捷產(chǎn)品研發(fā),是常用的項(xiàng)目管理工具。那么,具體到設(shè)計(jì)層面,我們可以如何認(rèn)知這款工具?本篇文章里,作者從系統(tǒng)全局、詳細(xì)分析、原型設(shè)計(jì)三方面對(duì)騰訊TAPD的系統(tǒng)設(shè)計(jì)結(jié)構(gòu)進(jìn)行分析與拆解,一起來(lái)看一下。
騰訊TAPD官方簡(jiǎn)介,TAPD 是Tencent Agile Product Development的縮寫(xiě),即:騰訊敏捷產(chǎn)品研發(fā)。提供貫穿敏捷研發(fā)生命周期的一站式服務(wù),覆蓋從產(chǎn)品概念形成、產(chǎn)品規(guī)劃、需求分析、項(xiàng)目規(guī)劃和跟蹤、質(zhì)量測(cè)試到構(gòu)建發(fā)布、用戶(hù)反饋跟蹤的產(chǎn)品研發(fā)全生命周期。
此次本著學(xué)習(xí)的態(tài)度解構(gòu)騰訊TAPD(專(zhuān)業(yè)版),我是從TAPD的頁(yè)面和功能入手,逆向分析得到關(guān)鍵輸出物和原始需求,以此深入學(xué)習(xí)項(xiàng)目管理系統(tǒng)的業(yè)務(wù)。
獲得關(guān)鍵輸出物后,本文是以正向設(shè)計(jì)的邏輯進(jìn)行描述,還原從需求到原型的設(shè)計(jì)過(guò)程。本文按分析粒度大小,分為三部分:
- 系統(tǒng)全局分析,分析粒度保持在模塊管理,目的是獲得系統(tǒng)的全局認(rèn)識(shí);
- 系統(tǒng)詳細(xì)分析,分析粒度變小,保持在增刪改查功能的粒度,目的是獲得全部系統(tǒng)用例;
- 熟悉的系統(tǒng)原型設(shè)計(jì),分析粒度變小,保持在頁(yè)面和元件交互,目的是獲得可交付的原型和標(biāo)注。
一、系統(tǒng)全局分析
系統(tǒng)全局分析,分析粒度保持在模塊管理,目的是獲得系統(tǒng)的全局認(rèn)識(shí)。
第一節(jié)是從業(yè)務(wù)的角度獲取需求和用例,第二節(jié)是從系統(tǒng)的角度獲取需求和用例,我稱(chēng)這個(gè)粒度為一級(jí)用例,第三節(jié)和第四節(jié)是在前兩節(jié)的用例基礎(chǔ)上分析主流程和對(duì)象。
1. 業(yè)務(wù)用例
在軟件項(xiàng)目里,業(yè)務(wù)范圍和系統(tǒng)范圍是不同的。
業(yè)務(wù)范圍指這個(gè)項(xiàng)目所涉及的所有客戶(hù)業(yè)務(wù),這些業(yè)務(wù)有沒(méi)有計(jì)算機(jī)系統(tǒng)參與都是客觀(guān)存在的。
系統(tǒng)范圍是指軟件將要實(shí)現(xiàn)的那些對(duì)應(yīng)于業(yè)務(wù)功能的系統(tǒng)功能,從功能性需求來(lái)說(shuō)系統(tǒng)范圍是業(yè)務(wù)范圍的一個(gè)子集,但是一些系統(tǒng)功能則會(huì)超出業(yè)務(wù)范圍,例如操作日志,有沒(méi)有操作日志并不影響業(yè)務(wù)目標(biāo)的達(dá)成,客戶(hù)也不一定會(huì)提出這個(gè)要求,但從系統(tǒng)角度出發(fā),操作日志會(huì)使得系統(tǒng)更加健壯。
——來(lái)自《大象Thinking in UML》
在引入計(jì)算機(jī)系統(tǒng)之前,業(yè)務(wù)也一直跑得很順暢,因此在初始階段,不引入系統(tǒng)的角度,純粹站在業(yè)務(wù)的角度,分析業(yè)務(wù)的主流程場(chǎng)景,獲取業(yè)務(wù)用例。
獲取業(yè)務(wù)用例需要分析出業(yè)務(wù)主角和用例,業(yè)務(wù)主角即參與到業(yè)務(wù)流程中的角色,例如項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理等。
用例即業(yè)務(wù)主角需要在業(yè)務(wù)流程中完成的事情,這里需要注意用例的粒度。我經(jīng)過(guò)思考,系統(tǒng)全局分析階段,建議使用管理一類(lèi)事物的粒度,例如需求管理,這個(gè)粒度僅供參考。
開(kāi)始獲取業(yè)務(wù)用例,以下是一段項(xiàng)目實(shí)施過(guò)程的場(chǎng)景。
某一天,領(lǐng)導(dǎo)分配給項(xiàng)目經(jīng)理一個(gè)新項(xiàng)目,于是,項(xiàng)目經(jīng)理召集產(chǎn)品組長(zhǎng)、設(shè)計(jì)組長(zhǎng)、開(kāi)發(fā)組長(zhǎng)、測(cè)試組長(zhǎng)簡(jiǎn)單同步一下項(xiàng)目信息,表示要啟動(dòng)該項(xiàng)目。
會(huì)后項(xiàng)目經(jīng)理創(chuàng)建一個(gè)群聊,把項(xiàng)目成員拉到群聊中,同步項(xiàng)目信息。
開(kāi)工前,項(xiàng)目經(jīng)理簡(jiǎn)單制定了計(jì)劃:產(chǎn)品經(jīng)理收集需求,產(chǎn)品組長(zhǎng)評(píng)估需求的優(yōu)先級(jí),并規(guī)劃成多個(gè)迭代實(shí)施,確定迭代范圍后,產(chǎn)品組長(zhǎng)、設(shè)計(jì)組長(zhǎng)、開(kāi)發(fā)組長(zhǎng)、測(cè)試組長(zhǎng)分別進(jìn)行人員安排。
確定迭代的需求范圍后,接下來(lái)就是需求的流轉(zhuǎn),產(chǎn)品經(jīng)理完成需求設(shè)計(jì),UI設(shè)計(jì)師完成UI設(shè)計(jì),開(kāi)發(fā)工程師完成編碼,測(cè)試工程師完成需求測(cè)試,最后產(chǎn)品經(jīng)理驗(yàn)證需求并關(guān)閉需求。
測(cè)試工程師在測(cè)試的過(guò)程中會(huì)提出bug單,交由開(kāi)發(fā)工程師進(jìn)行修復(fù)。項(xiàng)目經(jīng)理對(duì)每個(gè)迭代負(fù)責(zé),在迭代過(guò)程中,每天組織晨會(huì),使用需求看板同步進(jìn)度。
在進(jìn)度方面,項(xiàng)目經(jīng)理會(huì)查看需求報(bào)表和bug報(bào)表跟進(jìn)進(jìn)度,并且每周會(huì)整理項(xiàng)目報(bào)告向上級(jí)匯報(bào)。最后保證迭代需求全部完成,即可結(jié)束本次迭代,然后開(kāi)啟下一次迭代。
基于以上場(chǎng)景,獲取業(yè)務(wù)主角和提煉一級(jí)用例,如圖1。
- 項(xiàng)目經(jīng)理是項(xiàng)目的啟動(dòng)者,由他管理項(xiàng)目;在項(xiàng)目實(shí)施中對(duì)每個(gè)迭代負(fù)責(zé),由他管理迭代;定期在需求看板上同步進(jìn)度,由他管理需求看板;定期查看報(bào)表了解迭代數(shù)據(jù),他需要查看報(bào)表;定期整理項(xiàng)目報(bào)告進(jìn)行匯報(bào),他需要管理項(xiàng)目報(bào)告。
- 產(chǎn)品經(jīng)理是需求的提出者,且會(huì)進(jìn)行需求設(shè)計(jì),由他管理需求。
- 設(shè)計(jì)師是需求的設(shè)計(jì)者,參與需求的UI設(shè)計(jì)工作,屬于需求中的一個(gè)步驟。
- 開(kāi)發(fā)工程師是需求的代碼實(shí)現(xiàn)者,參與需求的代碼編碼工作;當(dāng)系統(tǒng)出現(xiàn)bug的時(shí)候,他需要參與bug的修復(fù)工作。
- 測(cè)試工程師是需求的測(cè)試者,參與需求的測(cè)試工作;當(dāng)測(cè)試出bug的時(shí)候,會(huì)提出bug單,由他管理bug。注:在TAPD中使用“缺陷”來(lái)表示bug,后文也會(huì)沿用缺陷這個(gè)詞。
圖1 業(yè)務(wù)用例
2. 系統(tǒng)用例
得到業(yè)務(wù)用例后,雖然能看到業(yè)務(wù)主流程的雛形,但要完成系統(tǒng)的閉環(huán)還需要站在系統(tǒng)的角度去補(bǔ)充用例,例如系統(tǒng)權(quán)限管理的需求,業(yè)務(wù)用例中并沒(méi)有體現(xiàn)出來(lái)。
系統(tǒng)用例也是需要獲得角色和用例,這個(gè)階段的用例粒度和上一步驟的業(yè)務(wù)用例保持一致,即管理一類(lèi)事物。
開(kāi)始獲取系統(tǒng)用例,我站在系統(tǒng)的角度,從三個(gè)方向分析系統(tǒng)需求
- 系統(tǒng)管理的需求;
- 系統(tǒng)易用性的需求;
- 系統(tǒng)擴(kuò)展性的需求。
于是我列出了以下場(chǎng)景的需求:
- TAPD是一款SaaS產(chǎn)品,會(huì)服務(wù)多家公司的客戶(hù),所以需要?jiǎng)?chuàng)建一家公司才可使用系統(tǒng);
- 每個(gè)系統(tǒng)都需要考慮權(quán)限管理,所以管理員需要維護(hù)組織架構(gòu)和系統(tǒng)用戶(hù)組權(quán)限,才能夠管理公司成員的權(quán)限;項(xiàng)目經(jīng)理需要維護(hù)項(xiàng)目用戶(hù)組權(quán)限,才能夠管理項(xiàng)目成員的權(quán)限;
- 每個(gè)用戶(hù)需要注冊(cè)、登錄、修改密碼等個(gè)人中心的功能;
- 在工作中,需要處理的事情散落在各頁(yè)面,用戶(hù)可以有一個(gè)工作臺(tái),集中展示個(gè)人相關(guān)的待辦項(xiàng);
- 用戶(hù)可能關(guān)注很多項(xiàng)內(nèi)容,最好能在一個(gè)頁(yè)面展示用戶(hù)感興趣的內(nèi)容概覽,減少切換,提供可自定義的儀表盤(pán);
- 每個(gè)需求會(huì)關(guān)聯(lián)需求文檔,以及項(xiàng)目過(guò)程中需要文檔的共享協(xié)作,提供集中展示文檔的功能;
- 用戶(hù)想及時(shí)得到迭代、需求、缺陷的更新消息,方便跟進(jìn),提供消息通知功能;
- TAPD服務(wù)多家公司,那么各家公司的需求會(huì)存在差異性,需要做到很強(qiáng)的可配置化來(lái)支持差異化需求。
根據(jù)上述場(chǎng)景的需求,獲取到系統(tǒng)一級(jí)用例,和業(yè)務(wù)用例合并到一起,如圖2。
- 系統(tǒng)管理員,需要?jiǎng)?chuàng)建公司才能使用該系統(tǒng),由他管理公司;需要維護(hù)組織架構(gòu),由他管理部門(mén);需要控制公司成員的權(quán)限,由他管理系統(tǒng)用戶(hù)組;需要配置系統(tǒng)以實(shí)現(xiàn)差異化的功能,由他管理系統(tǒng)配置。
- 項(xiàng)目經(jīng)理,每個(gè)項(xiàng)目的成員不同,也需要進(jìn)行權(quán)限管理,由他管理項(xiàng)目用戶(hù)組。
- 每個(gè)用戶(hù),為了提高系統(tǒng)的可用性和易用性,引入工作臺(tái)、儀表盤(pán)、文檔管理、消息通知、個(gè)人中心。
圖2 系統(tǒng)用例
3. 主流程分析
主流程就是按某種邏輯把用例組合起來(lái),驗(yàn)證是否可以實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。得到主流程可以對(duì)系統(tǒng)有全局的認(rèn)知,也能輔助后續(xù)的對(duì)象分析。
經(jīng)過(guò)分析,主流程有三個(gè)分支,如圖3。
管理公司主流程,主要是創(chuàng)建公司并邀請(qǐng)成員加入公司:
- 系統(tǒng)管理員在管理公司模塊創(chuàng)建公司并邀請(qǐng)成員;
- 用戶(hù)在個(gè)人中心模塊注冊(cè)賬號(hào)并接受公司邀請(qǐng);
- 系統(tǒng)管理員在管理部門(mén)模塊創(chuàng)建部門(mén)并關(guān)聯(lián)成員;
- 系統(tǒng)管理員在管理系統(tǒng)用戶(hù)組模塊創(chuàng)建系統(tǒng)用戶(hù)組并關(guān)聯(lián)成員;
- 系統(tǒng)管理員配置一些系統(tǒng)參數(shù)。
項(xiàng)目實(shí)施主流程,主要是創(chuàng)建項(xiàng)目并邀請(qǐng)成員加入項(xiàng)目,然后在項(xiàng)目中創(chuàng)建迭代、需求、缺陷,最終完成需求和修復(fù)缺陷:
- 項(xiàng)目經(jīng)理在管理項(xiàng)目模塊中創(chuàng)建項(xiàng)目并邀請(qǐng)成員;
- 項(xiàng)目經(jīng)理在管理項(xiàng)目用戶(hù)組模塊中創(chuàng)建項(xiàng)目用戶(hù)組并關(guān)聯(lián)成員;
- 項(xiàng)目經(jīng)理創(chuàng)建迭代和規(guī)劃迭代;
- 項(xiàng)目成員在需求管理模塊中創(chuàng)建需求和完成需求;
- 項(xiàng)目成員在缺陷管理模塊中創(chuàng)建缺陷和修復(fù)缺陷;
- 項(xiàng)目經(jīng)理查看需求看板和報(bào)表跟進(jìn)迭代進(jìn)度;
- 項(xiàng)目經(jīng)理定期發(fā)布項(xiàng)目報(bào)告。
用戶(hù)日常辦公主流程,主要是用戶(hù)日常登錄系統(tǒng)后處理自己相關(guān)的工作:
- 用戶(hù)在個(gè)人中心模塊進(jìn)行登錄進(jìn)入系統(tǒng);
- 在工作臺(tái)查看待辦項(xiàng)并進(jìn)行處理;
- 在儀表板查看概況;
- 在文檔管理中創(chuàng)建文檔;
- 在消息通知中查看需求、缺陷更新等消息。
圖3 主流程
4. 對(duì)象分析
神盾局特工第四季里有一個(gè)概念是虛擬數(shù)字世界:框架(Framework),看過(guò)的朋友就很容易理解:軟件系統(tǒng)就是在計(jì)算機(jī)世界模擬現(xiàn)實(shí)世界,現(xiàn)實(shí)世界中的物體會(huì)映射成計(jì)算機(jī)世界里的對(duì)象。
這里使用面向?qū)ο蠓治龇椒ǎ∣OA),也是《大象Thinking in UML》中的分析步驟之一,意圖是將現(xiàn)實(shí)世界中的物體映射成計(jì)算機(jī)世界中的對(duì)象,在系統(tǒng)中使用這些對(duì)象去解決需求。比如分析對(duì)象需要哪些屬性和功能來(lái)解決需求,在后續(xù)的步驟會(huì)詳細(xì)分析這些對(duì)象。
獲取到主要的對(duì)象,還可以幫助我們對(duì)系統(tǒng)有整體的認(rèn)知。從以上的用例和主流程中進(jìn)行抽象,獲得以下對(duì)象:
- 管理公司主流程:公司、部門(mén)、系統(tǒng)用戶(hù)組;
- 項(xiàng)目實(shí)施主流程:項(xiàng)目、項(xiàng)目用戶(hù)組、迭代、需求白板、報(bào)表、項(xiàng)目報(bào)告、需求、缺陷;
- 用戶(hù)辦公主流程:用戶(hù)、工作臺(tái)、儀表盤(pán)、文檔、消息。
將以上對(duì)象,按照相關(guān)性進(jìn)行分類(lèi),并簡(jiǎn)單梳理對(duì)象之間的關(guān)系,即一對(duì)一、一對(duì)多、多對(duì)多。
此處的對(duì)象關(guān)系圖主要用于了解系統(tǒng)全局,所以對(duì)象之間關(guān)系和圖例沒(méi)有很標(biāo)準(zhǔn),如圖4。
圖4 對(duì)象圖
二、系統(tǒng)詳細(xì)分析
系統(tǒng)詳細(xì)分析,分析粒度變小,保持在增刪改查功能的粒度,目的是獲得全部系統(tǒng)用例。
- 第一節(jié),把系統(tǒng)全局分析里的用例進(jìn)行細(xì)化,即用例流程分析,可以發(fā)現(xiàn)基本的二級(jí)用例;
- 第二節(jié),搜集所有的二級(jí)用例,即在流程中體現(xiàn)的功能以外,再補(bǔ)充必要的其他二級(jí)用例;
- 第三節(jié),為了滿(mǎn)足高可配置化,還需要引入配置對(duì)象,例如項(xiàng)目模板;
- 第四節(jié),我稱(chēng)為三級(jí)用例,主要是找到配置對(duì)象的用例,例如創(chuàng)建項(xiàng)目模板,以滿(mǎn)足配置需求。
1. 用例流程分析
用例流程就是用例的實(shí)現(xiàn)方式,是常用的需求細(xì)化方法,即細(xì)化上述一級(jí)用例的粒度。流程分析的目的是可以從中發(fā)現(xiàn)下級(jí)用例,現(xiàn)在開(kāi)始分析流程。
1)管理公司流程,如圖5左一
- 系統(tǒng)管理員:①創(chuàng)建公司,②創(chuàng)建部門(mén),③創(chuàng)建系統(tǒng)用戶(hù)組,④系統(tǒng)配置,⑤邀請(qǐng)成員加入公司;
- 用戶(hù):⑥注冊(cè)賬號(hào),⑦接受邀請(qǐng)加入公司。
2)管理項(xiàng)目流程,如圖5左二
- 項(xiàng)目經(jīng)理:①創(chuàng)建項(xiàng)目,②創(chuàng)建項(xiàng)目用戶(hù)組,③邀請(qǐng)成員加入項(xiàng)目;
- 用戶(hù):④已是公司成員的用戶(hù)可自動(dòng)加入項(xiàng)目,⑤未加入公司的用戶(hù)需要注冊(cè)后接受邀請(qǐng)加入公司和項(xiàng)目。
3)管理迭代流程,如圖5左三
項(xiàng)目經(jīng)理:①創(chuàng)建迭代,②規(guī)劃迭代,③跟進(jìn)迭代進(jìn)度,④完成迭代。
圖5 管理公司、項(xiàng)目、迭代流程
4)管理需求流程,如圖6
- 產(chǎn)品經(jīng)理:①創(chuàng)建需求,②設(shè)計(jì)需求,⑧需求驗(yàn)收通過(guò)可關(guān)閉需求,否則回退給開(kāi)發(fā)工程師;
- UI設(shè)計(jì)師:③UI設(shè)計(jì),⑦設(shè)計(jì)驗(yàn)收通過(guò)流傳給產(chǎn)品經(jīng)理驗(yàn)收,否則回退給開(kāi)發(fā)工程師;
- 開(kāi)發(fā)工程師:④代碼開(kāi)發(fā);
- 測(cè)試工程師:⑤測(cè)試,⑥測(cè)試通過(guò)流轉(zhuǎn)給UI設(shè)計(jì)師驗(yàn)收,否則回退給開(kāi)發(fā)工程師。
圖6 管理需求流程
5)管理缺陷流程,如圖7左一
- 測(cè)試工程師:①創(chuàng)建缺陷,③缺陷驗(yàn)收通過(guò)可關(guān)閉缺陷,否則回退給開(kāi)發(fā)工程師;
- 開(kāi)發(fā)工程師:②修復(fù)缺陷。
6)報(bào)表流程,如圖7左二
項(xiàng)目經(jīng)理:①查詢(xún)項(xiàng)目、迭代中的需求和缺陷報(bào)表,②保存報(bào)表,③導(dǎo)出報(bào)表。
7)需求看板流程,如圖7左三
項(xiàng)目經(jīng)理:①查詢(xún)迭代的需求白板,②移動(dòng)需求狀態(tài)。
8)項(xiàng)目報(bào)告流程,如圖7左四
項(xiàng)目經(jīng)理:①創(chuàng)建項(xiàng)目報(bào)告,②保存草稿,③發(fā)送項(xiàng)目報(bào)告。
圖7 缺陷、報(bào)表、需求看板、項(xiàng)目報(bào)告流程
9)工作臺(tái)流程,如圖8左一
用戶(hù):①查看待辦項(xiàng),②查看已辦項(xiàng)。
10)儀表盤(pán)流程如圖8左二
用戶(hù):①編輯儀表盤(pán)內(nèi)容,②編輯儀表盤(pán)布局。
11)文檔流程,如圖8左三
用戶(hù):①創(chuàng)建文檔,②保存文檔,③邀請(qǐng)協(xié)作者。
12)消息流程,如圖8左四
- 系統(tǒng):①觸發(fā)發(fā)送消息;
- 用戶(hù):②查看消息。
圖8 工作臺(tái)、儀表盤(pán)、文檔、消息流程
2. 二級(jí)用例
完成流程分析后,已經(jīng)獲得一部分細(xì)化的二級(jí)用例,但對(duì)于整個(gè)系統(tǒng)的閉環(huán)還是不夠的,這節(jié)就補(bǔ)充完善二級(jí)用例。
現(xiàn)在獲取的用例粒度,保持在主要對(duì)象的增刪改查即可。
獲取二級(jí)用例從兩個(gè)角度分析。
一是從上述的流程中進(jìn)行提取用例;二是專(zhuān)注分析的對(duì)象,然后圍繞該對(duì)象設(shè)想一些場(chǎng)景以獲得需求,例如刪除、導(dǎo)出、打印、批量處理等在流程中找不到的需求。
開(kāi)始獲取二級(jí)用例。
1)管理公司二級(jí)用例,如圖9
- 公司,補(bǔ)全增查改、注銷(xiāo)公司,和關(guān)聯(lián)成員的用例:邀請(qǐng)成員、查看成員、移除成員;
- 部門(mén),補(bǔ)全增查改刪,和關(guān)聯(lián)成員的用例:成員加入部門(mén)、查看成員、成員移出部門(mén);
- 系統(tǒng)用戶(hù)組,補(bǔ)全增查改刪、配置權(quán)限,和關(guān)聯(lián)成員的用例:成員加入用戶(hù)組、查看成員、成員移出用戶(hù)組。
圖9 管理公司二級(jí)用例
2)管理項(xiàng)目二級(jí)用例,如圖10
- 項(xiàng)目,補(bǔ)全增查改、結(jié)束項(xiàng)目,和關(guān)聯(lián)成員的用例:邀請(qǐng)成員、查看成員、移除成員;
- 項(xiàng)目用戶(hù)組,補(bǔ)全增查改刪、配置權(quán)限,和關(guān)聯(lián)成員的用例:成員加入用戶(hù)組、查看成員、成員移出用戶(hù)組;
- 迭代,補(bǔ)全增查改、關(guān)閉迭代、規(guī)劃迭代,和導(dǎo)出需求:導(dǎo)出迭代;
- 需求,補(bǔ)全增查改刪,還需考慮需求的日常操作:移動(dòng)需求、復(fù)制需求、關(guān)聯(lián)父/子需求、關(guān)聯(lián)迭代、流轉(zhuǎn)需求、導(dǎo)出需求、導(dǎo)入需求、打印需求、分享需求、關(guān)注需求,以及批量操作需求:批量編輯需求、批量狀態(tài)流轉(zhuǎn)、批量移動(dòng)、批量復(fù)制、批量刪除、批量修改父需求、批量分享;
- 缺陷,補(bǔ)全增查改刪,還需考慮缺陷的日常操作:移動(dòng)缺陷、復(fù)制缺陷、關(guān)聯(lián)迭代、關(guān)聯(lián)需求、流轉(zhuǎn)缺陷、導(dǎo)出缺陷、導(dǎo)入缺陷、打印缺陷、分享缺陷、關(guān)注缺陷,以及批量操作需求:批量編輯缺陷、批量狀態(tài)流轉(zhuǎn)、批量移動(dòng)、批量復(fù)制、批量刪除、批量分享;
- 需求白板,支持兩種查看方式:查看迭代需求狀態(tài)、查看人員的迭代需求狀態(tài);
- 報(bào)表,支持查看需求報(bào)表、查看缺陷報(bào)表、保存報(bào)表、導(dǎo)出報(bào)表;
- 項(xiàng)目報(bào)告,補(bǔ)全增查改刪、保存草稿、復(fù)制項(xiàng)目報(bào)告。
圖10 管理項(xiàng)目二級(jí)用例
3)用戶(hù)辦公二級(jí)用例,如圖11
- 用戶(hù),支持用戶(hù)的常規(guī)操作:注冊(cè)、登錄、退出登錄、修改密碼、找回密碼、查看個(gè)人詳情、編輯資料、注銷(xiāo)賬戶(hù),以及和公司的關(guān)聯(lián)關(guān)系:接受公司邀請(qǐng)、退出公司、切換公司;
- 工作臺(tái),支持查詢(xún)我的待辦、查詢(xún)我的已辦、查詢(xún)我創(chuàng)建的、查詢(xún)我關(guān)注的、查詢(xún)最近瀏覽的、全局查詢(xún);
- 儀表盤(pán),可查看工作卡片、查看迭代概覽卡片、查看需求卡片、查看缺陷卡片、查看報(bào)表卡片,以及配置卡片:添加卡片、編輯卡片布局、刪除卡片、卡片內(nèi)容設(shè)置
- 文檔,補(bǔ)全增查改刪,以及考慮文檔的日常操作:發(fā)布到項(xiàng)目、邀請(qǐng)協(xié)作者、移動(dòng)、復(fù)制、上傳、下載、關(guān)注、分享,還有批量操作需求:批量刪除、批量移動(dòng)文件夾;
- 消息,支持自動(dòng)觸發(fā)并發(fā)送消息、消息提醒、查看消息、刪除消息。
圖11 用戶(hù)辦公二級(jí)用例
3. 補(bǔ)充對(duì)象
以上的二級(jí)用例,基本已經(jīng)解決業(yè)務(wù)的需求,業(yè)務(wù)可以閉環(huán)流轉(zhuǎn)了。但還需要考慮一些非功能性需求,例如系統(tǒng)的配置需求、安全需求等。
TAPD提供的是SaaS服務(wù),使用一套系統(tǒng)服務(wù)所有客戶(hù),就需要提供強(qiáng)大的配置化功能,以滿(mǎn)足不同客戶(hù)的個(gè)性化需求。
從之前獲取到的對(duì)象進(jìn)行分析,聚焦每個(gè)對(duì)象的場(chǎng)景,得到以下對(duì)象有強(qiáng)烈的可配置化需求,并提取補(bǔ)充對(duì)象,如圖12。
- 項(xiàng)目,①每個(gè)項(xiàng)目都有大量的配置內(nèi)容,為了簡(jiǎn)化創(chuàng)建項(xiàng)目的設(shè)置工作,引入項(xiàng)目模板;②查詢(xún)項(xiàng)目列表時(shí),根據(jù)需要進(jìn)行自定義可展示的字段,引入列表顯示字段;
- 迭代,①創(chuàng)建迭代時(shí),不同迭代類(lèi)型的字段項(xiàng)可能不同,引入創(chuàng)建頁(yè)模板;②在創(chuàng)建頁(yè)模板中添加的字段需要維護(hù),引入自定義字段;③查詢(xún)迭代列表時(shí),可以按條件快速過(guò)濾數(shù)據(jù)和自定義展示字段,引入列表視圖;
- 需求,①創(chuàng)建需求時(shí),不同需求類(lèi)型的字段項(xiàng)可能不同,引入創(chuàng)建頁(yè)模板;②在創(chuàng)建頁(yè)模板中添加的字段需要維護(hù),引入自定義字段;③不同需求類(lèi)型的工作流可能不同,引入工作流;④工作流中的狀態(tài)需要維護(hù),引入狀態(tài);⑤創(chuàng)建需求時(shí),將創(chuàng)建頁(yè)模板和工作流組合在一起,引入需求類(lèi)別;⑥查詢(xún)需求列表時(shí),可以按條件快速過(guò)濾數(shù)據(jù)和自定義展示字段,引入列表視圖;
- 缺陷,①創(chuàng)建缺陷時(shí),不同缺陷類(lèi)型的字段項(xiàng)可能不同,引入創(chuàng)建頁(yè)模板;②在創(chuàng)建頁(yè)模板中添加的字段需要維護(hù),引入自定義字段;③不同缺陷類(lèi)型的工作流可能不同,引入工作流;④工作流中的狀態(tài)需要維護(hù),引入狀態(tài);⑤查詢(xún)?nèi)毕萘斜頃r(shí),可以按條件快速過(guò)濾數(shù)據(jù)和自定義展示字段,引入列表視圖;
- 項(xiàng)目報(bào)告,①創(chuàng)建項(xiàng)目報(bào)告時(shí),需要展示的內(nèi)容是有規(guī)律的,只是時(shí)間范圍不同,為簡(jiǎn)化發(fā)布項(xiàng)目報(bào)告,引入項(xiàng)目報(bào)告模板;
- 儀表盤(pán),①用戶(hù)想自定義個(gè)性化的儀表盤(pán),引入卡片;
- 消息,①配置消息的觸發(fā)條件,引入消息事件。
圖12 補(bǔ)充對(duì)象
4. 三級(jí)用例
得到補(bǔ)充對(duì)象后,就繼續(xù)分析以上對(duì)象的用例,這樣就完成該粒度層次的分析。
三級(jí)用例粒度是補(bǔ)充對(duì)象的增查改刪,例如創(chuàng)建項(xiàng)目模板,是創(chuàng)建補(bǔ)充對(duì)象供上級(jí)對(duì)象調(diào)用,達(dá)到配置的目標(biāo)。
該粒度的用例比較有規(guī)律,大概有創(chuàng)建、查詢(xún)、編輯、 刪除、復(fù)制、排序、啟用、默認(rèn)等功能。
如圖13,列出了補(bǔ)充對(duì)象的用例。
圖13 補(bǔ)充對(duì)象的三級(jí)用例
三、系統(tǒng)原型設(shè)計(jì)
系統(tǒng)原型設(shè)計(jì),分析粒度變小,保持在頁(yè)面和元件交互,目的是獲得可交付的原型和標(biāo)注。
在原型設(shè)計(jì)前,需要梳理功能清單,一來(lái)可以展示系統(tǒng)的全貌,二來(lái)可以了解工作量和分配各模塊的執(zhí)行人。
1. 功能清單
功能清單就是把系統(tǒng)內(nèi)容和用例按某種展現(xiàn)邏輯組織起來(lái),而這種展示邏輯就是導(dǎo)航設(shè)計(jì),所以在列功能清單前先進(jìn)行導(dǎo)航設(shè)計(jì),然后把用例放置到相應(yīng)的的導(dǎo)航菜單中,即可完成功能清單。
在完成功能清單后,即完成產(chǎn)品規(guī)劃的部分,就可以按模塊分配給多名產(chǎn)品經(jīng)理,設(shè)計(jì)各個(gè)模塊。
1)導(dǎo)航設(shè)計(jì)
參考三個(gè)主流程,管理公司、項(xiàng)目實(shí)施、用戶(hù)日常辦公。
可以發(fā)現(xiàn),用戶(hù)日常辦公的功能使用頻率最高,因此工作臺(tái)、文檔、消息、個(gè)人中心,放在一級(jí)導(dǎo)航的位置,儀表盤(pán)和工作臺(tái)的性質(zhì)比較相似,儀表盤(pán)合并到工作臺(tái)菜單下,并且儀表盤(pán)是概覽卡片的聚合頁(yè),可以充當(dāng)?shù)卿浵到y(tǒng)后的首頁(yè)。
在項(xiàng)目實(shí)施主流程中,迭代、需求、缺陷等都?xì)w屬于某個(gè)項(xiàng)目下,所以項(xiàng)目是一級(jí)導(dǎo)航,流程中的其他模塊,迭代、需求、缺陷、需求白板、報(bào)表、文檔、設(shè)置就放在項(xiàng)目下的二級(jí)導(dǎo)航,還有一個(gè)項(xiàng)目報(bào)告,就合并到報(bào)表中。
公司管理也放置在一級(jí)導(dǎo)航中。如圖14。
圖14 導(dǎo)航菜單
2)功能清單
在導(dǎo)航菜單的框架下,按模塊填充二級(jí)用例和三級(jí)用例。例如需求管理的常規(guī)功能(二級(jí)用例)放在需求模塊中,而需求的配置功能(三級(jí)用例)放在項(xiàng)目設(shè)置的需求設(shè)置中,如圖15。
完整功能清單寫(xiě)在騰訊文檔,請(qǐng)?jiān)L問(wèn)https://docs.qq.com/sheet/DQXR1dndQY3B1c2Z4。
2. 原型設(shè)計(jì)
不知道各位是否有這樣的困擾,在原型設(shè)計(jì)時(shí)會(huì)有這樣的卡頓,例如查詢(xún)列表頁(yè)要展示什么字段、創(chuàng)建頁(yè)要展示什么字段,就有被打斷的感覺(jué)。
因此建議在開(kāi)始原型設(shè)計(jì)之前,先根據(jù)對(duì)象的場(chǎng)景,分析對(duì)象的屬性。我個(gè)人習(xí)慣是先分析對(duì)象屬性再畫(huà)詳細(xì)的原型,這樣是比較順暢的。
1)對(duì)象屬性
分析對(duì)象屬性,并不是輕松的過(guò)程,每個(gè)屬性都有針對(duì)的場(chǎng)景。這里用“需求”這個(gè)對(duì)象舉例。
① 基礎(chǔ)信息
- ID,需求的唯一標(biāo)識(shí);
- 標(biāo)題,需求的標(biāo)題,用于概括需求內(nèi)容,方便查找;
- 描述,需求的詳細(xì)描述,例如描述需求背景、解決方案等;
- 業(yè)務(wù)價(jià)值,指實(shí)現(xiàn)需求后的價(jià)值有多大,在規(guī)劃迭代時(shí)優(yōu)先實(shí)現(xiàn)業(yè)務(wù)價(jià)值高的;
- 優(yōu)先級(jí),指需求的優(yōu)先級(jí),在規(guī)劃迭代時(shí)優(yōu)先實(shí)現(xiàn)優(yōu)先級(jí)高的需求;
- 規(guī)模,指需求的工作量,預(yù)測(cè)需要多少工時(shí)可以完成;
- 項(xiàng)目,需求所屬哪個(gè)項(xiàng)目;
- 迭代,需求所屬哪個(gè)迭代;
- 版本,需求所屬哪個(gè)版本;
- 模塊,需求所屬哪個(gè)模塊;
- 需求分類(lèi),用戶(hù)可自定義需求分類(lèi),用于區(qū)分不同類(lèi)型的需求,例如用戶(hù)需求、代碼優(yōu)化需求;
- 需求類(lèi)別,不同的需求類(lèi)別的配置項(xiàng)不同,即需求創(chuàng)建頁(yè)和工作流程不同,需求可以選擇使用哪個(gè)需求類(lèi)別的配置;
- 父需求,需求的父需求是哪個(gè);
- 子需求,需求的子需求是哪些;
- 缺陷,需求下關(guān)聯(lián)哪些缺陷;
- 狀態(tài),需求流轉(zhuǎn)的狀態(tài),例如需求設(shè)計(jì)、開(kāi)發(fā)、測(cè)試等狀態(tài);
- 評(píng)論,處理人可以在需求下進(jìn)行評(píng)論留言;
- 附件,用于上傳需求規(guī)格說(shuō)明書(shū)。
② 人員相關(guān)屬性
創(chuàng)建人、處理人、開(kāi)發(fā)人員、抄送人。
③ 時(shí)間相關(guān)屬性
創(chuàng)建時(shí)間、預(yù)計(jì)開(kāi)始時(shí)間、預(yù)計(jì)結(jié)束時(shí)間、最后修改時(shí)間、完成時(shí)間。
可以看出,屬性很多,靠自己想是行不通的,這也是分析行業(yè)系統(tǒng)的價(jià)值,把行業(yè)系統(tǒng)常用的對(duì)象和屬性學(xué)來(lái),也就入門(mén)這項(xiàng)業(yè)務(wù)了。
其他主要對(duì)象的屬性寫(xiě)在騰訊文檔,請(qǐng)?jiān)L問(wèn)https://docs.qq.com/sheet/DQUlqa2JnR2puWUZm。
2)原型設(shè)計(jì)
最后進(jìn)行原型設(shè)計(jì),并進(jìn)行文字標(biāo)注,補(bǔ)充業(yè)務(wù)規(guī)則和交互規(guī)則等。
做PC web網(wǎng)頁(yè)設(shè)計(jì)時(shí),這里推薦Element UI組件,記住常用的組件,會(huì)提高寫(xiě)標(biāo)注的效率。
為了體會(huì)TAPD的規(guī)則和交互,我也簡(jiǎn)單還原了TAPD的標(biāo)注,原型放在藍(lán)湖,請(qǐng)?jiān)L問(wèn)https://lanhuapp.com/url/iXUNq。
【尾巴】
各位看官,由于是在現(xiàn)成的系統(tǒng)上進(jìn)行分解推導(dǎo),因此會(huì)存在一些上帝視角,有些用例和對(duì)象出現(xiàn)的邏輯沒(méi)有那么順暢,請(qǐng)大家見(jiàn)諒。另外,這些邏輯不順暢的點(diǎn),可能就是此類(lèi)系統(tǒng)的行業(yè)知識(shí),當(dāng)你見(jiàn)過(guò)之后,也就認(rèn)識(shí)和學(xué)習(xí)了這個(gè)行業(yè)的業(yè)務(wù)知識(shí)。
感謝閱讀。
本文由 @王世翔?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
因?yàn)橥瑫r(shí)出現(xiàn)了管理員-用戶(hù)。同時(shí)還有項(xiàng)目經(jīng)理、開(kāi)發(fā)工程師等。角色權(quán)限這塊沒(méi)寫(xiě),差這一點(diǎn)就完整了。
感謝你認(rèn)真閱讀和寶貴建議。這兩點(diǎn)文中有提到,但屬于系統(tǒng)標(biāo)配的權(quán)限配置,不屬于業(yè)務(wù)部分,我確實(shí)減少了筆墨。但其實(shí)這塊也是及其重要的。
一、1.2小結(jié)有提到系統(tǒng)管理員配置權(quán)限和項(xiàng)目管理員配置權(quán)限的系統(tǒng)用例;
1、系統(tǒng)管理員,需要?jiǎng)?chuàng)建公司才能使用該系統(tǒng),由他管理公司;需要維護(hù)組織架構(gòu),由他管理部門(mén);需要控制公司成員的權(quán)限,由他管理系統(tǒng)用戶(hù)組;需要配置系統(tǒng)以實(shí)現(xiàn)差異化的功能,由他管理系統(tǒng)配置;
2、項(xiàng)目經(jīng)理,每個(gè)項(xiàng)目的成員不同,也需要進(jìn)行權(quán)限管理,由他管理項(xiàng)目用戶(hù)組;
二、2.2.1小結(jié)有提到系統(tǒng)用戶(hù)組的配置權(quán)限用例、2.2.2小結(jié)有有提到項(xiàng)目用戶(hù)組的配置權(quán)限用例;
1、系統(tǒng)用戶(hù)組,補(bǔ)全增查改刪、配置權(quán)限,和關(guān)聯(lián)成員的用例:成員加入用戶(hù)組、查看成員、成員移出用戶(hù)組;
2、項(xiàng)目用戶(hù)組,補(bǔ)全增查改刪、配置權(quán)限,和關(guān)聯(lián)成員的用例:成員加入用戶(hù)組、查看成員、成員移出用戶(hù)組;
點(diǎn)贊
想問(wèn)下樓主幾年經(jīng)驗(yàn)?太強(qiáng)了,膜拜學(xué)習(xí)。。我剛好是做相關(guān)產(chǎn)品,自愧不如啊
謝謝支持。稍微多干了幾年,第七個(gè)年頭了,還需加油,年輕的你早點(diǎn)有你自己的產(chǎn)品設(shè)計(jì)流程,就能追更高層次的知識(shí)。共勉!
騰訊文檔無(wú)法查看
我在沒(méi)登錄騰訊文檔的情況下,依然是可以打開(kāi)騰訊文檔里的內(nèi)容的。
看完您的文章,也去看下了下藍(lán)湖地址分析的很完整,也很專(zhuān)業(yè),UML的建模語(yǔ)言使用的也很靈活.個(gè)人覺(jué)得在框架、結(jié)構(gòu)層的交互方面還是有空間的;組件的使用,產(chǎn)品交互模式的統(tǒng)一等.為什么這個(gè)項(xiàng)目沒(méi)有配備交互設(shè)計(jì)師呢.
不是很理解你的意思?騰訊的TAPD已經(jīng)上線(xiàn)好幾年了,應(yīng)該是有交互設(shè)計(jì)師的吧。我只是用我的思路在分析它,學(xué)習(xí)它。
對(duì)于我來(lái)說(shuō)真是理清了整個(gè)產(chǎn)品設(shè)計(jì)的關(guān)鍵思路,感謝作者。
開(kāi)心,我也因此理清了思路。
茅塞頓開(kāi)
很開(kāi)心能引起你的思考。
寫(xiě)的好棒!把畫(huà)原型之前的規(guī)劃路線(xiàn)寫(xiě)的非常清楚!建議整篇背誦
很開(kāi)心得到你的認(rèn)可。