在公司所從事的工作并不會(huì)使我對(duì)軟件開發(fā)風(fēng)險(xiǎn)這個(gè)概念有什么很深的感受,但經(jīng)常在游走在各大技術(shù)網(wǎng)站,看了很多關(guān)于軟件工程方面的書,風(fēng)險(xiǎn)管理卻是被經(jīng)常提起的一個(gè)重要概念。今天看了一篇文章,也說一下風(fēng)險(xiǎn)管理相關(guān)的話題。
1.不隨意預(yù)測未知的需求而忽視當(dāng)前的任務(wù)。
軟件開發(fā)從需求獲取分析到最后的向客戶交付,滿足實(shí)際的要求。往往是比較復(fù)雜的一個(gè)過程,經(jīng)常因?yàn)榭蛻粜枨蟮淖兏鸾Y(jié)構(gòu)或者框架的改動(dòng),軟件開發(fā)不同于一般的工程,有時(shí)候卻是牽一發(fā)而動(dòng)全身的情況。所以作為程序員或者是項(xiàng)目的領(lǐng)導(dǎo),不能自以為是或者想當(dāng)然自己實(shí)現(xiàn)的功能能正好滿足客戶的要求,因?yàn)榭蛻羲皇菍I(yè)人員,不可能對(duì)他想要的描述的和軟件邏輯上完全一樣,變更時(shí)家常便飯,我們能夠獲知的,只能是目前用戶提出的各項(xiàng)要求,我們無法猜測下一次會(huì)是什么,這個(gè)不是做規(guī)劃或者計(jì)劃就能做好的。無端的抱怨和猜測都解決不了問題。甚至更不可能去提前預(yù)測實(shí)現(xiàn)客戶將來可能的要求,這樣往往導(dǎo)致走很大的彎路,嚴(yán)重的情況導(dǎo)致項(xiàng)目整體失敗。最現(xiàn)實(shí)的做法就是先用最直接的辦法,實(shí)現(xiàn)已明確的需求。保持盡量的簡單。
2.項(xiàng)目領(lǐng)導(dǎo)者的關(guān)鍵
做項(xiàng)目往往要在開始時(shí)進(jìn)行人員的配置和安排。項(xiàng)目執(zhí)行中更需要合理安排人員解決合適的問題。當(dāng)領(lǐng)導(dǎo)者缺少調(diào)查,直接將任務(wù)派給一個(gè)組內(nèi)成員時(shí),這種做法往往是非常危險(xiǎn)的,特別是在一個(gè)缺少及時(shí)溝通協(xié)調(diào)的組織內(nèi)部。任務(wù)依賴關(guān)系越復(fù)雜,項(xiàng)目的成功率就越低。往往一個(gè)任務(wù)的解決不只是一個(gè)人員的問題。假設(shè)一名成員要完成一項(xiàng)任務(wù),而他不能一個(gè)人在規(guī)定的時(shí)間內(nèi)完成,需要2員工的幫助,而2員工對(duì)于這個(gè)任務(wù)首先要咨詢3員工,因?yàn)橛行╆P(guān)鍵涉及到其他模塊,3員工認(rèn)為這個(gè)模塊要改動(dòng)會(huì)涉及結(jié)構(gòu)方面的問題,最好先找個(gè)專家之類的咨詢一下。因?yàn)槟K方面的改動(dòng)并不是很要緊,所以3員工也沒有過多的關(guān)注,還是做自己的事情,過了好些天,那名最開始的員工還是沒開始動(dòng)手。組織內(nèi)的依賴關(guān)系比較復(fù)雜,缺少積極及時(shí)的溝通。到最后發(fā)現(xiàn)事情拖了很長時(shí)間。項(xiàng)目領(lǐng)導(dǎo)者才發(fā)現(xiàn)這個(gè)任務(wù)牽扯太多。發(fā)覺自己之前沒有做夠調(diào)查工作。
3.無時(shí)不在隨機(jī)性風(fēng)險(xiǎn)
世事難料。在制定項(xiàng)目計(jì)劃的時(shí)候,一定不能只做樂觀的估計(jì)。更不能天真相信一切都會(huì)順利。必須思考各種可能的風(fēng)險(xiǎn),并且為這些風(fēng)險(xiǎn)留出合理的時(shí)間和后背資源。發(fā)現(xiàn)一種方案行不通時(shí),一定要盡快另謀出路。程序員往往會(huì)高估自己的能力與效率,當(dāng)我們?cè)陧?xiàng)目前期時(shí),往往覺得不需要很多空余的時(shí)間,項(xiàng)目的過程應(yīng)該不會(huì)碰到什么大的問題,但當(dāng)我們自己經(jīng)歷時(shí)卻遇到了難題。作為領(lǐng)導(dǎo)者我們應(yīng)該經(jīng)常樹立一種風(fēng)險(xiǎn)意識(shí),以最大的可行性標(biāo)準(zhǔn)來安排規(guī)劃時(shí)間。
說風(fēng)險(xiǎn)管理,最重要的一點(diǎn),我覺得不是經(jīng)常性去看相關(guān)的書籍,怎樣來根據(jù)書上的方法來保證項(xiàng)目的風(fēng)險(xiǎn)減低。最重要的首先要樹立足夠的風(fēng)險(xiǎn)意識(shí)。這個(gè)意識(shí)不是簡單的去了解大概有什么問題會(huì)遇到,有多少難度。然后想方法去避免它。作為領(lǐng)導(dǎo)者,首先要有大局觀,能夠常常關(guān)注全局的風(fēng)險(xiǎn),而不是局限于自己的思維定式,或者說經(jīng)常站在不同的立場,角度思考問題,始終理性的思考和判斷,不受一時(shí)一事的影響。最簡單方法是:將這種意識(shí)經(jīng)常實(shí)踐,養(yǎng)成良好的習(xí)慣,經(jīng)常自我反省,嚴(yán)格要求,以便更好的改進(jìn)管理方法,提高管理水平。有時(shí)候小小的一部操作可能會(huì)導(dǎo)致全盤崩潰。所以始終記得去防范風(fēng)險(xiǎn),這個(gè)是比較困難的,要逐步努力和實(shí)踐。
作為普通程序員,我們經(jīng)常想的是能不能做點(diǎn)技術(shù)難度很高的項(xiàng)目,這樣自己就能學(xué)的多一點(diǎn),我也經(jīng)常這樣去思考。當(dāng)然這并不錯(cuò)誤。程序員作為技術(shù)人員往往把重點(diǎn)放在自身技術(shù)水平上,某種程度上會(huì)導(dǎo)致視野狹
隘。作為技術(shù)人員,我們經(jīng)常閱讀技術(shù)書籍文章,了解軟件工程的方方面面,【敏捷,XP,遞增開發(fā),某某模型,驅(qū)動(dòng)測試開發(fā),風(fēng)險(xiǎn)預(yù)測管理】等等。但我們經(jīng)常缺少去深入的實(shí)踐和分析。只是知道有這么一個(gè)概念,至于有多重要就沒有好好思考過。當(dāng)然很多程序員還輪不到去思考管理過程這些事情。畢竟很多程序員還是基礎(chǔ)程序員,這是現(xiàn)實(shí)。但如果你準(zhǔn)備將來從事這個(gè)行業(yè)并在實(shí)踐中有所發(fā)展,我覺得就應(yīng)該隨時(shí)學(xué)習(xí)和實(shí)踐,認(rèn)真的去嘗試和分析。不是看了書就好了。古人常說,學(xué)而不思則罔。我們要經(jīng)常的思考遇到的問題和概念。并從多個(gè)角度來看待問題。最重要的是實(shí)踐,積極的實(shí)踐,所謂紙上得來終覺淺,絕知此事要躬行。就是這個(gè)道理,實(shí)踐是艱辛的,但只要你的夢(mèng)在那邊,那就堅(jiān)持下去吧。