• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            CppExplore

            一切像霧像雨又像風

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              29 隨筆 :: 0 文章 :: 280 評論 :: 0 Trackbacks

            作者:CppExplore 網(wǎng)址:http://www.shnenglu.com/CppExplore/
            一 項目管理流程
            1 項目定義
            在有限的時間、有限的人力、有限的資源內(nèi),完成即定的功能,并保證項目的質(zhì)量。
            項目具有時效性/資源受限,功能邊界明確等特點。
            項目失敗,并不僅僅是指項目的功能沒有完成。超時/超支都算做項目失敗。
            2 項目管理目標
            可重復:項目的成功性可復制。一個項目成功,另一個項目也可以成功。成功不是偶然性。
            可管理:項目本身可管理,成功過程可控。
            3 項目生命周期
            項目具有固有的生命周期規(guī)律,項目管理需要遵循該規(guī)律,不要過分重視產(chǎn)出(壓縮時間),否則影響長期的穩(wěn)定的產(chǎn)出(同樣體現(xiàn)項目管理的可重復、可管理)。
            項目生命周期分:需求意向 需求階段 開發(fā)階段 測試階段 維護階段。下圖給出一個模擬示例:
            其中需求結(jié)束、開發(fā)結(jié)束、版本正式發(fā)布(測試結(jié)束)均為里程碑。
            4 參與項目的角色
            參與項目的主要角色有:項目管理人員/需求人員/研發(fā)人員/測試人員/配置人員/實施人員。他們分階段進入項目,分階段離開項目。下圖為人力投入示例: 其中需求來源發(fā)生在立項之前,不予考慮,另產(chǎn)品人員需要參加需求文檔review,屬項目外,不考慮。
            項目管理人員需要全程跟蹤項目,尤其是立項點、需求文檔review、需求結(jié)束、設計文檔review、設計結(jié)束、測試期間以后進入維護期后。
            需求人員除需求階段,還需要參與設計文檔review、測試文檔review。
            開發(fā)人員除開發(fā)階段,還需要參與需求文檔review,以及測試期間bug修復、維護期保留部分人力。
            測試人員除開發(fā)階段,還需要參與需求文檔review。
            二 項目階段
            1 立項
            立項初期,更多的是資源申請、人力安排計劃等。盡量減少以后的溝通成本,比如確定項目編號、階段編號、功能編號、模塊名(如果能夠確定)、各模板版本號格式、系統(tǒng)部署的軟硬件平臺等。
            2 需求階段
            該階段是項目最重要的階段,代表了項目的使命。該階段的產(chǎn)出需求文檔則是項目最重要最核心的一片文檔,是設計文檔、測試用例以及后期維護的依據(jù)。
            需求文檔的用語應該是明確的、無歧義的。比如 “包含...但不限于這些...”、“這些功能請研發(fā)人員靈活掌握”“請參考某某網(wǎng)站/請參照某某項目的樣子”都屬于不合格的用語。
            需求文檔整體內(nèi)容應該是封閉的,不依賴于任何未知的內(nèi)容,引用的外部文檔需要嵌在需求文檔中,或者給出文檔號,可以在團隊的文檔庫中查詢到。為更好的理解需求文檔的封閉性,舉例說明,比如要實現(xiàn)sip棧, 需求文檔應該給出sip協(xié)議的介紹以及做到什么程度,研發(fā)不需要自己去看rfc文檔, 只需要參照需求文檔去開發(fā)即可。另任何業(yè)務的知識盲點, 需求人員都要給開發(fā)人員解決,開發(fā)人員在任何時候(需求文檔review中或者設計文檔中或者開發(fā)中)發(fā)現(xiàn)業(yè)務知識盲點,都可以反饋給需求人員,要求給予支持或解決。
            需求文檔需要明確定義系統(tǒng)的功能邊界、系統(tǒng)的網(wǎng)元劃分、各個網(wǎng)元的外部特性。這里給出一個大體的提綱:要實現(xiàn)的功能點、網(wǎng)元劃分以及最后的部署方式、每個網(wǎng)元的功能點、復雜網(wǎng)元的內(nèi)部模塊圖建議(可選)、網(wǎng)元間通訊接口、各網(wǎng)元間的交互時序圖、各個網(wǎng)元如何和其他網(wǎng)元交互完成前面的功能點。
            其中各網(wǎng)元的交互時序圖需要能涵蓋網(wǎng)元間所有的交互,簡單的重復的交互也可用文字描述補充;網(wǎng)元間的通訊接口是明確的,每個命令中的字段名、類型、取值范圍都需要明確。
            其他方面,比如性能要求、其他非功能性要求等,如果外部需求方有明確要求,可寫入文檔,否則可象征性寫一個一定可以滿足的值或者省略這部分(性能本身依賴于團隊的積累)。
            在需求文檔review階段,產(chǎn)品人員可以審核考量是否已經(jīng)滿足了預期的功能;開發(fā)人員可以審核考量是否已經(jīng)明確了自己負責的模塊特性,是否不再需要和其他模塊的開發(fā)人員溝通確認某些接口上的問題;測試人員審核考量是否可以依據(jù)此寫出測試用例,不需要再向開發(fā)人員確認。

            最后需求文檔defect入庫、文檔本身入庫。
            3 開發(fā)階段
            開發(fā)階段可以細分為設計文檔階段、編碼階段、測試階段。其中重要的是前期設計和后期的測試階段。
             設計文檔中,開發(fā)人員要從各個角度向別人展示自己的系統(tǒng),包括部署圖(在網(wǎng)絡中的位置)、模塊圖、數(shù)據(jù)流向圖、靜態(tài)類圖、交互圖、狀態(tài)圖 關(guān)鍵數(shù)據(jù)結(jié)構(gòu)等,最終需要能體現(xiàn)需求文檔要求的功能。
            研發(fā)測試階段請參見測試系列之 c++ server測試全攻略其中白盒測試、內(nèi)存測試、壓力測試必做,同時陪測程序需要和源碼一并提交在版本管理工具中。完善的log信息和必要的陪測工具是系統(tǒng)質(zhì)量的保障。
            開發(fā)階段結(jié)束后,源碼/二進制包上傳、代碼行統(tǒng)計、各種文檔入庫、defect入庫。
            4 測試階段
            測試人員的測試用例、結(jié)果必須文檔化。專項測試需要包含以下部分:測試目的、測試方法、測試環(huán)境、附測試腳本、測試結(jié)果。
            測試人員不僅需要測試系統(tǒng),在實施和維護期間更要回答現(xiàn)場人員的咨詢。
            測試結(jié)束,各種文檔入庫、defect入庫,用戶文檔產(chǎn)生、版本打標記或者打基線,作為以后開發(fā)的基礎(chǔ)。
            5 實施階段
            版本正式發(fā)布,基本標志項目結(jié)束。實施人員將作為以后現(xiàn)場支持的Level1級,測試人員為Level2級,研發(fā)人員為Level3級,屬于未實現(xiàn)的功能,轉(zhuǎn)需求人員。

            說下bug數(shù)量,一般c/c++代碼每千行16-20個bug左右,研發(fā)和測試階段按一定比例劃分。bug過少,從某個角度可以看作測試力度不夠,過多可以看作代碼質(zhì)量較差。任何時候,bug數(shù)量都不應當作為績效考核的標準。
            以上階段中最重要的是需求階段,其次是研發(fā)階段的測試。
            三 追求更好的項目管理流程
            從某種程度上說,項目管理是一個團隊的習慣。
            一個好的項目管理習慣,可以讓一個團隊的運作如行云流水,又如微風拂面。團隊成員各司其責,既是在工作 又何嘗不是一種享受。整個項目管理,就象... (就象...最近裝修,團購網(wǎng)上的標語:就象)喝茶那樣輕松。即便是這個團隊從公司脫離,在新的環(huán)境里也會保留以前的項目管理制度,從通訊企業(yè)里出走的團隊很多這種例子。
            而一個差的項目管理習慣,則是一個團隊的噩夢。所謂的管理,可能流于形式,可能成為項目管理者的令箭牌,可能成為研發(fā)人員的催命符。
            習慣的力量強大而可怕。不管是好的團隊還是差的團隊,遇到不符合自己習慣的改變,都會做出一致的決定:抵制。抵制的理由可能不同 ,有的是 我們現(xiàn)在已經(jīng)運作的很好了,不需要做出改變,有的則是我們沒有那個能力去實施這個流程/我們?nèi)藛T有限/我們控制不住。改變后也不見的運作比現(xiàn)在差,改變后也不見得會浪費更多的人力,反而會有序,更節(jié)省人力,更利于控制。
            養(yǎng)成習慣需要3個前提:知識(知道這么做是好的)、意愿(愿意這樣做)、可實施性(有明確的實施方法)。之后加上堅持,一定時間(21天)后就可以形成習慣。
            看培養(yǎng)好的項目管理習慣就是這么簡單,真的就象喝茶那樣輕松。
            四 團隊技術(shù)積累
            項目管理理論容易給人以錯覺,好象只要有了規(guī)范的項目管理流程,就可以保證項目的成功可重復/成功過程可控制。但事實往往并不是這么如意。
            項目管理的順利進行依賴于團隊的基礎(chǔ)建設:團隊人員組成、基礎(chǔ)代碼庫、基礎(chǔ)模塊庫等。沒有完備的團隊和一定的基礎(chǔ)積累,談不上項目得可重復與可管理性。
            成熟的團隊中,項目的主角是需求人員、開發(fā)人員、測試人員。需求是個迭代的過程,是在已有系統(tǒng)或模塊上持續(xù)擴充的過程。開發(fā)是充實基礎(chǔ)庫與模塊庫,在已有基礎(chǔ)代碼庫和基礎(chǔ)協(xié)議棧之上實現(xiàn)業(yè)務的過程。測試是一個測試工具積累的過程。完備的積累是項目成功的可靠保證。
            總體來說,項目管理和團隊建設相輔相成,共同發(fā)展,公司在不同的時期,偏重不同,初期重團隊建設,成熟期重項目管理。
            五 具體問題具體分析
            項目管理流程并非一層不變。針對項目的規(guī)模和復雜性,可分大項目、小項目、mini項目。有的項目很小,不需要寫需求文檔,可能只需要增加一個ChangeRequest,也可能不需要寫設計文檔。以保證小項目的靈活性和響應及時性。后期的補充正確區(qū)分defect和ChangeRequest。需求一定要遞交到需求人員,以便其把握整個系統(tǒng)以及后續(xù)架構(gòu)的走向。


            posted on 2009-09-18 19:58 cppexplore 閱讀(4527) 評論(6)  編輯 收藏 引用

            評論

            # re: 【原創(chuàng)】項目管理之 個人小結(jié) 2009-09-19 08:47 true
            寫得很好,這個流程正常走完的話,對需求分析人員要求較高,對于研發(fā)團隊能不能按照開發(fā)規(guī)范進行開發(fā),個人覺得很大程度上取決于技術(shù)決策者和核心開發(fā)人員,如果他們都明確要求并以身作則,其它開發(fā)人員肯定會遵守,而實際上大多小公司做不到這一點。  回復  更多評論
              

            # re: 【原創(chuàng)】項目管理之 個人小結(jié)[未登錄] 2009-09-22 17:58 kevin
            關(guān)注  回復  更多評論
              

            # re: 【原創(chuàng)】項目管理之 個人小結(jié) 2009-09-27 15:39 2009-09-27星期日15:37:52 lj
            謝謝你的好文章。  回復  更多評論
              

            # re: 【原創(chuàng)】項目管理之 個人小結(jié) 2009-10-15 20:45 搖擺胖胖
            LZ你畫的時序圖是用什么工具阿,挺漂亮的  回復  更多評論
              

            # re: 【原創(chuàng)】項目管理之 個人小結(jié)[未登錄] 2009-10-16 20:43 CppExplore
            @搖擺胖胖
            你是指這篇blog里的圖嗎?這是甘特圖,用GanttProject畫的 開源的。
            時序圖,以前用rose畫,現(xiàn)在改startuml了,也是開源的  回復  更多評論
              

            # re: 【原創(chuàng)】項目管理之 個人小結(jié) 2010-09-03 16:11 lovetide
            了解一下項目管理的知識。  回復  更多評論
              

            精品国产91久久久久久久a| 精品国产乱码久久久久久郑州公司 | 久久99精品久久久久久野外| 青青草国产精品久久久久| 欧美精品福利视频一区二区三区久久久精品 | 国产成人精品免费久久久久| 婷婷综合久久中文字幕| 久久99这里只有精品国产| 波多野结衣中文字幕久久| 久久精品国产亚洲5555| 久久久婷婷五月亚洲97号色| 免费一级欧美大片久久网| 久久精品99久久香蕉国产色戒| 久久亚洲电影| 久久青青草原国产精品免费| 久久久久久久波多野结衣高潮 | 男女久久久国产一区二区三区| 国产亚洲成人久久| 精品久久久久久无码中文字幕一区 | 国产国产成人精品久久| 一本色道久久99一综合| 精品久久国产一区二区三区香蕉| 人人狠狠综合久久88成人| 麻豆久久久9性大片| 久久久久亚洲AV成人网人人网站| 国产99久久精品一区二区| 嫩草伊人久久精品少妇AV| 国产精品久久久久久久久软件| 狠狠精品久久久无码中文字幕 | 一本色综合久久| 久久一本综合| 久久国产成人| 久久se精品一区精品二区国产 | 精品久久久久久无码免费| 国产成人精品久久免费动漫| 久久久婷婷五月亚洲97号色| 久久丫精品国产亚洲av| 精品久久久久久国产潘金莲| 99精品久久精品| 99久久夜色精品国产网站| 九九久久精品无码专区|