這位市場經(jīng)理不熟,但我還是拿出了令他信服的項目組迭代速度。以此證明,在6天的時間里,我們?nèi)匀徊豢赡芡瓿墒O碌乃械男枨蟆=?jīng)過進一步的溝通,最終我們確定了最緊迫的兩個需求:“網(wǎng)上查號及選號”和“網(wǎng)上開機”。只要這兩個需求能夠在6天內(nèi)被交付,那么,此業(yè)務(wù)就能夠順利地在9月1日上線。雖然結(jié)果可能并不那么吸引人,但這樣仍然完成了市場經(jīng)理及其上司的心理底線。所有剩下的需求都將作為較遠(yuǎn)期的迭代目標(biāo),項目組僅僅給與較模糊的考慮和認(rèn)識即可。最后,我們把這兩個需求分解為可度量的功能點,并又一次去掉了幾個瑣碎的,難以實現(xiàn)的,并且對交付成果沒有太大意義的功能點。除此之外,我們還商定了驗收測試用例,并以文字形式保存下來。
在接下來的6天里,我們按照以往的速度平穩(wěn)推進,并成功地在9月1日完成這次迭代,該無線運營商也搶在了其他運營商前面占領(lǐng)了市場先機。項目組備受鼓舞。
除了敏捷需求的獲取之外,我想再說明一下對于敏捷需求的管理。我們在網(wǎng)上營業(yè)廳項目中,采用了輕量級的項目管理工具Redmine作為需求管理工具。雖然Redmine不是專業(yè)的需求管理工具,但經(jīng)過我們的實踐,把它用在敏捷需求的管理上特別合適。
Redmine以“問題”作為管理的基本單元,在敏捷需求管理的意義上,就是一個可度量的“功能點”。功能點具有發(fā)起人、緊急程度、狀態(tài)、指派給、相關(guān)問題、開始日期、結(jié)束日期、預(yù)計工時、跟蹤者和描述等屬性。通過把從需求中分解出來的功能點記錄下來,就可以對所有的需求問題進行結(jié)構(gòu)化的管理。這樣一來,開發(fā)人員面對的就不是以往那種文檔化的功能點,而是可追溯的,易跟蹤的以及結(jié)構(gòu)化的功能點。這對于軟件開發(fā)的組織和管理有著舉足輕重的意義。
通過Redmine對于需求的管理,我們還獲得了很多額外的好處。其中最重要的一項就是,開發(fā)人員每天對于所參與的功能點的“耗時登記”。這些數(shù)據(jù)提供了項目組的可以量化的迭代速度。這個可量化的速度對于以后的需求獲取和功能點的分解有著很強的說服力。
通過以上的論述,說明了敏捷需求管理對于網(wǎng)上營業(yè)廳項目的重要意義。雖然項目的進展十分順利,但需求過程當(dāng)中仍然存在一些缺陷值得思考。其中一個就是對于需求的自動化驗收腳本的使用。由于項目的復(fù)雜性和特殊性,自動化驗收仍然面臨著眾多障礙。這其中包括對于驗證碼圖片的識別、頁面文字的正確性、統(tǒng)一計費環(huán)境的本地模擬等等。因此,網(wǎng)上營業(yè)廳項目的驗收測試在很大程度上仍然依賴于人工。好在無線運營商擁有龐大的客服體系,使得此問題并沒有阻礙項目的進度。另外有一點遺憾就是在Redmine中,無法對功能點打包。也就是說,它不能夠以“用戶卡片”或“用例”來組織功能點。不過Redmine是一個開源的工具,我們將在以后的項目當(dāng)中,結(jié)合自己的實踐,嘗試對其進行改進,使其更加適合敏捷需求的管理。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html