自渎是什么意思| 归元寺求什么最灵验| 梦见木头是什么意思| 北京户口有什么好处| bmi值是什么意思| 棕色和什么颜色搭配好看| 12月份是什么星座的| 宫口开了有什么症状| 女性长胡子是什么原因| 空气栓塞取什么卧位| 不完全性右束支阻滞是什么意思| 男人要的归属感是什么| 七月八号是什么日子| 摩拳擦掌是什么意思| 子宫出血什么原因| 安全期一般是什么时候| 耳洞发炎流脓用什么药| 星期六打喷嚏代表什么| 嘴唇上长痣代表什么| 扁桃体切除有什么坏处| 嗓子痛吃什么好| 靶向是什么意思| 周边什么意思| 南瓜有什么功效| 腐竹和什么一起炒好吃| 鳞状上皮炎症反应性改变是什么意思| 结痂什么意思| 平常吃什么补肾| bdp是什么意思| 手机买什么好| 居高临下是什么意思| 白头翁代表什么生肖| 梦见自己牙齿掉光了是什么征兆| 脑供血不足吃什么药最好| 狗狗肠胃不好吃什么药最好| 挂名什么意思| 感染梅毒有什么症状| 前列腺炎中医叫什么病| 什么天山| 如获至宝是什么意思| 传字五行属什么| 张良和刘邦是什么关系| 千年等一回是什么生肖| 古驰是什么牌子| 缠足是什么时候开始的| 杭州五行属什么| 上半身胖属于什么体质| 4ever是什么意思| 什么充电宝可以带上飞机| 看食道挂什么科室| 坐阵是什么意思| 1923年属什么生肖| 女生的小鸡鸡长什么样| 有小肚子是什么原因| 缓刑是什么意思还要坐牢吗| 阳历六月是什么星座| 女朋友的弟弟叫什么| 吃什么可以增加免疫力| 狗皮肤溃烂用什么药| 困是什么意思| 云南白药治什么| ds什么意思| 犀利的眼神是什么意思| 食管炎吃什么药| 麝香是什么动物| 什么叫艾滋病| 腱鞘是什么| 捡漏什么意思| 姨妈期间不能吃什么| 早晨起来手肿是什么原因| ko是什么意思啊| 健脾胃吃什么食物好| 男人秒射是什么原因| 七月五号是什么星座| 乐高为什么这么贵| 感谢老师送什么花| 肠痉挛是什么症状| 乳腺结节3类什么意思| 坐月子吃什么水果| 职业年金是什么意思| 例假是什么意思| 盆腔炎要做什么检查| 门可罗雀是什么意思| 格力空调se是什么意思| 孩子血铅高有什么症状| 头发秃一块是什么原因| 嗓子有痰吃什么药| 吃什么解酒快| 孩子容易出汗是什么原因| 什么时候出伏| 儿童过敏性结膜炎用什么眼药水| 包皮炎挂什么科| 薄谷开来为什么杀人| 灰指甲长什么样| 女性尿特别黄是什么原因| o型血的人是什么性格| 生长纹是什么原因| 93年什么命| 肝功能看什么科室| 掌心有痣代表什么| 结膜炎角膜炎用什么眼药水| 胆固醇高应注意什么| 治疗勃起困难有什么药| 男生为什么会遗精| 肺结核是什么症状| bitch是什么意思| 看胰腺挂什么科| 穿丝袜有什么好处| p2是什么意思| 运单号是什么| 小便是红色的是什么原因男性| 冒昧打扰是什么意思| 无机磷偏低有什么影响| 梦见前男友是什么意思| 户籍地是什么| 抹胸是什么| 穿刺手术是什么意思| 红颜什么意思| 医院挂号用什么app| 春秋是一部什么体史书| 献血有什么好处和坏处| 血常规wbc是什么意思| 苏格兰牧羊犬吃什么| 三月十六是什么星座| 头皮痒头皮屑多是什么原因| 冲太岁是什么意思| 糟卤是什么| 结婚6年是什么婚| 什么是党的根本大法| 猫眼石是什么材质| 小孩什么时候会说话| 牙胶是什么| 阿胶是什么| 梦见包丢了是什么意思| 脊膜瘤是什么样的病| 眼睛大小不一样是什么原因| 血清胰岛素测定查什么| 人为什么会焦虑| 黄瓜为什么是苦的| 红颜知己是什么意思| 眼震电图能查什么病| 金句是什么意思| 椰子水有什么功效| 肩周炎用什么药| 坚果补充什么营养成分| 门庭若什么| 继往开来是什么意思| 左上腹是什么器官| 降压药什么时候吃比较好| 什么孩子该看心理医生| 什么东西补气血效果最好| 男性内分泌失调有什么症状| 什么是穿刺手术| 谷雨是什么时候| 什么品牌的奶粉最好| 每晚都做梦是什么原因| 斯里兰卡属于什么国家| 引火归元是什么意思| 焦俊艳和焦恩俊是什么关系| 阎王是什么意思| 1921年中国发生了什么| 八十岁是什么之年| 斑秃用什么药| 血小板低是什么引起的| 小腹胀痛男性什么原因| 辐照食品是什么意思| 发烧拉稀是什么原因| 有什么颜色| 尿常规白细胞3个加号什么意思| 出炉是什么意思| 明天是什么节气| 枸杞子和什么泡水喝补肾壮阳| 孕期头晕是什么原因| 龙凤呈祥代表什么生肖| 金牛座与什么星座最配| 梨花是什么颜色| 宫腔镜检查后需要注意什么| 做什么菜适合放胡椒粉| gps是什么意思| 纪元是什么意思| 95开头的是什么电话| 什么样的降落伞| 什么是水中毒| 叶公好龙是什么故事| 便秘不能吃什么食物| 头晕四肢无力是什么原因| 什么样的脸型有福| 什么是基本养老金| 桃代表什么生肖| 什么是耳石| 腱鞘炎用什么药| 上面一个处下面一个日是什么字| 10月15号是什么星座的| grace是什么意思| 得了幽门螺旋杆菌有什么症状| 幽门螺旋杆菌的症状是什么| NT是什么钱| 排卵期一般在什么时候| 桃花是什么颜色| 苦荞是什么植物| 来例假肚子疼吃什么药| 什么时候不容易怀孕| 妊娠高血压对胎儿有什么影响| 病史是什么意思| 憋气2分钟算什么水平| 胃不舒服吃什么药| 紫茉莉什么时候开花| 转的第四笔是什么| 尿酸高吃什么可以降下去| 口腹蜜剑什么意思| 适得其反是什么意思| 城市户口和农村户口有什么区别| mds是什么病| 家里出现蛇是什么征兆| 土字旁的字有什么| 起酥油是什么| 愤青是什么意思| lbs什么意思| 什么是春梦| 如意什么意思| bg是什么意思| 7.8号是什么日子| 黄褐斑是什么样的图片| 36是什么意思| 12378是什么电话| 什么叫双相障碍| 嘴唇一圈发黑是什么原因造成的| 青梅是什么意思| ami是什么牌子| ao是什么意思| 曹操的父亲叫什么名字| 头疼一般是什么原因引起的| 冠心病吃什么药最好| 蛋黄吃多了有什么坏处| 抹茶是什么意思| 血氯高是什么原因| 什么是碧玺| 胆固醇低是什么原因| 便秘吃什么药快速排便| 尿道口流白色液体是什么病| 空腔是什么意思| 什么动物睡觉不闭眼睛| 让心归零是什么意思| 十二朵玫瑰花代表什么意思| 控线是什么意思| 乌龟代表什么生肖| 托腮是什么意思| 月柱金舆是什么意思| 吃完麻辣烫吃什么补救| 来大姨妈吃什么水果好| 早孕三项检查什么| 哀怨是什么意思| 农历五月十九是什么日子| 梦见别人打架是什么意思| 灰溜溜是什么意思| 腰扭伤吃什么药最有效| d cup是什么意思| 京剧脸谱黑色代表什么| 若什么若什么的成语| rr过低是什么意思| 男人手大代表什么| b端和c端是什么意思| 股市xd是什么意思| 21三体临界风险是什么意思| 百度

