亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2070 | 回復(fù): 0
打印 上一主題 下一主題

初始Agile Software Development [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-03-07 13:02 |只看該作者 |倒序?yàn)g覽
轉(zhuǎn): Targeted novice


初始Agile Software Development



幾年前就經(jīng)常聽過結(jié)對編程、每日構(gòu)建、XP極限編程、Agile和Scrum了,可從未好好去了解它,紙上談兵對我來說實(shí)在是件很難的事?墒,在接觸到現(xiàn)在的外包項(xiàng)目一年后,我才在上個(gè)月后知后覺的發(fā)現(xiàn),這個(gè)項(xiàng)目就是典型得不能再典型的Agile敏捷迭代模式,并開始對敏捷開發(fā)興趣濃濃,力爭要全面了解它,包括各種methodologies。之前在網(wǎng)上下載了好幾本關(guān)于Agile與Scrum,還有了解了日本豐田Toyota的kanban,并再延續(xù)著看了個(gè)人敏捷管理等,吸收了一些如何管理個(gè)人、任務(wù)和時(shí)間的知識和方法論。Agile和Scrum的書是多,可是一開始就覺得都太偏重應(yīng)用了,于是今天就從下午3點(diǎn)起,開始在wiki上從Agile software development開始一路了解,里面涉及到敏捷開發(fā)及XP等各種要求、各種方法論,不同方法的利弊等,為我展開了一處不算全新卻很系統(tǒng)的畫卷,讓我能夠?yàn)橹罂创祟悤蛳禄A(chǔ)。在瀏覽的過程中,也手記了一些筆記,這兒粗略的整理一下。(實(shí)際上,自己去自行瀏覽,更好,幫助更大,這只是一篇wiki瀏覽筆記,我僅結(jié)合自身項(xiàng)目經(jīng)驗(yàn)及能力,來記下其中我認(rèn)為值得記錄的)。

Agile Software Development 在2001年被提出,敏捷軟件開發(fā)是基于迭代及增量開發(fā)的軟件開發(fā)方法論的組合,在自組織和跨功能的團(tuán)隊(duì)的協(xié)作過程中,這些方法論的需求和解決方案不斷進(jìn)化。
每個(gè)敏捷迭代中的流程都是完整的,從planning, requirement analysis, quote, prioritize, design, test case, coding, unit testing, acceptance test, code review, release, working,全部在一個(gè)周期在 1~4周的迭代中完成,如右圖。

Agile聲明中提到的12條準(zhǔn)則為 (Twelve principles underlie the Agile Manifesto):

1. 客戶滿意于快速交付可用軟件;
2. 歡迎客戶改變需求,即使是發(fā)生在開發(fā)后期;
3. 可頻繁發(fā)布軟件(周期按周而非月);
4. 用實(shí)際運(yùn)行的軟件來衡量迭代流程的規(guī)則;
5. 可持續(xù)的開發(fā),能被規(guī)律性的維護(hù);
6. 業(yè)務(wù)人員及開發(fā)人員每日近距離協(xié)作;
7. 面對面溝通是溝通的最佳形式(即一同工作);
8. 項(xiàng)目成員要主動(dòng)積極且可被信任;
9. 連續(xù)性關(guān)注技術(shù)和設(shè)計(jì);
10. 簡化;
11. 自組織(self-organizing)團(tuán)隊(duì);
12. 定期調(diào)整以改變結(jié)果。

Agile團(tuán)隊(duì)的局限性:

