扒开腿挺进岳湿润的花苞视频|将军边走边挺进她H树林|挺进朋友人妻张婉莹身体|岳脱得精光让我挺进去视频|第一次挺进莹莹的身体里视频|脱岳裙子从后面挺进去视频

新疆軟件開(kāi)發(fā)

本站首頁(yè) 軟件開(kāi)發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開(kāi)發(fā)公司 >> Java技術(shù) >> 文章正文

Java應(yīng)用--異地分布式敏捷軟件開(kāi)發(fā)詳解

異地分布式軟件開(kāi)發(fā)(Distributed Software Development)是指由多個(gè)位于不同地理位置的團(tuán)隊(duì)進(jìn)行同一個(gè)軟件項(xiàng)目的開(kāi)發(fā)過(guò)程。這個(gè)詞越來(lái)越頻繁的出現(xiàn)在各種技術(shù)媒體中。

異地分布式軟件開(kāi)發(fā)不同于外包,它建立在平等關(guān)系的兩個(gè)團(tuán)隊(duì)之間。通常是一個(gè)公司的不同分公司或辦公室間的協(xié)作,他們之間大多不存在博弈的合同關(guān)系。而外包是指一個(gè)公司將其軟件系統(tǒng)的開(kāi)發(fā)委托給另一個(gè)公司或組織完成。二者之間是合同的甲乙方關(guān)系。

但無(wú)論是異地分布式軟件開(kāi)發(fā)或是外包,可以接觸到實(shí)際客戶(hù)的一端一般稱(chēng)為on-site,另一端可相應(yīng)的稱(chēng)為off-site,他們可以根據(jù)地理位 置分為三類(lèi):on-shore(在岸,指在同一個(gè)國(guó)家或同一個(gè)時(shí)區(qū)內(nèi)),near-Shore(近岸,在接近的國(guó)家和地區(qū)中)和off-Shore(離 岸,通常在時(shí)差8小時(shí)以上)。如下表。

offsite on shore near shore off shore
Distributed Development 北京辦公室 - 西安辦公室之間 印度分公司 - 中國(guó)分公司 硅谷總公司 - 中國(guó)或印度分公司
Outsourcing
Development 北京某公司 – 廣州另一公司 東京某公司 - 大連另一公司 歐洲某公司 - 中國(guó)另一公司

異地分布式開(kāi)發(fā)的組織方式

異地分布開(kāi)發(fā)的組織方式有很多種。最常見(jiàn)的一種是公司將完整的團(tuán)隊(duì)組織結(jié)構(gòu)分布在兩地,每個(gè)團(tuán)隊(duì)都有本地項(xiàng)目經(jīng)理,需求分析師,開(kāi)發(fā)者以及測(cè)試。同時(shí)公司設(shè)定項(xiàng)目總負(fù)責(zé)人角色,負(fù)責(zé)兩地的溝通與協(xié)調(diào)。


有的公司將需求分析人員放在on-site一端,開(kāi)發(fā)者、測(cè)試人員和項(xiàng)目經(jīng)理在off-site一方,同時(shí)在本地也保持常規(guī)的需求分析師。也有公司將測(cè)試人員和開(kāi)發(fā)人員分放在不同地方,一方面開(kāi)發(fā),另一方面利用時(shí)差,在夜間測(cè)試并在第二天及時(shí)反饋測(cè)試結(jié)果。


各種組織方式都有其不同的適用場(chǎng)合。然而他們的共同點(diǎn)在于,都是注重micro-management,即加強(qiáng)在本地團(tuán)隊(duì)中項(xiàng)目管理和協(xié)調(diào),而不是由一個(gè)人同時(shí)直接管理兩地的活動(dòng)。同時(shí),也盡量保證團(tuán)隊(duì)兩邊都具有項(xiàng)目協(xié)調(diào)人、本地項(xiàng)目經(jīng)理、需求分析師等輔助角色。

基本原則:極盡交流之能事

異地分布軟件開(kāi)發(fā)面臨的最大問(wèn)題是交流問(wèn)題。隨著人員距離的增加,交流效率將大大降低(參見(jiàn)Alistair Cockburn的文章),同時(shí)交流成本將極大提高。很多時(shí)候on-site一端團(tuán)隊(duì)不能把正確的需求傳遞到off-site一端,這直接造成產(chǎn)品質(zhì)量的下降。

