1. 敏捷及敏捷軟件開發(fā)
20世紀(jì)90年代中期,起源于瀑布模型的軟件開發(fā)過程被認(rèn)為是緩慢、低效和官僚主義的,有悖于快速高效的工作。作為回應(yīng),各種敏捷軟件開發(fā)方法學(xué)適時(shí)提出。敏捷軟件開發(fā)是以人為本,自適應(yīng)性,通過溝通、協(xié)作等方式進(jìn)行迭代,循序漸進(jìn)的軟件開發(fā)方法。
每一次迭代通過一個(gè)完整的軟件開發(fā)周期,包括規(guī)劃、需求分析、設(shè)計(jì)、編碼、單元測(cè)試和驗(yàn)收測(cè)試,把一個(gè)可運(yùn)行的工作產(chǎn)品展示給利益相關(guān)者。這有助于降低整體風(fēng)險(xiǎn),并快速適應(yīng)和調(diào)整內(nèi)外環(huán)境的變化。
2. 項(xiàng)目風(fēng)險(xiǎn)管理
項(xiàng)目的風(fēng)險(xiǎn)來源于不確定性。一個(gè)典型的項(xiàng)目風(fēng)險(xiǎn)管理包括風(fēng)險(xiǎn)規(guī)劃、風(fēng)險(xiǎn)評(píng)估、風(fēng)險(xiǎn)應(yīng)對(duì)和風(fēng)險(xiǎn)監(jiān)控四個(gè)過程,其中風(fēng)險(xiǎn)評(píng)估又包括風(fēng)險(xiǎn)識(shí)別和風(fēng)險(xiǎn)分析。風(fēng)險(xiǎn)規(guī)劃從戰(zhàn)略角度確定了風(fēng)險(xiǎn)管理的過程以及實(shí)施方案。
風(fēng)險(xiǎn)評(píng)估是利用事件發(fā)生的概率及結(jié)果來識(shí)別、分析、量化項(xiàng)目中的風(fēng)險(xiǎn)。風(fēng)險(xiǎn)應(yīng)對(duì)是以降低風(fēng)險(xiǎn)至理想程度為目標(biāo)的計(jì)劃和執(zhí)行過程。風(fēng)險(xiǎn)監(jiān)控是系統(tǒng)化的風(fēng)險(xiǎn)追蹤過程。
3. 敏捷軟件開發(fā)的風(fēng)險(xiǎn)管理
敏捷軟件開發(fā)風(fēng)險(xiǎn)管理的思路是:首先分析敏捷軟件開發(fā)的特點(diǎn),然后結(jié)合風(fēng)險(xiǎn)管理過程進(jìn)行管理。敏捷軟件開發(fā)通過其執(zhí)行結(jié)構(gòu)規(guī)避和減輕了常見的軟件開發(fā)風(fēng)險(xiǎn),但這也引進(jìn)了開發(fā)過程的不確定,因此也蘊(yùn)含了大量的風(fēng)險(xiǎn)。
1)敏捷軟件開發(fā)的風(fēng)險(xiǎn)分類
軟件開發(fā)可分為人、過程、產(chǎn)品和技術(shù)四個(gè)緯度,它們互相聯(lián)系和統(tǒng)一,共同決定了軟件開發(fā)的速度和效率。以下是敏捷軟件開發(fā)中這四個(gè)緯度上的主要風(fēng)險(xiǎn)來源。
(1)人員風(fēng)險(xiǎn)。人員風(fēng)險(xiǎn)有溝通不暢,缺乏協(xié)作,人員變動(dòng),素質(zhì)低下,矛盾和沖突,缺乏激勵(lì),士氣低下,對(duì)業(yè)務(wù)不理解,缺乏優(yōu)秀人才,缺乏客戶介入等。
(2)技術(shù)風(fēng)險(xiǎn)。技術(shù)風(fēng)險(xiǎn)有偽敏捷,架構(gòu)體系不穩(wěn)定,設(shè)計(jì)不佳,缺乏技能,高估新技術(shù)等。
(3)產(chǎn)品風(fēng)險(xiǎn)。產(chǎn)品風(fēng)險(xiǎn)有功能不符,需求鍍金,功能蔓延,質(zhì)量低下,工期延誤,成本超支,客戶滿意度低,低產(chǎn)品價(jià)值,低投資回報(bào)等。
(4)過程風(fēng)險(xiǎn)。過程風(fēng)險(xiǎn)有缺乏計(jì)劃,迭代掌握不佳,評(píng)估和規(guī)劃不合理,缺乏風(fēng)險(xiǎn)管理,缺乏質(zhì)量保證措施等。
2)敏捷軟件開發(fā)的風(fēng)險(xiǎn)處理
以下是敏捷軟件開發(fā)從人、過程、產(chǎn)品和技術(shù)四個(gè)緯度進(jìn)行的風(fēng)險(xiǎn)處理過程。
(1)人員風(fēng)險(xiǎn)。敏捷軟件開發(fā)通過頻繁溝通、每日站立會(huì)議、反饋等方式解決了溝通不暢,缺乏協(xié)作的問題;通過領(lǐng)導(dǎo)、結(jié)對(duì)編程、代碼集體所有權(quán)等方式促進(jìn)團(tuán)隊(duì)協(xié)作,提高技能素質(zhì),應(yīng)對(duì)人員變動(dòng),降低矛盾和沖突;
通過頻繁的產(chǎn)品發(fā)布提高人員成就感和士氣;通過現(xiàn)場(chǎng)客戶,降低缺乏客戶介入的風(fēng)險(xiǎn)。
(2)技術(shù)風(fēng)險(xiǎn)。敏捷軟件開發(fā)通過迭代、測(cè)試套件、重構(gòu)等方式適應(yīng)變化和演進(jìn),避免了傳統(tǒng)的開發(fā)方法在一開始就進(jìn)行架構(gòu)及設(shè)計(jì),從而導(dǎo)致架構(gòu)體系不穩(wěn)定和設(shè)計(jì)不佳的風(fēng)險(xiǎn)。對(duì)于敏捷技能險(xiǎn),可以通過引入敏捷教練、結(jié)對(duì)編程、學(xué)習(xí)環(huán)的方式加以應(yīng)對(duì)。
而對(duì)于非敏捷軟件開發(fā)所特有的普適性技術(shù)風(fēng)險(xiǎn),可以通過組織和加強(qiáng)內(nèi)部技術(shù)人員的培訓(xùn)和培養(yǎng),引進(jìn)能解決項(xiàng)目關(guān)鍵問題的優(yōu)秀人才,防止優(yōu)秀人才的流失等方式進(jìn)行規(guī)避。
(3)產(chǎn)品風(fēng)險(xiǎn)。敏捷軟件開發(fā)通過迭代、反饋、客戶參與的方式解決了構(gòu)建錯(cuò)誤產(chǎn)品、功能蔓延、需求鍍金、質(zhì)量低下、客戶滿意度低等風(fēng)險(xiǎn)??梢酝ㄟ^綜合考慮功能價(jià)值和風(fēng)險(xiǎn),按照高風(fēng)險(xiǎn)高價(jià)值→低風(fēng)險(xiǎn)高價(jià)值→低風(fēng)險(xiǎn)低價(jià)值→高風(fēng)險(xiǎn)低價(jià)值的順序開發(fā)產(chǎn)品功能,漸次降低產(chǎn)品的價(jià)值風(fēng)險(xiǎn);通過對(duì)凈現(xiàn)值、內(nèi)部收益率、回收期、貼現(xiàn)回收期等經(jīng)濟(jì)指標(biāo)的綜合分析,規(guī)避項(xiàng)目的投資回報(bào)風(fēng)險(xiǎn)。
3.2 監(jiān)控系統(tǒng)硬件電路的設(shè)計(jì)實(shí)現(xiàn)
(1) 電源電路設(shè)計(jì)
T M S 3 2 0 F 2 8 1 2 供電電源分為兩種, 即內(nèi)核電源1 . 8 V(1.9V@150MHz)和I