1. 敏捷團(tuán)隊(duì)通常都為5~9人,不宜過多比如多于20人,不過也有大型項(xiàng)目的敏捷成功案例,將大項(xiàng)目分割為多個(gè)小項(xiàng)目感覺也可以避免;
2. 離岸也會(huì)對敏捷造成不利影響,不過我目前的項(xiàng)目就正是離岸外包項(xiàng)目,感覺進(jìn)行得目前為止還算順暢,保持溝通順暢且人員較少可避免;WIKI上有一段"the offshore team. . . should have expertise, experience, good communication skills, inter-cultural understanding, trust and understanding between members and groups and with each other.",Martin Fowler有一篇關(guān)于如何對離岸offshore實(shí)施agile開發(fā)的文章。
3. 100%不能允許錯(cuò)誤發(fā)生的項(xiàng)目,比如外科手術(shù)項(xiàng)目;
4. 如果團(tuán)隊(duì)成員本身不夠能力敏捷,則不宜強(qiáng)行實(shí)施敏捷,agile需要的團(tuán)隊(duì)為少而精且人人都能自行管理并且是能cross-functional,還可能涉及到對不同文化的認(rèn)可和適應(yīng)。(如果了解一下ThoughtWorks對高級.net開發(fā)人員的JD, 就能大概了解agile對團(tuán)隊(duì)成員的要求了)。

敏捷方法不涉及到很大的任務(wù),主張將大任務(wù)分解為小任務(wù),來進(jìn)行短期迭代。項(xiàng)目成員需要能夠自組織(self-organizint)和跨功能(cross-functional),而不需要去理會(huì)管理的組織結(jié)構(gòu)及每個(gè)成員的項(xiàng)目職責(zé),人人均能自行全面負(fù)責(zé)被分配的任務(wù)(在一文中,agile也被定義為anti-management),并能參與面對面的每日會(huì)議(對offshore,則需要每日郵件,voice meeting等),向團(tuán)隊(duì)匯報(bào)前日工作并確定當(dāng)天工作內(nèi)容 - 參會(huì)人員中通常會(huì)有一名客戶代表(customer respective)來確認(rèn)需求優(yōu)先級、及觀察和審核agile流程和內(nèi)容,并能回答迭代過程中出現(xiàn)的問題。

在迭代過程中,可利用到一些提升編碼質(zhì)量和提高項(xiàng)目敏捷的技術(shù)、工具和方法,如 continuous integration, automated or xUnit test (如NUnit), pair programming, test driven development, design patterns, domain-driven design, code refactoring.

開發(fā)方法總體而言分為兩種,一種是adaptive,即根據(jù)需求隨時(shí)調(diào)整開發(fā)適應(yīng)需求變化,都是短期任務(wù);另一種是predictive,關(guān)注詳細(xì)的計(jì)劃,可以非常具體明確的對整個(gè)開發(fā)過程做出計(jì)劃,開發(fā)過程中很難調(diào)整方向,因?yàn)檎w計(jì)劃已經(jīng)根據(jù)初期目標(biāo)決定好,一旦出現(xiàn)需求變理,需要使用change control board去確定最值得做出的變更開發(fā)。


--------------------------------------------------------------------------------
一些知名的Agile Methods,
Agile Modeling
Agile Unified Process (AUP)
Dynamic Systems Development Method (DSDM)
Essential Unified Process (EssUP)
Extreme Programming (XP)
Feature Driven Development (FDD)
Open Unified Process (OpenUP)
Scrum
Velocity tracking
延伸閱讀:
Self-organizing team, Self-directive team
Cross-functional team
對開發(fā)人員的知識掌握及嘗試scope&depth要求較高,甚至有可能存在因?yàn)椴恍枰c項(xiàng)目關(guān)系太大的學(xué)習(xí)目的,即撿啥學(xué)啥,所以在Cost of Cross Functional Teams 中,Vikas提到了這種團(tuán)隊(duì)建設(shè)會(huì)存在開銷甚至說明“This might lead to the scenario of doing major optimization on their own project which may or may not be in the best interest of the organization.”
Pair-programming
Code review, Code analysis tool
NUnit test, TDD (test-driven development)
Scrum
Extreme Programming
敏捷初始,大概如上述,以后我會(huì)繼續(xù)學(xué)習(xí)敏捷開發(fā)及敏捷團(tuán)隊(duì),和各種敏捷方法。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP