多个敏捷团队同时做一个项目
by Mark Shead
由马克·希德(Mark Shead)
Many things get called Agile — especially by people who are selling something. But the Agile Manifesto makes it clear that it isn’t a methodology. It isn’t a specific way of doing software development. It isn’t a framework or a process. In fact, most of the things that are marketed as Agile tend to miss the point of what Agile actually is.
很多事情被称为敏捷-尤其是被卖东西的人。 但是《 敏捷宣言》明确指出,这不是一种方法论。 这不是进行软件开发的特定方式。 它不是框架或过程。 实际上,大多数以敏捷方式销售的产品往往会错失实际的含义。
Agile is a set of values and principles.
敏捷是一套价值观和原则。
Much of the discussion around Agile has to do with following different practices, using various methodologies, and even developing with specific tools. For example, while a team may find that having a daily standup is helpful, the standup is only “Agile” to the extent that it is the result of a team following the Agile principles and values.
关于敏捷的许多讨论都与遵循不同的实践,使用各种方法甚至使用特定工具进行开发有关。 例如,虽然团队可能会发现每天站立起来是有帮助的,但在某种程度上,站立是“敏捷”的,这是团队遵循敏捷原则和价值观的结果。
When you understand this, it is easy to see that Agile is really a collection of beliefs that teams can use for making decisions about how to do the work of developing software. While this means the term Agile is subjected to a great deal of abuse when people claim that this or that is the way to be Agile, it also means that if you truly understand what Agile is, it is surprisingly flexible.
当您了解这一点时,很容易看出敏捷确实是一种信念的集合,团队可以将其用于就如何进行软件开发工作做出决策。 虽然这意味着当人们声称敏捷就是敏捷的方式时,敏捷一词会遭受大量滥用,但这也意味着,如果您真正了解敏捷是什么,它就会非常灵活。
Agile doesn’t make decisions for you. Instead, it gives a foundation for teams to make decisions that result in better software development.
敏捷不会为您做出决定。 取而代之的是,它为团队制定决策提供了基础,从而可以更好地进行软件开发。
The Agile Manifesto is only 68 words, and simply says that the signers have found that they can develop software better by valuing the items on the left side of the list more than the items on the right side.
敏捷宣言只有68个字,简单地说,签名者发现,通过对列表左侧的项目进行评估比对右侧的项目进行评估,可以更好地开发软件。
The Agile Manifesto says:
敏捷宣言说:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
我们正在探索通过开发和帮助他人来开发软件的更好方法。 通过这项工作,我们开始重视:
Individuals and interactions over processes and tools
个人与流程和工具之间的互动
Working software over comprehensive documentation
通过全面的文档工作软件
Customer collaboration over contract negotiation
客户合作而非合同谈判
Responding to change over following a plan
响应计划变更
That is, while there is value in the items on the right, we value the items on the left more.
也就是说,尽管右侧的项目有价值,但我们更重视左侧的项目。
In addition to the values of the Manifesto, there are 12 principles that support the values. Once again the principles are very general, and are less about telling you what to do than they are about giving you the ability to make a good decision in a particular situation.
除了宣言的价值观外,还有12条支持价值观的原则 。 同样,这些原则非常笼统,与其说要告诉您怎么做,不如说是让您能够在特定情况下做出正确的决定。
The principles are:
原则是:
Since Agile is a collection of values and principles, its real worth is in giving people a common foundation for making decisions about the best way to develop software. For example, consider a team that’s discussing how to get a new project’s requirements from the business owner. The suggested approach is to require the business owner write down all the requirements and sign off on them before beginning the work.
由于敏捷是价值和原则的集合,因此其真正的价值在于为人们提供了决策最佳软件开发方式的共同基础。 例如,考虑一个正在讨论如何从业务所有者那里获得新项目需求的团队。 建议的方法是要求企业所有者在开始工作之前写下所有要求并签字。
A team that is following Agile would say:
跟随敏捷的团队会说:
“While that might work, isn’t that inconsistent with our belief that we should value customer collaboration over contract negotiation? And doesn’t it violate our principle that says the developers should be working with the business owners every day? How can we make this decision in a way that is consistent with our values and the principles we follow?”
“虽然这可能行得通,但这是否与我们认为我们应该重视客户协作而不是合同谈判这一信念相矛盾? 而且这是否违反我们的原则,即开发人员应该每天与企业主合作? 我们如何以与我们的价值观和遵循的原则相一致的方式做出此决定?”
Or consider a developer who is working on implementing a feature for the business owner. The developer realizes he needs a database to make the feature work. The first idea that comes to mind is to stop work on the feature and build out a robust database layer that will handle the needs of the feature and provide support for other development that will be needed later. If the developer believes in the Agile values and is trying to follow Agile principles, they would think:
或者考虑正在为企业主实施功能的开发人员。 开发人员意识到他需要一个数据库才能使功能正常工作。 我想到的第一个想法是停止对该功能的开发,并建立一个强大的数据库层,该层将处理该功能的需求并为以后需要的其他开发提供支持。 如果开发人员相信敏捷价值并试图遵循敏捷原则,他们会认为:
“But building out this layer means I will have to delay delivering what the customer can see as valuable software they can use. If I can find a way to build just what is necessary to deliver this feature, it will better align with my principles.”
“但是建立这一层意味着我将不得不推迟交付客户可以看到的有价值的软件。 如果我能找到一种方法来构建实现此功能所需的功能,它将更好地符合我的原则。”
When you have a team that is following Agile, they will make hundreds of decisions each week in the way described above.
当您拥有跟随敏捷的团队时,他们将按照上述方式每周做出数百个决策。
That is what it means to be Agile: making each decision based on the principles and values that the team has decided to follow.
这就是敏捷的意义:根据团队决定遵循的原则和价值观做出每个决定。
The decision-making process matters. You can’t try to short-circuit things by taking decisions made by another team and just blindly doing what they decided to do. Another team may make decisions based on the Agile principles and values and end up with a particular way of doing their work. Simply trying to mimic another team’s actions and practices won’t make your team Agile.
决策过程很重要。 您不能通过做出另一个团队的决定而盲目地做他们决定做的事情来缩短事情的发生。 另一个团队可能会根据敏捷原则和价值观做出决策,并最终以一种特定的方式开展工作。 仅仅试图模仿另一个团队的行为和实践就不会使您的团队敏捷。
After World War II, Melanesian islanders were observed trying to bring cargo planes and their supplies from the sky by mimicking the practices they had seen performed during the war. This included clearing the forest to make a landing strip complete with full-sized planes made out of straw. They also created structures that mimicked a control tower out of bamboo and had someone sit in it wearing headphones fashioned from coconuts.
第二次世界大战后,有人观察到美拉尼西亚岛上的居民试图模仿他们在战争中的表现,试图将货机及其补给品从空中带走。 这包括清理森林,以使起落跑道与用稻草制成的全尺寸飞机一起完成。 他们还创造了用竹子模仿控制塔的结构,并让有人戴着椰子制成的耳机坐在其中。
It is easy to fall into a similar type of cargo cult mentality when it comes to Agile. The things that are easy to notice in a highly-functional Agile team are the practices they are using. But the practices a team uses are the result of following Agile principles and values. It is less important what practice a team happens to be using than why they are using it. In fact, as time goes by, a good Agile team is probably going to change and refine what practices they use.
当谈到敏捷时,很容易陷入类似的货物崇拜观念。 在功能强大的敏捷团队中,很容易注意到的就是他们正在使用的实践。 但是团队使用的实践是遵循敏捷原则和价值观的结果。 与团队使用原因相比,团队恰好使用的实践重要性不那么重要。 实际上,随着时间的流逝,一支优秀的敏捷团队可能会改变并完善他们使用的实践。
A team might start with SCRUM and later find that Kanban is a better fit for delivering value to their customers. A team might begin standing up in a daily meeting and later decide it works better for everyone to stay sitting down. Another team might start out using Planning Poker to estimate story size before doing away with story points and instead splitting stories to where they are somewhere in the same range.
一个团队可能从SCRUM开始,后来发现看板更适合为客户提供价值。 团队可能会开始在日常会议中站起来,然后决定让每个人都坐下来更好。 另一个团队可能会开始使用Planning Poker估算故事大小,然后再删除故事点,而是将故事拆分到相同范围内的某个地方。
That isn’t to say it is useless to look at practices used by teams that are performing well, but you can’t go looking for practices to make you Agile. Your principles and values are what will make you Agile. You have to look for practices that support your principles and values. The way you select your practices is what determines whether you are being Agile or not. If a practice is selected because it looks like a good way to follow Agile principles, it is probably a good place to start. The same practice can work poorly for a team if it is selected for the wrong reason.
这并不是说查看表现良好的团队使用的实践是没有用的,但是您不能去寻找使您敏捷的实践。 您的原则和价值观将使您变得敏捷。 您必须寻找支持您的原则和价值观的实践。 选择实践的方式决定了您是否敏捷。 如果选择一种实践是因为它看起来像是遵循敏捷原则的好方法,那么它可能是一个很好的起点。 如果出于错误的原因选择了相同的实践,则对团队来说效果可能会很差。
So what is Agile?
那么什么是敏捷?
Agile is a set of values and principles.
敏捷是一套价值观和原则。
How does a team become Agile?
团队如何变得敏捷?
They make their decisions based on Agile values and principles.
他们根据敏捷的价值观和原则做出决策。
The decision-making process is how a team becomes Agile. The values and principles have enough flexibility to allow teams in a wide variety of organizations to develop software in the ways that work best for their particular situation. It provides enough direction to help a team continually move toward their full potential.
决策过程就是团队如何变得敏捷。 这些价值观和原则具有足够的灵活性,以允许各种组织中的团队以最适合其特定情况的方式开发软件。 它提供了足够的指导,以帮助团队不断发挥自己的全部潜力。
Thanks for reading! This article was originally published on my blog, and you can find more videos like this on my Youtube channel.
谢谢阅读! 本文最初发布在我的博客上 ,您可以在我的Youtube频道上找到更多类似的视频。
翻译自: https://www.freecodecamp.org/news/you-say-your-team-is-agile-but-that-word-may-not-mean-what-you-think-6dd26eaf9b21/
多个敏捷团队同时做一个项目