什么除草剂三年不长草

百度 历史地看,“文化中国梦”是近代以来中国先进分子所追求的文化强国之梦。

In the last decade agile software development has moved from being a cult technique to an increasing part of the mainstream. I was lucky enough to be at the beginning of this story, with early experiences on the 'birth project' of Extreme Programming and a co-author of the Manifesto for Agile Software Development. Thoughtworks started using agile techniques in 2000 and we've since successfully used them on our projects world-wide. We've learned a huge amount about using agile methods in enterprise settings and are committed to sharing this learning to help foster their intelligent adoption.

A guide to material on martinfowler.com about agile software development.

The Essence of Agile Software Development

It's been over a decade since the developers of agile methods first started to talk about their approaches. In this time agile thinking has changed from a niche activity to an approach that is widely used. However, like any popular technique, agile software development has suffered from semantic diffusion, so much of what we see under the name of agile doesn't bear much resemblance to what the early pioneers were doing. So I think it's important to revisit the essential elements of agile thinking.

I've always seen the essence of agile thinking resting on two contrasts with traditional plan-driven software engineering:

Agile Development

Plan-driven engineering expects us to come up with a predictive plan that precedes development. The plan lays out the people, resources and timelines for the overall project. Software design is also done up-front, with implementation expected to conform with this design. Success is measured according to how well development follows this plan.

