天天看點

一文學會靈活模型在主流網際網路公司的實際應用

分享幹貨,拒絕水貨;沒有華麗的詞藻,隻有平實的語言;沒有虛頭八腦,隻有真槍實彈;全程原創,一字一碼;樂搏學院老司機帶你一起飛。。。

"靈活“,英文名字Agile,意為快速、快捷。是目前的主流公司的開發首選模型

靈活是處理事情的一套方法論,Agile也是如此,舉個簡單的例子,Agile就如同我們開發中的一個接口,接口的意義在于隻是定義一些規範,告訴你應該做哪些事,什麼流程,但具體怎麼做,沒有一個具體的定論。具體的開展實作是由實作類來做的,下圖展示了Agile“接口”及其衆多的“實作類”:

一文學會靈活模型在主流網際網路公司的實際應用

先來大概了解一下Agle:

一文學會靈活模型在主流網際網路公司的實際應用

劃重點來了 - 對上圖做個簡單的解釋:

以人為本 - 在Agile中,強調“人”的重要,要充分相信項目組裡的每個人有能力做好每項工作,上司應該盡少的參與項目具體安排;有國外靈活專家做過專門的實驗,實驗分為二組,分别讓參與者以盡快的速度通過二排排列雜亂無章排放的椅子中間的通道。

第一組情況 - 讓一個員工蒙上眼睛,讓老闆在一旁指揮他(她)向前、向後、向左、向右,最後順利通過通道。最後用時5:30:22

第二組情況 - 讓一個員工(不蒙眼睛),自行按着通道通過。最後用時2:20:12,二者幾乎時間相差一倍。而且在有上司指揮的情況下,出現了雙方互相抱怨的情況,員工說有上司束縛太累;上司說,看我容易嗎,又得管理公司還得指導員工等。

最後專家解釋,如果想快速促成一件事,要充分做到以“人”為本,充分信任自己的員工(當然這個信任也是有條件的)。

快速響應變化 - 在Agile中,核心之一就是對快速變化的應對。想想在軟體項目中,什麼最容易變化,首當其沖的就是需求(這玩意讓多少人得了抑郁症了),如果能快速應對,快速解決,不至于到後期再因為需求等的變化而耗費太多的人力與物力了。

一文學會靈活模型在主流網際網路公司的實際應用

劃重點:

1、Agile中強調的是溝通,是以人與人的互動相當重要(要學會有效溝通哦!!)

2、Agile強調的是傳遞使用者的的階段性(或整個)産品一定是可用的,是以每個階段的産出都必須是一個讓使用者可用,可體驗的産品;且(重點),在靈活項目中,看不到如傳統開發模型中的詳細文檔,甚至在很多大廠中都不可能有多少文檔(這一點小夥伴們要适應,在靈活團隊中,找産品要詳細的需求文檔、找開發要詳細的接口文檔時,很可能會讓你失望到懷疑人生)。

Agille就了解到此。

開始“Scrum”:

在Agile的衆多實作方法中,目前最流行的當屬“Scrum”,以至于在很多公司一提靈活,預設就是指Scrum。

以下也是以Scrum為模型來詳細開展,但不以書面化的語言來空洞的講解,全部以個人的公司實踐得來的真知,大家先知道,Scrum是Agile的一個實作方式, 一種疊代增量式的開發過程。

解剖Scrum:

一文學會靈活模型在主流網際網路公司的實際應用

一般的Scrum團隊中都有這三個角色,具體扮演這三個角色的人由公司和項目來決定的。大很多公司中,并沒有專門設定Scrum Master一角,而一般是開發的Leader來承擔的。

Scrum團隊其實是包括開發、測試和産品,隻是産品的主要任務是和需求相關的。

一文學會靈活模型在主流網際網路公司的實際應用

Backlog:産品的任務清單。在需求确定後,會由整個Scrum團隊參與對需求的評審。之後,對需求進行功能的拆分,以不同的階段來做産品(一般此過程不需要測試團隊參與,但,由項目來定的)。

任務劃分完成後,形成任務清單,即,Backlog List,之後将Backlog錄入管理系統中,一般為Jira(Jira的使用詳細介紹将在其它文章中介紹)。

Backlog中可能包含:Epic、User Story、Task、Sub-task(關于這些名詞後邊會有專門的解釋)

Sprint:由于Scrum中,是分階段以完成不同的任務,産出可用的産品給使用者,是以在一個任務清單比較龐大的項目中,會對Backlog進行優先級的劃分與排序,以确定先完成哪部分功能。在确定了Backlog的優秀級之後,就可先選出一部分核心的、優先級高的Backlog先進行開發,以最快的速度傳遞使用者一個階段性産品。這些Backlog就形成了一個Sprint。一個Sprint中會包含多個Epic、User Story、Task、Sub-task

Working Software:每個階段的産品(即一個Sprint完成後)都必須是一個Working Software。

一文學會靈活模型在主流網際網路公司的實際應用

Scrum團隊中的會議那是相當多的,以上隻是通用的,重要的會議。

Backlog梳理會議:是對需求進行劃分形成Backlog及對Backlog進行優先級排序的會議,一般需要多次會議才能确定。

Sprint計劃會議:确定Sprint,及對目前Sprint中具體Backlog進行人員配置設定和任務排期的會議。該會議一般是整個Scrum團隊都參與的。在這些會議是會明确目前Sprint的意義、人員安排及任務的排期。

重點來說一下任務的排期。排期是比較耗時和麻煩的事,有時會幾次會議才能确定,排期決定了當次Sprint的開始和結束時間,決定了是否能在确定的時間可以傳遞使用者使用的産品的關鍵。

題外話:

在排期會議上是硝煙味最濃的時候,開發、測試、産品會“打”成一片的。如果沒參與過Scrum過程的童鞋不要被我吓到,可不是真刀真槍的幹的哦。因為誰都想讓自己的時間富餘一些,但項目的周期是越短越好(老闆最愛。。。)。

Daily Meeting:就是大名鼎鼎的“每日站會”。在Scrum剛流行到中國這片土地的時候,Daily Meeting可以是說是靈活的标志。如果你的團隊沒有Daily Meeting,都不好意思說在做Scrum。

重點:

1、每個工作日都進行,時間一般是早上上班團隊人員到齊後進行(也可定其它時間);

2、時長一般在10 - 15分鐘(這個需要根據團隊規模來定)

3、内容包括,昨天完成的工作;今日的工作安排;有什麼問題需要解決;

切記: Daily Meeting隻是讓相關人員都知道自己的工作狀況,此會議上不是讨論問題和解決問題的時候,有問題可以會後找相關人員讨論解決(之是以說切記,防止自己在站會上收不住嘴,因為這事幹仗也是常有的事,重壓之下,時間就是生命,不要在這個會議上浪費不相關人員的時間,有點不道德哦)。

Sprint回顧:每個Sprint完成之後,要進行複盤。主要是分析一下已完成Sprint的經驗總結;解決了哪些問題;遺留了哪些問題,有什麼風險;有哪些由于沒有完成的任務被順延的等等。

PS:關于項目排期

1、項目排期時所有的Srum團隊成員全部參與的。測試人員的排期項一般包括:用例編寫(根據實際負責的子產品來定工作量);用例評審(Scrum中一個特點,用例數量會相比傳統模型大大縮水,且一般不會太詳細的設計,評審前記得提前定會議室哦);冒煙測試;全功能測試;回歸測試(一般在回歸測試中包括了在測試過程中發現Bug、解決Bug、驗證Bug修複所需的時間);

2、在一般的項目排期時,每一個任務的工作量不超過2小時,如果工作量要超過2小時完成,則需要拆分成Sub-task保證每個任務的工作量控制在2小時内。

3、一般項目組的Srum管理工具為Jira。排期結果會錄入Jira,包括開始時間和結束時間。然後開始Sprint。每一個任務按時完成後,切記在Jira中标記結果和結束時間,否則會影響KPI的啊,大哥,可是真金白銀的哦!對于沒有能按時完成的任務,需要首先和項目負責人說明延時的原因,且在Jira中說明不能完成的原因和預計結束的時間。

日常疊代和項目疊代:

一般在項目中的黑話,小Sprint和大Sprint,對應到疊代就是日常疊代和項目疊代。

日常疊代,一般是每周都要進行的,會在每周標明的固定時間疊代。日常疊代中主要包括,線上産品的優化、開發或測試環境的搭建或優化、修複的Bug、對産品功能或使用者體驗等方面的建議。

項目疊代,項目疊代是指一個Sprint完成後的一次疊代。周期由于不同的公司和不同的項目組而異;

項目上線注意事項:

上線前,最好做最後一次快速驗證,走一遍項目的主流程,保證在測試環境中不存在問題。

上線前要全程守候,且和開發人員溝通好上線失敗的復原流程是否做好。

上線後,要快速做一次主流程的回歸測試,一般選擇冒煙測試用例即可。如果上線失敗,按之前計劃的復原流程進行復原操作。

一些名詞及解釋:

一文學會靈活模型在主流網際網路公司的實際應用

例子:

一文學會靈活模型在主流網際網路公司的實際應用
一文學會靈活模型在主流網際網路公司的實際應用

樂搏學院軟體測試技術交流群: 523227472

樂搏學院官網位址:www.17lebo.com