一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

分布式開發(fā)

  作為 ThoughtWorks 的一名咨詢師,我曾不止一次的被問到 ThoughtWorks 的交付項(xiàng)目和一般意義上的外包到底有何區(qū)別。要區(qū)分差別,首先要對(duì)外包加以定義,外包從最傳統(tǒng)的 IT 外包到業(yè)務(wù)流程的外包,以及最近幾年新興的知識(shí)流程外包,其本身的定義也在不斷的演化。每種外包有其不同的訴求,傳統(tǒng)的IT外包和業(yè)務(wù)流程外包追求成本的降低,而知識(shí)流程的外包則更著眼于客戶 知識(shí)能力的提升以及團(tuán)隊(duì)的成長。

  ThoughtWorks 的交付項(xiàng)目更多的是一種知識(shí)流程外包的高端服務(wù)。交付項(xiàng)目的成功不僅是交付卓越的軟件,還需要在交付卓越的軟件的過程中, 深刻理解客戶的市場(chǎng)需要和業(yè)務(wù)模式,并通過自己的努力去影響客戶,最終和客戶以一個(gè)團(tuán)隊(duì)的模式一同交付高質(zhì)量的軟件。 而怎樣去影響客戶的行為,進(jìn)而鼓勵(lì)他們?nèi)L試更多最佳實(shí)踐呢?是否只能通過咨詢項(xiàng)目達(dá)到這個(gè)目的呢?一般來說,咨詢是需要長期在客戶現(xiàn)場(chǎng)進(jìn)行持續(xù)的影響,才能產(chǎn)生效果。但交付項(xiàng)目如同很多外包項(xiàng)目一樣,通常是離岸的。那么隔著十萬八千里的距離,再加上幾個(gè)小時(shí)的時(shí)差,如何才能真的像一個(gè)團(tuán)隊(duì)一樣緊密合作,并且持續(xù)的影響客戶嘗試更多最佳實(shí)踐,一步步實(shí)現(xiàn)交付卓越軟件這一目標(biāo)呢? 溝通,就是基于知識(shí)流程外包的分布式開發(fā)中,最大的挑戰(zhàn)。

  正如前面所說的,我們有著地理上的距離,這就意味著我們會(huì)有巨大的文化差異。客戶說“還可以”,可能意味著其實(shí)有些問題。如果說東西方的文化差異可以通過了解當(dāng)?shù)氐娘L(fēng)俗民情去理解的話,那么企業(yè)的文化差異就需要一些同理心了。作為一家“不創(chuàng)新就會(huì)死(Innovate or Die)”的先鋒企業(yè),我們的咨詢師通常是勇于嘗試,熱衷創(chuàng)新的;而我們的客戶卻很有可能是擁有龐大的組織結(jié)構(gòu)的傳統(tǒng)企業(yè),做任何一點(diǎn)改變都需要考慮所有部門利益,甚至很長時(shí)間都難以做出一個(gè)決定,這和我們的快速反饋原則往往都是不相容的。

  所以溝通毫無疑問會(huì)成為分布式開發(fā)最大的挑戰(zhàn)。經(jīng)過多個(gè)分布式開發(fā)項(xiàng)目,我們總結(jié)出以下幾個(gè)最佳實(shí)踐:

  快速啟動(dòng)(Inception)

  快速啟動(dòng)中, 所有的項(xiàng)目干系人通常會(huì)聚集到一起,在兩周左右的時(shí)間中進(jìn)行一系列的愿景分享、業(yè)務(wù)探索、產(chǎn)品設(shè)計(jì)、需求收集以及計(jì)劃發(fā)布等活動(dòng)。

  快速啟動(dòng)的目的首先是讓大家聚到一起。作為可能要合作上幾個(gè)月甚至幾年的隊(duì)友,雖然之后很長一段時(shí)間大家天各一方的工作,但在啟動(dòng)階段能夠認(rèn)識(shí)彼此,通過面對(duì)面的溝通對(duì)對(duì)方的工作有感性的認(rèn)知,無疑對(duì)于后面工作的展開會(huì)起到重要作用。

  快速啟動(dòng)通過兩周密度較大的活動(dòng),讓每個(gè)團(tuán)隊(duì)成員,在盡可能短時(shí)間的內(nèi),達(dá)成共識(shí)。這其中包括了解戰(zhàn)略愿景,進(jìn)而理解項(xiàng)目的機(jī)遇與挑戰(zhàn);通過和市場(chǎng)人員的溝通去理解客戶需要;和產(chǎn)品部門一起設(shè)計(jì)出符合客戶體驗(yàn)需要的產(chǎn)品原型,進(jìn)而拆分出可開發(fā)的需求;根據(jù)優(yōu)先級(jí)排列并發(fā)布計(jì)劃。

  在兩周的時(shí)間里,團(tuán)隊(duì)將一個(gè)商業(yè)概念轉(zhuǎn)換為形象的原型,并制定可供開發(fā)使用的發(fā)布計(jì)劃,快速啟動(dòng)的交付物無疑對(duì)于后面的開發(fā)階段非常重要,而更重要的是快速啟動(dòng)的交付物是整個(gè)團(tuán)隊(duì)一起工作產(chǎn)出的。每個(gè)人都參與了產(chǎn)生的過程,分享了相同的上下文,這對(duì)于后面的開發(fā)階段的有效溝通會(huì)非常有幫助。

  在快速啟動(dòng)之后,團(tuán)隊(duì)一般就可以開始進(jìn)入迭代0的開發(fā)了。在迭代0中,所有團(tuán)隊(duì)成員能繼續(xù)一起工作,在這個(gè)較短的迭代搭建好環(huán)境,對(duì)架構(gòu)都形成共識(shí),試著在迭代0里去完成一個(gè)基本的需求。

  快速啟動(dòng)和迭代0這段時(shí)間中,所有團(tuán)隊(duì)成員緊密合作,不光對(duì)于交付軟件有所幫助,也能更好地讓咨詢師理解客戶團(tuán)隊(duì)的工作習(xí)慣、技術(shù)水平和代碼風(fēng)格,進(jìn)而評(píng)估哪些最佳實(shí)踐是適合客戶團(tuán)隊(duì)的。比如我曾經(jīng)參與過的一個(gè)項(xiàng)目中,在快速啟動(dòng)階段,我們發(fā)現(xiàn)客戶團(tuán)隊(duì)的很多基本實(shí)踐,如TDD,已經(jīng)做的很好,代碼水平也很嫻熟,但部署的方式卻很落后。同時(shí),業(yè)務(wù)部門的需求明顯需要持續(xù)交付來支撐,于是持續(xù)交付就成了重點(diǎn)嘗試的實(shí)踐。每個(gè)項(xiàng)目都具有自己的獨(dú)特性,所以通過快速啟動(dòng)的方式,用最快的速度了解客戶的知識(shí)流程上需要改進(jìn)的地方,這樣跟客戶溝通的時(shí)候,才會(huì)讓客戶更加認(rèn)同知識(shí)流程外包的高附加值。

  站會(huì):

  相信了解敏捷的人對(duì)站會(huì)這一實(shí)踐都不會(huì)陌生。在分布式開發(fā)過程中,我們不僅開展了團(tuán)隊(duì)的站會(huì),還進(jìn)行了基于角色的站會(huì)。一般而言,團(tuán)隊(duì)的站會(huì)更多的關(guān)注故事卡的狀態(tài)流動(dòng),檢查路障,而不會(huì)關(guān)注每個(gè)不同角色的具體工作;而在基于角色的站會(huì)上,例如開發(fā)站會(huì)上,開發(fā)人員之間可以討論技術(shù)上的某個(gè)難點(diǎn)。同樣的,業(yè)務(wù)分析人員也要通過每日的業(yè)務(wù)分析站會(huì)來了解產(chǎn)品經(jīng)理的思路變化和業(yè)務(wù)部門的更新。 我曾經(jīng)遇到過一個(gè)項(xiàng)目有來自三地的測(cè)試人員,那么測(cè)試人員之間的站會(huì)就非常重要,測(cè)試人員利用角色站會(huì)這一機(jī)會(huì)討論測(cè)試策略。隨著項(xiàng)目的演進(jìn),測(cè)試的重點(diǎn)也不斷轉(zhuǎn)移,從一開始關(guān)注功能測(cè)試到逐漸關(guān)注集成測(cè)試,角色站會(huì)給他們提供了一個(gè)契機(jī)及時(shí)討論項(xiàng)目碰到的問題和機(jī)會(huì)。

  迭代計(jì)劃會(huì)議:

  迭代計(jì)劃會(huì)議也是常見的實(shí)踐。在分布式的場(chǎng)景下,迭代計(jì)劃會(huì)議需要更多的準(zhǔn)備,要求各方團(tuán)隊(duì)成員提前理解下一迭代需要完成的需求,這樣大家可以在迭代計(jì)劃會(huì)議的時(shí)候著重討論有疑惑的需求,而不是浪費(fèi)很多時(shí)間在解釋需求本身是什么上。在答疑解惑之后,大家對(duì)要完成的迭代目標(biāo)必須形成一致的意見。同時(shí),在分布式的開發(fā)中,不同地域方的團(tuán)隊(duì)成員會(huì)更加關(guān)注本地團(tuán)隊(duì)所能完成的需求,卻忽略了其他地域團(tuán)隊(duì)的開發(fā)速度。在其他地域團(tuán)隊(duì)遇到困難時(shí),更重要的是幫助對(duì)方一起完成對(duì)方做的需求,而不是只關(guān)注自己做的需求。通過一起達(dá)成迭代目標(biāo),讓大家分享共同的責(zé)任感。

  在實(shí)際項(xiàng)目過程中,通常業(yè)務(wù)分析師會(huì)提前將計(jì)劃的需求故事發(fā)給團(tuán)隊(duì)成員。運(yùn)用合適的分布式項(xiàng)目管理工具會(huì)讓這一過程更加容易,如 Mingle 或者 Jira。在工具中整理出下一個(gè)迭代的故事墻,讓團(tuán)隊(duì)成員提前看到虛擬墻。在迭代計(jì)劃會(huì)議上,主持方將虛擬墻打開并屏幕共享給其他方,這樣各方就可以關(guān)注在同一個(gè)需求故事卡的討論上。

  回顧會(huì)議:

  由于各種限制原因,分布式團(tuán)隊(duì)很容易產(chǎn)生溝通不足現(xiàn)象。而回顧會(huì)議創(chuàng)造了必要的溝通橋梁,因而非常重要,一定要保證所有方都能參與進(jìn)來。遠(yuǎn)程回顧會(huì)議通常利用在線白板,讓每個(gè)成員提前在在線白板上提交上個(gè)迭代里做得好的和值得改進(jìn)的地方。這樣,當(dāng)回顧會(huì)議開始后,每個(gè)人都是有所思考的,提出的意見更有深度,而且也可以更好地利用回顧會(huì)議的時(shí)間一起探討所有人都關(guān)注的問題。通常,通過回顧會(huì)議可以發(fā)現(xiàn),處于不同地理位置的多方成員往往關(guān)注的事情也不同,而會(huì)議上各方成員又可以了解對(duì)方在擔(dān)憂什么,遇到了哪些困惑,并將這些擔(dān)憂困惑分享,形成大家都認(rèn)同的改進(jìn)行動(dòng)。

  結(jié)對(duì)編程:

  結(jié)對(duì)編程這一實(shí)踐對(duì)于知識(shí)的傳遞非常重要,即便在分布式團(tuán)隊(duì)中,結(jié)對(duì)編程依然是非常重要的實(shí)踐。合理地利用時(shí)差,在各方重疊的工作時(shí)間里通過屏幕共享工具遠(yuǎn)程結(jié)對(duì),是保證代碼質(zhì)量的重要手段。

  每天合理地利用遠(yuǎn)程結(jié)對(duì)不光可以傳遞知識(shí),同時(shí)也是一種有效地影響其他團(tuán)隊(duì)成員的方式。遠(yuǎn)程結(jié)對(duì)可以讓咨詢師清楚了解處于不同地域位置的客戶團(tuán)隊(duì)的代碼水平、代碼風(fēng)格和思維方式,從而可以通過每天頻繁的結(jié)對(duì)編程言傳身教最佳實(shí)踐。這種影響行為改變的方式效果顯著,而且對(duì)于增強(qiáng)團(tuán)隊(duì)成員互相了解信任,并形成有統(tǒng)一責(zé)任感的“同一個(gè)團(tuán)隊(duì)”,也非常有幫助。

  但不可否認(rèn),遠(yuǎn)程結(jié)對(duì)會(huì)影響開發(fā)效率。并且,由于各方工作時(shí)間安排以及公共假期等原因,很難保證遠(yuǎn)程結(jié)對(duì)的頻率。所以,遠(yuǎn)程的代碼評(píng)審(Code Review)就顯得格外重要。每天各方開發(fā)人員在一個(gè)固定時(shí)段去評(píng)審所有提交的代碼,能夠讓團(tuán)隊(duì)成員不光關(guān)注自己,也了解別人做了哪些代碼改動(dòng)。同時(shí),代碼評(píng)審對(duì)于形成統(tǒng)一的代碼風(fēng)格也很重要。當(dāng)處于遠(yuǎn)端的咨詢師想去去影響客戶的代碼風(fēng)格時(shí),如果無法讓所有的人都理解為什么要用某種風(fēng)格,那么之后的一致性也就無從談起。而遠(yuǎn)程代碼評(píng)審就能在溝通不足的條件下,從分展示好的風(fēng)格帶來的改進(jìn)(Lead By Example),從而達(dá)到提成遠(yuǎn)程提升客戶技能的目的。

  在分布式開發(fā)中,我們依然遵循基本的實(shí)踐,同時(shí)為了克服遠(yuǎn)程開發(fā)溝通不足的缺陷,并達(dá)到整個(gè)團(tuán)隊(duì)能力提升的目的,我們更關(guān)注建立溝通渠道和及時(shí)的分享。所有的實(shí)踐在滿足基本的目的之后,都要考慮是否能通過這一實(shí)踐分享知識(shí)以及獲取知識(shí)的正確方式,客戶成員是否能得到能力的提升。

  除了溝通這一挑戰(zhàn)之外,分布式開發(fā)環(huán)境下當(dāng)然還有其他各種挑戰(zhàn),如如何遠(yuǎn)程的讓團(tuán)隊(duì)保持足夠的凝聚力,讓大家不因?yàn)榫嚯x而產(chǎn)生陌生感? 所以,經(jīng)常在工作之余進(jìn)行些適合遠(yuǎn)程的團(tuán)隊(duì)的游戲,定期邀請(qǐng)各方成員去對(duì)方工作的地方工作幾周,體會(huì)對(duì)方的工作環(huán)境,能夠更好地幫助團(tuán)隊(duì)保持一致的目標(biāo)。此外,分布式團(tuán)隊(duì)模式下的項(xiàng)目也有需要關(guān)注的特有的風(fēng)險(xiǎn),如各自國家的成員有不同的公共假期,最后的部署上線如何安排等細(xì)節(jié)都需要去關(guān)注。

  由于基于知識(shí)流程外包的分布式開發(fā)追求交付的成功以及團(tuán)隊(duì)的成長,那么面對(duì)不同的客戶團(tuán)隊(duì)就會(huì)有不同的挑戰(zhàn)。作為咨詢師,在關(guān)注軟件交付本身的同時(shí),更要關(guān)注如何提升團(tuán)隊(duì)的能力。通過以上這些實(shí)踐不難發(fā)現(xiàn),雖然依然采用敏捷的基本實(shí)踐,但在分布式開發(fā)的場(chǎng)景下,適當(dāng)?shù)馗倪M(jìn)基本實(shí)踐,才能真正實(shí)現(xiàn)高附加值的卓越軟件交付。