為了使避免這種情況,應(yīng)盡量采用一切手段來(lái)提高交流的效果。例如,項(xiàng)目經(jīng)理和團(tuán)隊(duì)成員都需要了解其他人的工作狀態(tài),一個(gè)技巧是可以將你的MSN或Y!名稱(chēng)后綴寫(xiě)上你在做哪一塊的需求。并可以隨時(shí)和同事通過(guò)IM進(jìn)行交流。


每天的定時(shí)會(huì)議將成為很重要的一個(gè)很重要的交流方式。如果團(tuán)隊(duì)的人數(shù)較少,大家可以按照站立會(huì)議的方式在電話(huà)會(huì)議系統(tǒng)中說(shuō)明自己的情況和遇到的問(wèn) 題。如果人數(shù)較多,一種可替代的方式是每個(gè)團(tuán)隊(duì)自己進(jìn)行每日例會(huì),并由個(gè)項(xiàng)目的項(xiàng)目經(jīng)理和需求分析人員進(jìn)行另外的會(huì)議以便協(xié)調(diào)工作。

如果兩個(gè)團(tuán)隊(duì)時(shí)差較大,例如中國(guó)北京時(shí)間和美國(guó)東部時(shí)間時(shí)差12-3小時(shí),想要進(jìn)行直接的電話(huà)會(huì)議交流很困難。如果遇到3個(gè)處于不同時(shí)區(qū)的團(tuán)隊(duì),更 是經(jīng)常不可能找到一個(gè)合適的時(shí)間來(lái)進(jìn)行任何的會(huì)議。在國(guó)際化的公司中,起早貪黑的進(jìn)行幾地的電話(huà)會(huì)議很常見(jiàn),但這卻不適用于整個(gè)開(kāi)發(fā)團(tuán)隊(duì)。對(duì)這種情況,每 日的開(kāi)發(fā)狀態(tài)郵件是很有用的。每日開(kāi)發(fā)結(jié)束后由項(xiàng)目經(jīng)理或成員來(lái)根據(jù)團(tuán)隊(duì)的情況來(lái)撰寫(xiě)一天的總結(jié),并發(fā)送給遠(yuǎn)端的團(tuán)隊(duì)。

交流的障礙經(jīng)常發(fā)生在陌生人之中,如果兩地的開(kāi)發(fā)人員互不熟悉,可以考慮將雙方人員的照片貼在墻上,以增加熟悉感。可行的話(huà),進(jìn)行可視會(huì)議和當(dāng)面的會(huì)談。盡量減少陌生感,使交流效果提升。

任何交流方式都比不上面對(duì)面的交流。異地開(kāi)發(fā)時(shí),off-site一端很容易丟失on-site一端與客戶(hù)交流的語(yǔ)義上下文和環(huán)境。如果情況允許, 公司應(yīng)該設(shè)立常規(guī)的出差和輪換制度。讓一部分的團(tuán)隊(duì)成員到另一端,見(jiàn)一見(jiàn)一起工作的同事,了解一下客戶(hù)的需求和感受一下不同的環(huán)境。

敏捷開(kāi)發(fā)過(guò)程的改進(jìn)

般的敏捷過(guò)程中,都會(huì)有一個(gè)初始階段,在這個(gè)階段了解開(kāi)發(fā)需求和制定發(fā)布計(jì)劃。要進(jìn)行這樣的活動(dòng),最理想的辦法是讓所有人都出差到on-site一 端,一起了解需求和建立共識(shí)。這將會(huì)對(duì)后面的開(kāi)發(fā)有很大幫助。如果由于人數(shù)或成本不可行,至少要派遣所有的需求分析師和項(xiàng)目經(jīng)理、協(xié)調(diào)人以及部分測(cè)試人員 到場(chǎng)參與。對(duì)于迭代一級(jí)的計(jì)劃,應(yīng)該由兩地的項(xiàng)目經(jīng)理和需求分析師提前進(jìn)行計(jì)劃會(huì)議并做出決定。

