1、如何看待aspice
aspice 幾乎涵蓋了軟件開發(fā)的方方面面,在軟件開發(fā)過程中,有疑惑的地方都可以去aspice里去尋找靈感。對(duì)于初創(chuàng)公司,應(yīng)該以人為本。結(jié)合人的長(zhǎng)處,來發(fā)揮每個(gè)人的主動(dòng)性和熱情,而不必因崗招人。aspice 中要求輸出很多工作產(chǎn)品,也就是文檔。把握不好就成了形式主義。我對(duì)待這些的態(tài)度,就是注重實(shí)際作用。比如系統(tǒng)需求文檔??梢院笃谘a(bǔ)文檔,那基本上就屬于形式主義,最多有個(gè)備忘的作用了。做任何事情都是有成本的,任何事情只有收益大于成本才值得去做。
2、aspice的價(jià)值
那么有一個(gè)文檔,為什么值得我們投入精力呢?我主要看中一下幾點(diǎn):切實(shí)為下一個(gè)階段的工作提供輸入,下一階段工作以此為輸入開展工作,就讓工作有章法可循。比如系統(tǒng)需求為軟件需求提供輸入。顯性明確隱藏在各人腦海中的想法,把內(nèi)容寫下來,為討論交流,提供一個(gè)基線。各利益相關(guān)方可以以此討論,達(dá)成共識(shí)的會(huì)確定下來,以此減少對(duì)共識(shí)部分的重復(fù)討論,將注意力集中在尚待解決的部分。文檔還起到追溯到作用,這就要求變更時(shí),保證是從源頭開始變更。只有清晰的需求,才能盡量減少由于討論不足帶來的盲目變更。變更就是成本。文檔應(yīng)該方便以后迅速回憶起當(dāng)時(shí)工作的一些信息,起到備份工作成果的作用。文檔一定不是目的,文檔的目的一定要是方便內(nèi)外部溝通、減少重復(fù)和浪費(fèi)、減少歧義、減少因溝通不徹底帶來的浪費(fèi),并且可以基于不同時(shí)間持續(xù)推進(jìn)一件事情。如果文檔不能帶來收益,那就需要調(diào)整記錄文檔的方式。
沒有工具支撐下的探索
工欲善其事,必先利其器。沒有工具支撐,很多事情就會(huì)淪為最原始的低效模式。結(jié)合目前行業(yè)在用的jira等工具,我有意探索如何更好的貫徹一些理念,并且有一些自身的認(rèn)識(shí)。很多小公司或者個(gè)人,傾向于口頭分配任務(wù)或溝通的的方式,這是因?yàn)楹?jiǎn)單,也就是最原始的方式,人人生而得之,這種方式?jīng)]有太多探索的價(jià)值,受制于以下方面:1.重復(fù)溝通現(xiàn)象多,意味著重復(fù)部分是浪費(fèi);2.口頭說完,往往遺忘,重要的事情無法被跟蹤和追溯,無法為全局的狀況提供查看視角。3.有分歧,事情的推進(jìn)變得困難。溝通記錄往往是開辟道路的有效手段,達(dá)成共識(shí)的部分可以在文檔中逐漸積累。但是口頭溝通,就會(huì)存在信息同步和遺忘,理解歧義等帶來的成本。4.口頭溝通,無法固化有價(jià)值的工作成果,也就無法有效重用以往優(yōu)秀的成果。5.口頭溝通應(yīng)該配合有價(jià)值的記錄,當(dāng)然,這依然是最原始的方式。6.口頭溝通,也應(yīng)以終為始,正如寫文檔,在寫之前,就應(yīng)該有文檔最終的樣子,應(yīng)該要給誰看,想表現(xiàn)出什么,怎么樣更好的呈現(xiàn)。
3、aspice實(shí)踐
我在實(shí)踐中,結(jié)合jira和借鑒互聯(lián)網(wǎng)敏捷開發(fā)的經(jīng)驗(yàn)。將一級(jí)需求作為epic,二級(jí)需求作為story。這兩個(gè)層次的需求,從PRD中拆分而來,在描述中,指明對(duì)應(yīng)章節(jié)。期間與產(chǎn)品經(jīng)理反復(fù)溝通,達(dá)到什么目的,做到什么樣子。
互聯(lián)網(wǎng)團(tuán)隊(duì)的feature 作為epic,function作為story,我們?cè)谛枨蟛鸱謺r(shí)的顆粒度,以及工作的實(shí)質(zhì)(指具體開發(fā)該功能還是集成供應(yīng)商的代碼)對(duì)需求結(jié)構(gòu)化的顆粒度做了適當(dāng)?shù)恼{(diào)整,以在達(dá)到追溯目的和追溯的成本之間取得平衡。在二級(jí)需求之下,我們開發(fā)團(tuán)隊(duì)結(jié)合軟件架構(gòu)文檔,在每個(gè)需求之下,創(chuàng)建RTM subtask,將完成某個(gè)需求的工作,拆分成多個(gè)便于開發(fā)執(zhí)行的任務(wù)。測(cè)試團(tuán)隊(duì),在二級(jí)需求之下建測(cè)試的任務(wù),這個(gè)任務(wù)對(duì)應(yīng)軟件集成測(cè)試。二級(jí)需求可能分不到不同的開發(fā)模塊。這里其實(shí)和aspice 軟件需求由軟件集成測(cè)試來測(cè)并雙向可追溯有些對(duì)應(yīng)關(guān)系。做這些期望達(dá)成的目的:
-
從需求拆分到任務(wù)拆分,可以由上自下拆分,并結(jié)合由下自上發(fā)現(xiàn)需求的遺漏。由上自下,提起來,可以從需求提到各個(gè)任務(wù),像一顆倒置的樹
-
jira 需求可以對(duì)應(yīng)到prd,產(chǎn)品經(jīng)理可以追溯,開發(fā)人員可以順著這棵樹向上追溯到prd
-
需求變更,可以順著樹,來傳遞影響。變更需要在jira上發(fā)起變更申請(qǐng),以追溯
-
開發(fā)者的任務(wù)一目了然,開發(fā)的節(jié)奏以此來把控,實(shí)事求是,以最小成本來做最大成果
-
開發(fā)者的工作透明化,讓管理者知道大家做的成果,避免開發(fā)者做了許多,管理者一無所知的情況。
-
讓開發(fā)過程更順暢,有規(guī)可循,減少浪費(fèi)。
-
更關(guān)注做正確的事,“要做對(duì)的事”
轉(zhuǎn)載汽車電子相關(guān)文章
轉(zhuǎn)自汽車電子與軟件