Agile plans are a baseline that we use to help us control changes. Agile teams plan just as carefully as traditional teams, but the plans are constantly revising to reflect the things we learn during a project. Success is based on value delivered by the software.

Plan-driven engineering seeks a process which provides enough structure to reduce individual variations to insignificance. Such an industrial process is more predictable, copes better when people transfer, and is easier to define skills and career paths.

Agile engineering sees software development as a primarily human activity, where the people involved and how they bond as a team are the primary driver behind success. Processes (and tools) can enhance a team's effectiveness, but are always second-order influences.

The New Methodology

After my positive experiences with Extreme Programming in the 90s, I became curious about similar sounding approaches such as Scrum, Crystal, and DSDM. Digging into them, I distilled the common characteristics of these new methodologies: preferring adaptive planning to predictive planning, and treating people as more important to success than what process was used. In time these approaches gathered under the banner of agile software development, (and I revised the article) but I still find the perspective in this article a good way to understand the essence of agility.

by Martin Fowler

13 Dec 2005

Read more…

article

agile process theory

Manifesto for Agile Software Development

It may not have started it all, but the manifesto gave the movement a name together with a dollop of initial energy. A decade later it still captures the essence of what agile methods are about.

by 17 authors

Read more…

agile

Talk: Agile Essence and Fluency

It's been over a decade since we wrote the Manifesto for Agile Software Development, and the agile meme has been more successful than we ever could have hoped for. But like any success, there is the regular danger of Semantic Diffusion. I try to combat this disease by describing the essence of agile software development: preferring adaptive planning to predictive planning and favoring people over process.

I then describe the Agile Fluency model, which I find an effective way to think about how agile teams become proficient, and the steps you typically go through as you become a more skillful user of agile techniques.

2019

More…

video

24 minutes

The Agile Fluency Model

Agile methods are solidly in the mainstream, but that popularity hasn't been without its problems. Organizational leaders are complaining that they’re not getting the benefits they expected. This article presents a fluency model that will help you get the most out of agile ideas. Fluency evolves through four distinct zones, each with its own benefits, required proficiencies, and key metrics.

by James Shore and Diana Larsen

6 Mar 2018

Read more…

article

agile process theory


Technical Practices

To make agile work, you need solid technical practices. A lot of agile education under-emphasizes these, but if you skimp on this you won't gain the productivity and responsiveness benefits that agile development can give you (stranding you in the first zone of agile fluency). This is one of the reasons that I still think that Extreme Programming is the most valuable of the named agile methods as a core and starting point.

Refactoring Guide

Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a “refactoring”) does little, but a sequence of these transformations can produce a significant restructuring. Since each refactoring is small, it's less likely to go wrong. The system is kept fully working after each refactoring, reducing the chances that a system can get seriously broken during the restructuring.

Is High Quality Software Worth the Cost?

A common debate in software development projects is between spending time on improving the quality of the software versus concentrating on releasing more valuable features. Usually the pressure to deliver functionality dominates the discussion, leading many developers to complain that they don't have time to work on architecture and code quality. This debate is based on the assumption that increasing quality also increases costs, which is our common experience. But the counter-intuitive reality is that internal software quality removes the cruft that slows down developing new features, thus decreasing the cost of enhancing the software.

Continuous Delivery Guide

It’s hard enough for software developers to write code that works on their machine. But even when that’s done, there’s a long journey from there to software that’s producing value - since software only produces value when it’s in production. he essence of my philosophy to software delivery is to build software so that it is always in a state where it could be put into production. We call this Continuous Delivery because we are continuously running a deployment pipeline that tests if this software is in a state to be delivered.

by Martin Fowler

Read more…

guide

continuous delivery

Self Testing Code

Self-Testing Code is the name I used in Refactoring to refer to the practice of writing comprehensive automated tests in conjunction with the functional software. When done well this allows you to invoke a single command that executes the tests - and you are confident that these tests will illuminate any bugs hiding in your code.

Is Design Dead?

For many that come briefly into contact with Extreme Programming, it seems that XP calls for the death of software design. Not just is much design activity ridiculed as “Big Up Front Design”, but such design techniques as the UML, flexible frameworks, and even patterns are de-emphasized or downright ignored. In fact XP involves a lot of design, but does it in a different way than established software processes. XP has rejuvenated the notion of evolutionary design with practices that allow evolution to become a viable design strategy. It also provides new challenges and skills as designers need to learn how to do a simple design, how to use refactoring to keep a design clean, and how to use patterns in an evolutionary style.

Code As Documentation

One of the common elements of agile methods is that they raise programming to a central role in software development - one much greater than the software engineering community usually does. Part of this is classifying the code as a major, if not the primary documentation of a software system.

by Martin Fowler

22 Mar 2005

Read more…

bliki

agile documentation


Collaboration

Improving human collaboration is at the heart of agile thinking. Communication and feedback are two of the stated values of Extreme Programming, and agilists look to find ways to maximise these as part of their projects

It's Not Just Standing Up: Patterns for Daily Standup Meetings

Daily stand-up meetings have become a common ritual of many teams, especially in Agile software development. However, there are many subtle details that distinguish effective stand-ups and a waste of time.

by Jason Yip

21 Feb 2016

Read more…

article

agile

On Pair Programming

Many people who work in software development today have heard of the practice of pair programming, yet it still only has patchy adoption in the industry. One reason for its varying acceptance is that its benefits are not immediately obvious, it pays off more in the medium- and long-term. And it's also not as simple as “two people working at a single computer”, so many dismiss it quickly when it feels uncomfortable. However, in our experience, pair programming is vital for collaborative teamwork and high quality software.

by Birgitta B?ckeler and Nina Siessegger

15 Jan 2020

Read more…

article

extreme programming collaboration

User Story

User Stories are chunks of desired behavior of a software system. They are widely used in agile software approaches to divide up a large amount of functionality into smaller pieces for planning purposes. You also hear the same concept referred to as a feature, but the term “story” or “user story” has become prevalent in agile circles these days.

by Martin Fowler

22 Apr 2013

Read more…

bliki

agile requirements analysis

Conversational Stories

Here's a common misconception about agile methods. It centers on the way user stories are created and flow through the development activity. The misconception is that the product owner (or business analysts) creates user stories and then put them in front of developers to implement. The notion is that this is a flow from product owner to development, with the product owner responsible for determining what needs to be done and the developers how to do it.

Frequency Reduces Difficulty

One of my favorite soundbites is: if it hurts, do it more often. It has the happy property of seeming nonsensical on the surface, but yielding some valuable meaning when you dig deeper

An Appropriate Use of Metrics

Management love their metrics. The thinking goes something like this, “We need a number to measure how we’re doing. Numbers focus people and help us measure success.” Whilst well intentioned, management by numbers unintuitively leads to problematic behavior and ultimately detracts from broader project and organizational goals. Metrics inherently aren’t a bad thing; just often, inappropriately used. This essay demonstrates many of the issues caused by management’s traditional use of metrics and offers an alternative to address these dysfunctions.

Remote versus Co-located Work

There isn't a simple dichotomy of remote versus co-located work, instead there are several patterns of distribution for teams each of which has different trade-offs and effective techniques suitable for them. While it's impossible to determine conclusive evidence, my sense is that most groups are more productive working in a co-located manner. But you can build a more productive team by using a distributed working model, because it gives you access to a wider talent pool.

Using an Agile Software Process with Offshore Development

For the last four years Thoughtworks has operated a lab in Bangalore India to support our software development projects in North America and Europe. Traditional approaches to offshore development are based on plan-driven methodologies, but we are very firmly in the agile camp. Here I discuss our experiences and lessons learned in doing offshore agile development. So far we've discovered that we can make it work, although the benefits are still open to debate. (Although this article was last updated in 2006, I our visited our offshore work in 2011 and found the lessons to still be relevant and thus the article did not need a further significant revision.)

by Martin Fowler

18 Jul 2006

Read more…

article

agile

Customer Affinity

When someone is looking at what makes up a top-class enterprise software developer, often the conversation may turn to knowledge of frameworks and languages, or perhaps the ability to understand complicated algorithms and data structures. For me, one of the most important traits in a programmer, or indeed in a development team, is something that I'll call Customer Affinity. This is the interest and closeness that the developers have in the business problem that the software is addressing, and in the people who live in that business world.

by Martin Fowler

28 Jul 2006

Read more…

bliki

agile team organization requirements analysis

Outcome Oriented