日常的項(xiàng)目管理工作中,采用卡片墻的方式只適用in-house的開(kāi)發(fā)。在異地開(kāi)發(fā)中,為了使得每個(gè)團(tuán)隊(duì)都可以了解到團(tuán)隊(duì)任務(wù),至少需要在兩邊開(kāi)發(fā)室都設(shè)立卡片墻,并保持同步?梢圆捎迷诰(xiàn)工具幫助進(jìn)行項(xiàng)目跟蹤,例如Mingle或Trac,都是適用的在線(xiàn)工具,同時(shí)也是在線(xiàn)Wiki或共享知識(shí)庫(kù)。

項(xiàng)目協(xié)調(diào)人,應(yīng)當(dāng)制定完善的交流計(jì)劃和交流機(jī)制。例如前文提到的每日的例會(huì)和每日開(kāi)發(fā)狀態(tài)郵件,每周的需求交流計(jì)劃,問(wèn)題的提出和反應(yīng)機(jī)制等等。這些應(yīng)當(dāng)制定成為團(tuán)隊(duì)守則來(lái)遵循,并隨著實(shí)際情況的變化修訂。交流不怕多,只怕不充分。

一個(gè)共享的代碼版本控制系統(tǒng)是必須的。例如在公司內(nèi)網(wǎng)建立一個(gè)SVN并通過(guò)VPN來(lái)使用。On-site和off-site團(tuán)隊(duì)可建立自己?jiǎn)为?dú)的持 續(xù)集成環(huán)境,但需要保持系統(tǒng)環(huán)境的一致。兩方的開(kāi)發(fā)人員都應(yīng)該保證每日離開(kāi)辦公室前的提交通過(guò)集成。這樣可以避免異地團(tuán)隊(duì)開(kāi)始開(kāi)發(fā)不至于被失敗的集成所耽 擱。

基本的敏捷時(shí)間必不可缺,例如測(cè)試,尤其是功能測(cè)試。On-site的QA應(yīng)當(dāng)在需求確定的時(shí)候制定好驗(yàn)收條件。一個(gè)描寫(xiě)良好的驗(yàn)收條件會(huì)對(duì)開(kāi)發(fā)人員有所幫助。尤其是在On-site一端不能及時(shí)解答問(wèn)題的時(shí)候,會(huì)起到很大的作用。

每個(gè)迭代結(jié)束時(shí),應(yīng)盡量安排一個(gè)兩地同步的演示會(huì)議。讓所有人都在電話(huà)會(huì)議上看到這個(gè)迭代的成果。迭代后的總結(jié)與回顧也應(yīng)當(dāng)兩地一起進(jìn)行,如果人數(shù)和條件不允許,可以分別進(jìn)行,并互相通報(bào)回顧結(jié)果和改進(jìn)方法。

離岸團(tuán)隊(duì)的參與度

多團(tuán)隊(duì)中,處于on-site的成員由于可以接觸到客戶(hù),他們的話(huà)語(yǔ)權(quán)可能會(huì)被放大,使得on-site一邊的人傾向于命令式的消息傳遞,直接指派 需求和開(kāi)發(fā)進(jìn)度,而忽視了對(duì)需求背景情況和上下文進(jìn)行介紹。這種情況可能造成off-site一端團(tuán)隊(duì)產(chǎn)生抵觸心里,從而導(dǎo)致項(xiàng)目的失敗。

解決方法是提高off-site團(tuán)隊(duì)的參與度。如制度性的進(jìn)行人員輪換,讓兩端的團(tuán)隊(duì)成員有所接觸,并互相熟識(shí)。定期組織兩個(gè)團(tuán)隊(duì)的共同活動(dòng)。如果 都處于一個(gè)時(shí)區(qū),可以考慮進(jìn)行每周的Learning Lunch,大家在互相能看到視頻的情況下一起吃飯和聽(tīng)講座。講座內(nèi)容可以是任何話(huà)題,例如一些項(xiàng)目相關(guān)的技術(shù)決策等等。

不要忽視offsite團(tuán)隊(duì)的任何意見(jiàn)和建議,他們?cè)诤芏鄷r(shí)候能從另一個(gè)側(cè)面對(duì)項(xiàng)目提出見(jiàn)解。鼓勵(lì)offsite團(tuán)隊(duì)決策和發(fā)起討論,這樣可以提高他們的參與度。

實(shí)施異地開(kāi)發(fā)的最初目的是為了降低人力成本和運(yùn)營(yíng)成本,一些跨時(shí)區(qū)的異地開(kāi)發(fā)還可以提高時(shí)間利用效率,實(shí)現(xiàn)全球24小時(shí)開(kāi)發(fā)。然而,異地開(kāi)發(fā)帶來(lái)了高昂的交流和管理成本,如果處理不當(dāng)將直接導(dǎo)致項(xiàng)目或產(chǎn)品的失敗。

近年來(lái)隨著國(guó)內(nèi)軟件公司業(yè)務(wù)的發(fā)展,異地開(kāi)發(fā)項(xiàng)目將會(huì)越來(lái)越多。全球化的進(jìn)程也會(huì)使得外國(guó)公司開(kāi)展更多類(lèi)似的開(kāi)發(fā)。異地開(kāi)發(fā)項(xiàng)目將會(huì)逐漸發(fā)展和普遍?梢韵胂瘢嗄暌院,如果一個(gè)公司沒(méi)有異地開(kāi)發(fā)的團(tuán)隊(duì),將會(huì)是多么的令人詫異。


 

作者:未知 | 文章來(lái)源:m.jdtbank.com | 更新時(shí)間:2007-10-18 9:35:24

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    了解java開(kāi)發(fā)語(yǔ)言在軟件開(kāi)發(fā)中的幾個(gè)誤區(qū)
    軟件開(kāi)發(fā)技術(shù):軟件配置管理計(jì)劃
    軟件開(kāi)發(fā)-String知識(shí)點(diǎn)總結(jié)說(shuō)明
    C#調(diào)用Delphi編寫(xiě)的Dll,實(shí)現(xiàn)繪圖的功能
    正在興起的后關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
    正在逐漸興起的后關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
    如何在JavaScript實(shí)現(xiàn)彈出層效果
    java中的KVM常量池
    數(shù)據(jù)庫(kù)設(shè)計(jì)-數(shù)據(jù)庫(kù)的三級(jí)模式
    ASP.NET中如何使用unsafe選項(xiàng)
    軟件技術(shù)
    · 開(kāi)發(fā)語(yǔ)言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開(kāi)發(fā)
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開(kāi)發(fā)的6個(gè)實(shí)踐的例子
    ·JBuilder7 / Weblogic7開(kāi)發(fā)
    ·JAVA中的抽象類(lèi)型的一些概
    ·java語(yǔ)言開(kāi)發(fā)程序中的幾個(gè)
    ·了解java開(kāi)發(fā)語(yǔ)言在軟件開(kāi)
    ·如何才能使用Java實(shí)現(xiàn)內(nèi)部
    ·Java開(kāi)發(fā)學(xué)習(xí)小心使用Date
    ·Java程序員應(yīng)該了解那些開(kāi)
    ·java性能優(yōu)化的一些見(jiàn)解
    ·介紹JDK5.0一些collection
    ·基礎(chǔ)學(xué)習(xí):java中使用存儲(chǔ)
    ·解析c#語(yǔ)言和java語(yǔ)言最相
    ·Java語(yǔ)言學(xué)習(xí):jAVA中 的多
    ·Java是不是應(yīng)該增加新特性
    關(guān)于我們 | 軟件開(kāi)發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開(kāi)發(fā)網(wǎng) m.jdtbank.com All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開(kāi)發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    连平县| 喀喇沁旗| 新竹市| 渝中区| 肇东市| 鸡泽县| 会宁县| 宜都市| 安庆市| 延川县| 景谷| 滨海县| 平江县| 黄龙县| 姚安县| 镇沅| 宣武区| 台北市| 利川市| 肇州县| 黄骅市| 德令哈市| 盘山县| 江北区| 洪泽县| 青田县| 莎车县| 桐柏县| 娄烦县| 祁东县| 凤翔县| 洛南县| 兰坪| 阿尔山市| 苍梧县| 疏勒县| 马关县| 广河县| 通道| 温泉县| 三穗县|