(中國人民大學 北京 100000)
我國居民生活水平逐漸提高,消費需求比較旺盛,超前消費意識也逐漸增強,接受新型金融產(chǎn)品的能力較強。使用消費信貸手段來緩解由于預算約束帶來的消費不足的理念日漸深入。銀行、電商平臺等各互聯(lián)網(wǎng)公司紛紛加入互聯(lián)網(wǎng)消費金融大軍,市場日益競爭激烈。如何快速且更有針對性的滿足用戶需求,快速響應環(huán)境得變化,不斷優(yōu)化迭代產(chǎn)品成為各家互聯(lián)網(wǎng)金融公司研究得重心。
1.國外研究現(xiàn)狀
在國外軟件企業(yè)中,幾乎將近一半企業(yè)已采用敏捷方法的,一些著名的公司如 Google、Microsoft、Yahoo 以及很多中小公司都已經(jīng)采用敏捷開發(fā),其中Scrum方法最為流行,而且很多公司已經(jīng)采用了很長時間。他們通常做法是先選擇幾個開發(fā)團隊來試用敏捷開發(fā)模式,然后再將開發(fā)經(jīng)驗推廣到其他的開發(fā)團隊中去。中小型軟件公司以其靈活創(chuàng)新的特點,更加適合敏捷開發(fā),許多公司都已經(jīng)把開發(fā)團隊完全轉(zhuǎn)型到敏捷開發(fā)模式下。
2.國內(nèi)研究現(xiàn)狀
敏捷開發(fā)出現(xiàn)并傳入中國已經(jīng)有是五六年年歷史了,根據(jù)云棲社區(qū)發(fā)布的《2017開發(fā)者調(diào)查報告》中有一項數(shù)據(jù):45%開發(fā)者所在的組織采用了敏捷開發(fā)方法,在各種開發(fā)方法學中位居第一。在通訊行業(yè),2005年底,諾基亞在杭州的研發(fā)中心開始試點敏捷;2018年諾西多個產(chǎn)品也開始大面積實施敏捷,同年愛立信也開始使用Scrum方法運作項目,并引入持續(xù)集成。華為公司2006年小試點后,至2010年也全面推廣使用?;ヂ?lián)網(wǎng)畢竟身處時代大潮的前沿,時刻關(guān)注海量用戶的真是反饋,每一點的轉(zhuǎn)變都有可能影響到經(jīng)濟效益,所以促使互聯(lián)網(wǎng)行業(yè)更有動力推廣敏捷。當互聯(lián)網(wǎng)行業(yè)迅猛發(fā)展時,其他行業(yè)CIO也紛紛加入敏捷大軍,比如汽車、金融、零售、教育等。
敏捷開發(fā)方法不是某一種方法論、過程或框架,而是一種價值觀和原則。這些價值觀和原則由17位軟件開發(fā)領(lǐng)域的領(lǐng)軍人物在2001年通過《敏捷宣言》傳遞給世界,也在那個時候宣告了全球敏捷開發(fā)運動的開始。敏捷宣言和價值觀如下:(1)個體與交互重于過程和工具;(2)可用的軟件重于完備的文檔;(3)客戶協(xié)作重于合同談判;(4)響應變化優(yōu)于遵循計劃。
敏捷開發(fā)目前應用比較多的主流開發(fā)方法有:(1)Scrum,Scrum講究以人為核心,是一個迭代式的增量開發(fā)過程,迭代即不斷優(yōu)化需求,增量即將整個項目進行拆分成多個子項目。Scrum包括了一系列實踐和預定義角色的過程骨架,三個角色主要是產(chǎn)品負責人、敏捷主管、開發(fā)團隊。(2)XP極限編程,XP極限編程是1996年由KentBeck提出,是一個輕量級、靈巧的軟件開發(fā)方法,其主要目的是降低需求變化的成本。XP強調(diào)開發(fā)人員與業(yè)務人員之間的緊密協(xié)作、面對面溝通,開發(fā)過程頻繁交付軟件版本,團隊建設(shè)緊湊而自我組織型,能夠更好的適應需求變化。極限編程規(guī)定了一些實踐和簡單規(guī)則,包括:編寫用戶故事、架構(gòu)規(guī)范、迭代計劃、代碼開發(fā)、單元測試、驗收測試等。(3)精益軟件開發(fā),精益思想來源于豐田公司的軟件開發(fā)方法。和其他敏捷方法相比,精益軟件開發(fā)更重要的是不斷完善開發(fā)過程,因此,將精益模式與其他敏捷開發(fā)模式一起使用將會取到比較好的效果。
A公司是一家專注于智能產(chǎn)品自主研發(fā)的移動互聯(lián)網(wǎng)公司。2015年開展互聯(lián)網(wǎng)金融業(yè)務成立金服事業(yè)部,面向個人提供金融服務,包括但不限于:投資理財、貸款、證券、保險等?!癤X貸款”是其邁向個人消費金融的開端,也是打造“從行為到金融”新型征信模式的關(guān)鍵一步。
選擇A公司作為研究對象公司得原因有如下幾點:
1.A公司是金融事業(yè)部專注互聯(lián)網(wǎng)消費金融的發(fā)展,近幾年風口浪尖的一個業(yè)務就數(shù)互聯(lián)網(wǎng)金融了,16和17年發(fā)展迅猛,暴漏出很多問題。18年監(jiān)管收緊、經(jīng)濟形式下滑,導致業(yè)務出現(xiàn)縮水。如此大起大落的環(huán)境變化,對軟件開發(fā)的響應能力要求更高。
2.恰逢A公司也在逐步拓展更加適合互聯(lián)網(wǎng)金融公司發(fā)展的新的技術(shù)和軟件開發(fā)管理路線。
3.公司現(xiàn)有軟件開發(fā)方法中也暴露出了很多問題,比如軟件質(zhì)量問題、進度問題、團隊建設(shè)問題等。
如果將敏捷開發(fā)方法應用在A公司互聯(lián)網(wǎng)金融項目中,會不會解決公司目前的問題。本文作者開始了互聯(lián)網(wǎng)消費金融項目中敏捷開發(fā)的實施研究,基于敏捷方法之一的Scrum方法進行研究。
數(shù)據(jù)收集是案例研究方法非常重要的內(nèi)容,做好數(shù)據(jù)收集工作可以為后面的研究提供有力的支持。數(shù)據(jù)收集第一階段主要是查找與我研究相關(guān)的文獻資料,包括單不限于知網(wǎng)別人研究的內(nèi)容,相關(guān)的理論課程。文獻查找主要在于本文研究內(nèi)容相關(guān)的項目管理、敏捷開發(fā)和互聯(lián)網(wǎng)金融三個領(lǐng)域。第二階段主要是基于現(xiàn)在公司中項目管理的材料收集。包括但不局限于公司組織架構(gòu)、項目管理文檔、歷史項目管理文檔。第三階段直接參與項目中,通過實踐方式收集資料。
通過數(shù)據(jù)收集進行整理分析,發(fā)現(xiàn)公司內(nèi)比較突出的問題有以下幾點:
1.組織架構(gòu)復雜,導致流程比較長,比如產(chǎn)品部門和研發(fā)部門分開,就會導致兩個部門人員之間不夠團結(jié),產(chǎn)品提了需求研發(fā)虛報工作量等。
2.公司內(nèi)開發(fā)流程繁瑣,從研發(fā)到測試到上線驗證,跨部門垮機構(gòu),需要很長時間。
3.項目進度管理不受控,項目延期情況頻繁發(fā)生,大約有90%的項目沒有按照評審計劃的時間點上線。
4.項目質(zhì)量管理不當,頻繁出現(xiàn)問題,導致上線后的產(chǎn)品Bug多,嚴重影響用戶的體驗,時間久了用戶就會不斷的流失。
經(jīng)過分析A公司金融部門現(xiàn)在內(nèi)憂外患,內(nèi)有項目管理中存在的諸多問題,外有競爭對手的壓力。因此,A公司金融部門目前急需一套可靠的軟件開發(fā)流程,本論文作者在此引入Scrum敏捷開發(fā)管理方法,根據(jù)Scrum開發(fā)模型結(jié)合A公司金融部門的實際情況形成一套個性化的Scrum流程,將很有效的解決了以上一系列問題,具體的改進方案將在第四章中詳細介紹。
根據(jù)第三章對A公司項目管理中存在問題的提出和分析,通過改善其組織架構(gòu),使其更加適合敏捷開發(fā)。應用Scrum敏捷方法對A公司金融部門建立一個自組織、跨職能、靈活的敏捷團隊。團隊中定義了三個角色,分別是產(chǎn)品負責人、Scrum主管、開發(fā)團隊。Scrum教程里倡導的Scrum團隊的理想人數(shù)是7人,即1個Product Owner和1個Scrum Master,開發(fā)團隊應有5人,三個開發(fā)人員,兩個測試人員。
前面章節(jié)分析了A公司項目管理流程中出現(xiàn)的問題,為了解決這些問題引入敏捷開發(fā)方法,在本章節(jié)中,主要應用敏捷開發(fā)方法中最常用的Scrum開發(fā)方法對公司的管理流程進行優(yōu)化,形成基于A公司的Scrum模型。
Scrum開發(fā)全生命周期工作流程,如圖1:
圖1 Scrum工作流
首先,需要確定一個目標,所有團隊成員,包括產(chǎn)品負責人、敏捷主管、開發(fā)團隊一起確定。目標確定后,產(chǎn)品負責人(Product Owner)會維護一個文檔即Product Backlog,產(chǎn)品負責人維護好Product Backlog,并且將Backlog 按照需求優(yōu)先級進行排序。每次計劃會議時根據(jù)優(yōu)先級順序挑選優(yōu)先級高的需求,然后把需求拆分成一個個的開發(fā)周期即一個Sprint。每一個Sprint開始的時候,需要進行一個Sprint計劃會。Sprint計劃會需要全部成員參加,通過Backlog從優(yōu)先級最高的需求開始進行闡述。然后將Backlog 拆分成更細粒度的任務,每個成員在每日站會中領(lǐng)任務并完成。為了讓大家對整個項目有個全局觀,每日站會時,大家圍在白板前明確項目進度和任務完成情況。團隊人員可以在這個會議上了解整個迭代的進展情況,然后Sprint結(jié)束后團隊開一個Sprint評審會大家一起交流本次Sprint中哪做得好哪做的不好。最后敏捷主管再開一次回顧會。整個過程都由敏捷主管組織和把控,這樣每一個團隊人員都清楚項目的目標、項目整體進展等情況。
Scrum敏捷開發(fā)四個會議分別指,Sprint計劃會議、Sprint評審會議、每日站會、Sprint回顧會議。
1.Sprint計劃會議
在Scrum中,Sprint計劃會需要參會的人員包括開發(fā)團隊、敏捷主管、產(chǎn)品負責人,產(chǎn)品負責人向開發(fā)團隊介紹排好序的產(chǎn)品待辦事項,由整個Scrum團隊共同理解溝通這些工作。根據(jù)優(yōu)先級選擇本次Sprint需要做的產(chǎn)品事項。Sprint中需要完成的事項數(shù)目完全由開發(fā)團隊決定。每天做多少工作也由開發(fā)團隊成員決定,產(chǎn)品負責人或任何其它人都不能給開發(fā)團隊強加更多的工作量。
2.每日站會
開發(fā)團隊是自組織的,通過每日站會來確認他們可以實現(xiàn)Sprint的目標。站會顧名思義就是站著開會,團隊成員圍城一個圈,每一個開發(fā)團隊成員需要提供以下三點信息:(1)我完成了什么?(2)我計劃完成什么?(3)有什么阻礙了進展。每日站會時間一般情況下不超過15分鐘,每日站會中可能有簡要的問題說明和回答,但是不應該有任何話題的討論。會上敏捷主管需要修改燃盡圖,對迭代的任務進展情況進行跟蹤,并根據(jù)實際情況對迭代計劃進行細微調(diào)整。
3.Sprint評審會議
Sprint結(jié)束時,Scrum團隊和相關(guān)人員一起評審Sprint的產(chǎn)出。所有Scrum會議都是限定時長的,Sprint評審會議的推薦時長是Sprint中的每一周對應一個小時。團隊每個人都可以在Sprint評審會議上發(fā)表意見。產(chǎn)品負責人會對未來做出最終的決定,并適當?shù)卣{(diào)整產(chǎn)品待辦事項列表。通常都會在Sprint評審會議中調(diào)整產(chǎn)品待辦事項列表,Sprint評審會議向團隊中每個人展示了當前產(chǎn)品增量的情況。
4.Sprint回顧會議
在每個Sprint結(jié)束后,Scrum團隊會聚在一起開Sprint回顧會議,目的是回顧一下Sprint過程中,團隊在流程、人以及工具方面有沒有什么問題,做的如何,需要團隊成員全部參加。團隊識別出哪些做得好,哪些做得不好,并找出改進事項,為將來的改進制定計劃。Sprint回顧會議的推薦時長也是兩小時。
工欲善其事必先利其器,敏捷開發(fā)方法的持續(xù)交付,在一定程度上導致了交付的碎片化,這樣就需要引入好的管理工具。
下面逐一介紹下使用到的工具
1.JIRA:敏捷管理神器
JIRA被廣泛應用于敏捷管理中,完美支持了Scrum和看板方法,易用性、靈活性、擴展性都得到業(yè)界的廣泛認可。JIRA配置靈活、功能全面、部署簡單、擴展豐富等,徹底貫徹了敏捷開發(fā)方法所倡導的去中心化、靈活、透明、集體討論、信息共享等原則。
2.文檔管理工具
敏捷并不是說不需要文檔,它認為文檔應該少且精煉,不需要冗余的文檔。文檔也是作為細化部分,在每個迭代過程中不斷重構(gòu)。文檔是用來準確傳遞信息,幫助理解事物,沉淀知識。Wiki是一種在網(wǎng)絡(luò)上開放且可供多人協(xié)同編輯的超文本系統(tǒng),Wiki站點可以有多人維護,每個人都可以發(fā)表自己的意見,或者對共同的主題進行擴展或者探討。wiki對于團隊成員的學習和技能的提升有著非常重要的作用,它可以幫助公司和團隊不斷積累業(yè)務和技術(shù)知識。
通過聯(lián)合貸項目驗證A公司Scrum開發(fā)模型,有如下幾點變化:
1.響應變化的速度變快,當市場有變化需要調(diào)整時,及時響應,最重要的總是排在最優(yōu)做。
2.可持續(xù)向用戶交付有價值軟件產(chǎn)品,不停的通過每次迭代和升級,進行產(chǎn)品的優(yōu)化和提升,用戶借款體驗越來越好,投訴數(shù)量減少。
3.團隊更透明,產(chǎn)品和研發(fā)之間已經(jīng)沒有明顯得隔閡,也不會出現(xiàn)產(chǎn)品與研發(fā)的撕戰(zhàn),大家都是為了一個目標,團隊內(nèi)成員不僅可以了解自己的項目也可以了解其他成員的工作。
4.軟件成本降低,Scrum敏捷開發(fā)方法帶來的價值就是允許產(chǎn)品快速試錯,即使錯了,浪費的最多也是一個迭代的資源,而不像傳統(tǒng)瀑布開發(fā)方法,浪費的可能是好幾個月的資源。
5.投資回報率提高,成本降低,開發(fā)模式高效,回報率自然就會提高了。
最后,Scrum敏捷開發(fā)方法不能杜絕問題,只是幫助團隊減少出現(xiàn)問題的概率,敏捷開發(fā)方法的核心是人,是團隊的敏捷意識和對工作的責任感。敏捷開發(fā)方法不是萬能的,不能解決掉所有的問題。Scrum敏捷開發(fā)方法只是解決辦法之一。