People who sponsor development of software usually aren’t very interested in development metrics such as velocity or frequency of deployment to production. They care more about business benefits that the software will deliver such as lower manual effort, better sales conversion, greater customer satisfaction, i.e business outcomes. Outcome-oriented teams are those that are mandated and equipped to deliver business outcomes, such teams have people with the capability to carry out all necessary activities to realize the outcome.. By contrast, ActivityOriented teams are neither equipped nor mandated to do so. They can only perform one of several activities required to realize an outcome.

by Sriram Narayan

1 Jun 2016

Read more…

bliki

agile adoption team organization


Problems

While the agile mindset can help many teams deliver software more effectively, the world of agile software is far from free of problems. As with any popular approach semantic diffusion has set in, resulting in many things being done in the name of “agile” that have little to do with the ideas that motivated us to write the manifesto.

The State of Agile Software in 2018

On the surface, the world of agile software development is bright, since it is now mainstream. But the reality is troubling, because much of what is done is faux-agile, disregarding agile's values and principles. The three main challenges we should focus on are: fighting the Agile Industrial Complex and its habit of imposing process upon teams, raising the importance of technical excellence, and organizing our teams around products (rather than projects). Despite the problems, the community's great strength is its ability to learn and adapt, tackling problems that we original manifesto authors didn't imagine.

by Martin Fowler

25 Aug 2018

Read more…

article

agile talk videos

Semantic Diffusion

I have the habit of creating Neologisms to describe the things I see in software development. It's a common habit amongst writers in this field, for software development still lacks much useful jargon. One of the problems with building a jargon is that terms are vulnerable to losing their meaning, in a process of semantic diffusion - to use yet another potential addition to our jargon.

by Martin Fowler

14 Dec 2006

Read more…

bliki

agile adoption dictionary bad things writing

Agile Imposition

According to the current board of the Agile Alliance, agile methods have “crossed the chasm” , which I think means they are becoming more widespread. While this has its advantages, it also brings problems. As a methodology or design approach becomes fashionable, then we see a lot people using it, or teaching it, who are focusing on the fashion rather than the real details. This can lead to reports of things done in agile's name which are a polar opposite to the principles of movement's founders.

by Martin Fowler

2 Oct 2006

Read more…

bliki

agile agile adoption

Flaccid Scrum

There's a mess I've heard about with quite a few projects recently. It works out like this:

  • They want to use an agile process, and pick Scrum
  • They adopt the Scrum practices, and maybe even the principles
  • After a while progress is slow because the code base is a mess

by Martin Fowler

29 Jan 2009

Read more…

bliki

agile agile adoption bad things

Feature Devotion

A common, perhaps dominant, practice of agile methods is to develop a list of features (often called stories) for the software that's being built. These features are tracked with index cards, work queues, burndown charts, backlogs, or whatever your tool of choice is.

脾胃湿热吃什么药好 亟是什么意思 空调外机为什么会滴水 断章取义是什么生肖 泰山石敢当是什么意思
大便带油花是什么原因 什么面料不容易皱 孤帆远影碧空尽的尽是什么意思 为什么女生 尿检白细胞阳性是什么意思
2000年属什么 六月十八是什么星座 香蕉有什么功效和作用 长寿花什么时候扦插 酌情是什么意思
高中学考是什么意思 六月八日是什么星座 卤蛋是什么意思 刚开始怀孕会有什么症状 属虎适合佩戴什么饰品
46什么意思hcv9jop6ns3r.cn 梦见牙齿掉光了是什么征兆hcv8jop1ns8r.cn 三斤八两什么意思inbungee.com 脚酸疼是什么原因引起的吗zhongyiyatai.com 天后是什么意思hcv8jop0ns9r.cn
桑葚酒有什么功效hcv8jop5ns5r.cn 今年28岁属什么生肖xinmaowt.com 盆腔炎做什么检查hcv8jop1ns4r.cn 血压高会引起什么症状96micro.com 头发油性大是什么原因hcv7jop5ns2r.cn
小孩小便红色是什么原因dayuxmw.com 总是犯困是什么原因hcv7jop7ns1r.cn 为什么说黑鱼是鬼hcv8jop2ns6r.cn 吃什么可以补阳气inbungee.com 今天什么日子老黄历hcv8jop2ns3r.cn
ahc属于什么档次chuanglingweilai.com 太阳像什么的比喻句hcv8jop9ns8r.cn 肺部散在小结节是什么意思hcv8jop1ns8r.cn 湿气重会有什么症状hcv8jop7ns7r.cn 囊性回声是什么意思hcv8jop0ns4r.cn
百度