it知識(shí)庫分布式開發(fā),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美人成在线视频 | 色播99 | 韩国一级毛片免费完整视频 | 91精品福利观看 | 亚洲视频欧洲视频 | 国产精品久久久久无码av | 美女网站视频色 | 婷婷开心综合 | 亚洲黄v| 久久99国产精品二区不卡 | 亚洲一区二区三区免费观看 | 88国产精品视频一区二区三区 | 国内自拍网址 | 激情婷婷成人亚洲综合 | 日产精品一区二区三区免费 | 国产a久久精品一区二区三区 | 国产激情久久久久影 | 伊人色综合久久 | 久青草国产手机视频免费观看 | 久久六月丁香婷婷婷 | 亚洲第一视频网站 | 四虎永久在线观看视频精品 | 亚洲精品成人a | 国产视频合集 | 国产久热香蕉在线观看 | 欧美福利 | 国产成人精品免费视频大 | 国产成人亚洲精品91专区高清 | 国产女人视频免费观看 | 久久精品大片 | 婷婷色在线视频 | 成人在线精品视频 | 色影院在线 | 欧美岛国大片 | 2022免费国产精品福利在线 | 狂野欧美性猛交xxxx免费按摩 | 国产成人久久蜜一区二区 | 亚洲五月综合 | 日本一区二区视频在线观看 | 欧美7777kkkk免费看258 | 999精品免费视频 |