• <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>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            轉載:敏捷的軟件開發流程

            公司目前在開發上遇到了發展的瓶頸,大多數人都在考慮是否換一種開發平臺,我認為原因不在于開發平臺的好壞,關鍵還是在于開發管理的不規范性上,我覺得要解決一個公司的發展關鍵要一套好的管理規范,而一個好的開發流程能在很大程度上規范開發。最近在微軟開發大會上聽了朱敏講的Scrum敏捷開發,非常感興趣,所以找來一往篇微軟的人員寫的敏捷開發的文章(并不是贊成作者的所有觀點,只是拿來做個參考)。

            作者:林耀珍

            2003 11

            速度是企業競爭致勝的關鍵因素,軟件項目的最大挑戰在于一方面要應付變動中的需求,一方面要在緊縮的時程內完成項目,所以軟件團隊除了在技術上必須日益精進,更需要運用有效的開發流程,以確保團隊能夠發揮綜效。這正是 Agile Process (敏捷的軟件開發流程) 于近年來興起的主要原因,本文將介紹數種廣為接受的軟件開發流程,及其在運用上的建議。

            Agile Process - 敏捷的開發流程

            幾乎所有的軟件項目都會在起始階段面臨選擇開發流程的困難,一種是完備的開發流程,另一種是簡易輕便的流程。雖然我們了解采用完備的開發流程可以提高軟件的質量,但是因為欠缺人力、工具與時間,我們常會被迫采用簡化的流程,但事與愿違,大部分的情況我們仍然難以在預算內及時完成項目。

            Agile Process (敏捷的開發流程) 是一種軟件開發流程的泛稱,Agile Process 具有下列幾項共通的特性:

            1. 客戶與開發人員形成密切合作的團隊,因為客戶無法于初期定義完整的規格,而開發人員于開發過程中也常常無法知悉外在環境或業務的變動,所以需要兩者密切合作方能開發適用的軟件。
            2. 項目最終的目標是可執行的程序,因此所有的中間產品必須經過審慎評估,確認有助于最終目標,才需要制作中間產品。
            3. 采用 Iterative Incremental 方式分階段進行,密集 review 是否符合需求。
            4. 流程可以簡單,但規劃與執行必須嚴謹。
            5. 強調團隊合作,賦予高度的責任,團隊有自主權得以因應變化做調整。

            RUP 開發流程 - Rational Unify Process

            RUP IBM Rational 公司經過多年的研發與經驗所提出的軟件開發流程,其內容含蓋 Business modeling, Requirement Modeling, Logical Design, Implementation, Testing, Deployment 等軟件開發生命周期的直接工作,與 Project Management, Change & Configuration ManagementEnvironment support 等支持性工作。RUP 的內容非常豐富,不同的項目需要不同調整,IBM Rational 提供 RUP workbench 工具,方便調整 RUP,并公布于 Web,方便項目成員遵循統一的流程規范進行工作。

            RUP 的主要精神為:

            1. 項目進行采用 Iterative 程序分階段漸進地完成項目功能;

            2. 廣泛使用 Visual Modeling 于商業需求分析、系統分析與系統設計;

            3. 強調架構設計;

            4. 對每項工作所需要的技術、工具、做法、模板、檢查項目均有詳細的定義,架構完備且具有可調整的彈性。

            因為 RUP 的流程規范與相關技術較復雜,所以導入時必須注意幾個因素:

            1. 主管的支持以確保足夠的資源投入;

            2. 分階段導入;3. 適當的訓練與密切的顧問咨詢;

            4. 使用 Modeling 技術時需要考慮 Coding 的實作環境;

            5. 良好團隊的管理,以溝通、耐心與堅持解決變革的人性阻力。

            XP 開發流程 - eXtreme Programming

            XP 亦稱為終極流程,是最輕量級的開發流程,其最主要的精神是『在客戶有系統需求時,給予及時滿意的可執行程序』,所以最適合需求快速變動的項目。XP 經過 6 年的實作與修改,已演化為精致的開發流程,但仍不失其精簡的特性,它強調客戶所要的是 workable 的執行碼,所以把與撰寫程序無關的工作降至最低,并要求客戶與開發人員最好以 side-by-side 的方式一起工作。

            XP 開發流程的基本步驟為:

            1. 開發人員隨時可以和客戶進行有效溝通,撰寫 user stories 以確認需求。

            2. 簡易快速的系統設計,撰寫獨立的驗證程序以解決特殊困難的問題,找出算法即可丟棄驗證程序。

            3. 規劃多次小型階段的項目計劃,以最快速度完成每一階段的程序交付客戶,客戶負責 Acceptance tests

            4. Coding 前必須完成 Unit Test Acceptance tests 程序,所有模塊整合前都須經過 Unit Tests

            5. 開發人員必須快速響應 Bug 與需求變更;

            6. 要求二人一組使用一臺計算機設計程序,當一人 coding 時,另一人負責思考與設計;

            7. 程序必須符合程序規范,并常做程序的重整 (Refactoring)

            XP 屬于較精簡的流程,于導入應注意幾件事情:

            1. 最好有顧問給予協助;

            2. 持續的 Review

            3. 可適當調整流程,但不可失去其基本精神。

            SCRUM 開發流程

            SCRUM 開發流程是 Agile Process 的一種,以英式橄欖球爭球隊形 (Scrum) 為名,基本假設是『開發軟件就像開發新產品,無法一開始就能定義 Final Product 的規程,過程中需要研發、創意、嘗試錯誤,所以沒有一種固定的流程可以保證項目成功』。Scrum 將軟件開發團隊比擬成橄欖球隊,有明確的最高目標,熟悉開發流程中所需具備的最佳典范與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰,碓保每天、每個階段都朝向目標有明確的推進,因此 SCRUM 非常適用于產品開發項目。

            SCRUM 開發流程通常以 30 天為一個迭代周期每個迭代周期叫做一個Sprint由客戶提供新產品的需求規格開始,開發團隊與客戶于每一個階段開始時挑選該完成的規格部份,開發團隊必須盡力于 30 天后交付成果,團隊每天用 15 分鐘開會檢視每個成員的進度與計劃,了解所遭遇的困難并設法排除,決定第二天的任務安排,這樣的短會就叫做scrum

              SCRUM較為有特色的,是它特別強調開發隊伍和管理層的交流協作。每天,開發隊伍都會向管理層匯報進度,如果有問題,也會向管理層要求幫助解決。

            SCRUM 與傳統開發流程及項目管理差異較大,于導入時最好有顧問協助。

            總結

            Agile Process 的精神已經成為共識,但是沒有一種固定的流程可以重復使用在不同的項目上。而且不管是 RUPXPSCRUM、或其它的開發流程都允許相當大的彈性,我們必須按項目性質的不同,調整或混合出適合的開發流程,并允許團隊于進行中做必要的彈性修改,方能達成目標。

            參考數據

              RUPwww.rational.com
              XP
            www.extremeprogramming.org
              SCRUM
            www.controlchaos.com
              AGILE
            www.agilealliance.org

             


            作者簡介

            林耀珍為 Microsoft.NET 技術代言人,目前任職第三波信息技術總監,歷任第三波信息教育訓練處處長及育碁數字科技總經理。專長于信息系統規劃及軟件開發技術,擁有 Microsoft MCSD / MCSE / MCDBARational OOADLotus Notes / Domino 等認證資格,并為 Microsoft.NET / Java J2EE / 對象導向系統分析設計的資深講師及多家公民營機構的 e 化顧問。

            posted on 2007-05-25 21:02 楊粼波 閱讀(2745) 評論(0)  編輯 收藏 引用

            香蕉久久永久视频| 久久国产亚洲精品| 国产精品久久久久AV福利动漫| 中文字幕乱码人妻无码久久| 久久国产精品99久久久久久老狼| 国产高清国内精品福利99久久| 一本综合久久国产二区| 久久男人AV资源网站| 国内精品久久久久影院日本| 91久久精品国产91性色也| 无码人妻久久久一区二区三区| 精品国产一区二区三区久久蜜臀| 国产午夜福利精品久久2021| 国内精品久久久久久久涩爱 | 伊人久久大香线蕉影院95| 久久婷婷午色综合夜啪| 国产精品99久久久久久宅男| 国产午夜精品久久久久免费视| 亚洲国产天堂久久久久久| 热久久这里只有精品| 国产精品久久久久影视不卡 | av无码久久久久不卡免费网站 | 国产精品对白刺激久久久| 亚洲人成网站999久久久综合| 精品久久久久一区二区三区| 青青青青久久精品国产h| AV无码久久久久不卡蜜桃| 蜜臀久久99精品久久久久久小说| 婷婷久久久亚洲欧洲日产国码AV | 久久久精品久久久久久| 久久精品国产色蜜蜜麻豆| 99久久99久久久精品齐齐 | 久久精品嫩草影院| 国产成人精品白浆久久69| 国产人久久人人人人爽 | 九九精品久久久久久噜噜| 久久久久波多野结衣高潮| 好属妞这里只有精品久久| 粉嫩小泬无遮挡久久久久久| 国产精品久久精品| 国产激情久久久久影院老熟女免费|