Scrum:太多还是不够?

发布于 2024-07-11 09:57:41 字数 1455 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

蓝眸 2024-07-18 09:57:42

Scrum确实有效。 并非所有团队在所有情况下都适用,但它已被证明是有效的。

我建议在您的业务环境允许的情况下尝试采用教科书 Scrum,看看效果如何,然后进行调整

为什么你的 Scrum 管理员不想将任务从 sprint 待办事项中移出? 他不是100%接受Scrum原则吗? (我认为 Scrum 大师会担心这一点)

实施 Scrum 的大多数问题实际上只是 Scrum 流程暴露的团队或业务中的问题,例如 - 如果您的冲刺因不可预见的支持问题而被放弃,这表明您没有分配足够的资源资源支持

Scrum does work. Not with all teams in all situations, but it has been shown to work.

I would suggest trying to embrace textbook Scrum as much as your business environment allows, see how that works out, and then tune it.

Why does your Scrum master not want to move tasks out of the sprint backlog? Does he not 100% embrace the principles of Scrum? (I would see that as worrying in a Scrum master)

Most problems implementing Scrum are actually just problems in the team or business being exposed by the Scrum process e.g. - if your sprints are thrown out by unforeseen support issues this suggests you are not allocating enough resource to support

无人接听 2024-07-18 09:57:42

每个公司都是不同的,每个项目都是不同的,每个客户都是不同的。

我认为,在不适合该方法的环境中过于严格地遵循 Scrum(或任何其他方法)很容易失败,就像在适合的项目中过于松散地遵循 Scrum 一样容易失败。

最后,质量检查网站中的一些通用答案并不能替代对您自己的项目、公司、团队和客户的认真分析 - 没有神奇的公式,您必须做出自己的决定。

Every company is different, every project is different and every client is different.

I think it's just as easy to fail by following scrum (or any other methodology) too closely in an environment that doesn't fit the methodology as it is to fail because you follow scrum too loosely in a project that does fit.

At the end some generic answer in a QA site is no replacement to serious analysis of your own project, company, team and clients - there is no magic formula and you have to make your own decision.

情独悲 2024-07-18 09:57:42

答案:您需要同时采用 Scrum 和 XP 才能充分发挥 Scrum 的优势。

原因:

原因是基于多年从事 XP 和 Scrum 的经验,特别是我从 Jeff Sutherland 的演讲中学到的知识(2009 年 5 月在伦敦举行的 ACCU)

  • Scrum 是一种管理技术< /strong> - 不一定是软件制作方法。 有些人在其他领域使用 Scrum,例如准备博物馆展览和运营宗教机构……因此它具有使多学科团队以小增量适应性地交付工作所需的机制。
  • Scrum,最初包含了所有极限编程实践。 Jeff Sutherland 实际上说过,他从未见过一个 Scrum 项目在不使用极限编程实践的情况下实现了 Scrum 所衡量的更高的生产力。
  • Scrum 和 XP 都来自相同的背景 - 面向对象编程,特别是使用 Smalltalk。 程序员们开发了 XP,而管理人员则开发了 Scrum。 您需要两个方面——开发实践和管理实践。
  • 故意从 Scrum 中删除 XP 实践,以便更容易采用。 - 实施 XP 实践很困难,而且很难快速采用它们。 Jeff 实际上说 Ken Schwaber 删除了 XP 实践来帮助人们开始使用 scrum。 现在的危险在于,这种最小限度的混乱已经成为人们所看到和期望的一切。
  • 许多非技术项目经理现在教授 Scrum - 但他们不具备教授 XP 的技能
  • 并非所有开发人员都认为 XP 实践易于采用 - 他们可以硬推销,需要几个月的时间,而不是建立基本 Scrum 所需的 2 天。

Answer: You need to adopt both Scrum and XP together to get the full benefits of scrum.

Reasons:

The reasons are based on years of doing XP and scrum, and specifically on what I learned from Jeff Sutherland's talk (for the ACCU in London, May 2009)

  • Scrum is a management technique - not necessarily a software production method. Some people use scrum in other domains e.g. preparing museum exhibitions and running religious institutions... so it has the mechanisms you need to make a multidisciplinary team deliver work adaptably in small increments.
  • Scrum, originally included all the extreme programming practices. Jeff Sutherland actually said that he's never seen a scrum project achieve the higher orders of productivity measured for scrum without using the extreme programming practices.
  • Scrum and XP both come from the same background - Object-oriented programming, specifically with Smalltalk. The programmers went off and developed XP whilst the management people created scrum. You need both aspects - development practices and management practices.
  • The XP practices were deliberately removed from Scrum to make it easier to adopt. - Implementing the XP practices is hard and it's difficult to get them adopted quickly. Jeff actually said that Ken Schwaber removed the XP practices to help people get started with scrum. The danger now is that this minimal scrum has become all that people see and expect.
  • Lots of non-technical project managers now teach scrum - but they don't have the skillset to teach XP
  • Not all developers find the XP practices easy to adopt - they can be hard sell and it takes a few months rather than the 2 days it takes to establish basic scrum.
喜爱纠缠 2024-07-18 09:57:42

Scrum 并不尝试解决软件开发中的技术问题。 这只是一个小的管理过程。

  • Scrum 的优势在于它不会因为规定大量不必要或不相关的技术工作而造成阻碍
  • Scrum 的弱点在于它不会告诉您应该采取哪些良好的技术实践。

极限编程确实解决了软件开发中涉及的技术问题,并且它非常适合争吵。 Scrum 人员没有强迫每个人都进行 XP 技术实践的原因是,实施这些技术实践大约需要 6 个月的时间,而不是实施最基本的 Scrum 所需的 2 天。

无论 Scrum 是否“邪恶”——它肯定也有缺点。 我们在 2009 年伦敦 XP Days 上详细讨论了 XP 和 Scrum 之间的不稳定关系: http://xpday-london.editme.com/WhereHasXpGone

Scrum doesn't attempt to address the technical issues in software development. It's just a small management process.

  • The strength of scrum is that it doesn't get in the way by prescribing lots of unnecessary or irrelevant technical work.
  • The weakness of scrum is that it doesn't tell you what good technical practices to do.

Extreme Programming does address the technical issues involved in software development and it fits very well within scrum. The reason the scrum people didn't force everyone to do the XP technical practices is that it takes about 6 months to implement those tech practices, rather than the 2 days it takes to implement the most basic scrum.

Whether or not scrum is "evil" - there are certainly drawbacks with it. We discussed the uneasy relationship between XP and Scrum at length at XP Days, London, 2009: http://xpday-london.editme.com/WhereHasXpGone

深陷 2024-07-18 09:57:42

Scrum 并不是您所展示的真正问题。 大多数开发方法都有效,甚至瀑布式方法(尽管我们喜欢抨击它)也有效。 Scrum 确实让你更加专注于重要的事情,但它不会阻止人们做出错误的决定,比如不真正遵循流程。

该系统的核心非常简单。

看看问题所在。
定义完成了什么。
创建一系列可以帮助您完成的任务。
估计这些任务。
选择足够多的内容,以便您可以在短时间内完成某件事。
完成任务。
冲洗并重复。

好吧,诚然这些步骤已经被简化了,而且我还没有引入 Scrum Master 和客户。 但重点是,该框架只是一个基本的时间管理策略。 如果系统中的人员混乱且不擅长完成工作,那么 Scrum 确实无法帮助他们。

Scrum is not really the problem that you are showing. Most development methodologies work, even waterfall, as much as we like to bash it, works. Scrum does make you concentrate a little more on the important things, but it won't stop people from making bad decisions like not really following the process.

The system is pretty simple at its core.

See the problem.
Define what done is.
Create a series of tasks that will get you to done.
Estimate those tasks.
Select enough of those so that you can get something done in a short period of time.
Complete the tasks.
Rinse and repeat.

OK admittedly these steps are simplified, and I haven't thrown in a scrum master and a customer. But the point is that the framework is just a basic time management strategy. If the people in your system are chaotic and not good at getting things done then scrum really won't help them.

青芜 2024-07-18 09:57:42

最好从书本上开始应用 Scrum,并从敏捷真正理解基本原则和价值观宣言,在对其进行自定义之前,这样该过程就不会变性。 确保在每次迭代(Sprint)结束时运行回顾检查并调整”您的流程并消除浪费

对于您的 Scrum Master,他可以跟踪从当前 Sprint 中删除的内容。 此外,Sprint 的计划是基于之前的 Sprint 成就,而不是之前的计划。 我不明白它的意思。

It's better to start applying Scrum by the book, and to really understand the underlying principles and values from the Agile manifesto, prior to customize it, so that the process does not get denatured. Be sure to run retrospectives at the end of each and every iteration (Sprint) to "inspect and adapt" your process and eliminate waste.

For your Scrum Master, he can track what is removed from the current Sprint. Also Sprints are planned based on the previous Sprints achievement, not on what was previously scheduled. I do no get its point.

空心空情空意 2024-07-18 09:57:41

我想说,如果您不尽早且经常发布,那么您确实缺少敏捷性的关键组成部分之一。 如果您不这样做,您的流程就不够敏捷,并且必然会遇到与传统的计划驱动流程相同的问题。 这可能是暂时的情况,因为您刚刚习惯了一些事情,但您需要尽快(并且定期)开始释放。

你总是会遇到阻碍的问题,但你可以通过缩短冲刺长度来解决这个问题。 客户可能等不了一个月,但有些事情他们可能可以等两周。 那么,较短的冲刺长度可能会帮助您将一些请求推迟到下一个冲刺,从而减少它们的干扰。 您还需要坦诚地告诉客户,这些干扰实际上导致了您的进度受到影响。 如果他们知道他们选择的功能因某些请求而延迟,他们可能会自愿选择等待。

我想说的另一个观察是,与几乎任何事情一样,最好在学习时尽可能严格地遵循该模式。 一旦你很好地掌握了基本原则,你就可以更清楚地看到哪些原则可以改变、打破或替换,以改进流程。 在你真正明白之前,你改变的东西可能会伤害或帮助——你真的不知道,因为你没有经验告诉你事情应该如何运作。 除非您的 Scrum 管理员确实经验丰富,否则您可能希望更接近定义的实践,直到您获得了更多的冲刺。

I would say that you are really missing one of the key components of agility if you don't release early and often. To the degree that you don't do this, your process is not agile and bound to suffer the same sorts of problems that traditional, plan-driven processes have. It may be that this is a temporary condition as you are just getting used to things, but you need to start releasing soon (and regularly).

You'll always have the problem with show-stoppers, but you may be able to help this by shortening your sprint length. The customer may not be able to wait a month, but they may be able to wait 2 weeks for some things. A shorter sprint length, then, may help you to defer some requests to the next sprint making them less disruptive. You also need to be upfront with the customer that the disruptions are actually causing your pace to suffer. They may voluntarily choose to wait if they know that their chosen features are being delayed by some requests.

Another observation that I would make is that, as with almost anything, it's better to start out by following the pattern as closely as you can while you are learning. Once you have a good grasp of the fundamental principles, you can then see where some principles can be bent, broken, or replaced much more clearly to improve the process. Until you really get it, the things you change may hurt or help -- you really have no idea since you don't have the experience that tells you how things ought to be working. Unless your Scrum master is really experienced, you may want to hew closer to the defined practices until you've got a few more sprints under your belt.

2024-07-18 09:57:41

我读到的有关 Scrum 的几乎所有内容都表明关键之一是调整流程以适应您自己的情况。 没有两个开发团队是相同的,不同的人会做不同的事情。

Scrum 背后的主要思想是:

有一个从需求到开发再返回到利益相关者的紧密反馈循环。

这使得开发团队能够不断验证他们正在构建的东西是否是真正想要的并且允许的随着需求和期望的变化,可以轻松调整开发。 利益相关者可以随时添加或删除功能,并且可以根据需求的变化调整功能的优先级。

使软件保持在任何给定冲刺结束时都可以发布的状态。

这并不是说您已经发布了每个冲刺,而是说如果客户决定他们想要拥有最新的东西,您就可以发布。 这也有助于开发团队避免出现集成地狱的情况,这种情况是由于人们一次单独地工作几个月而导致项目的一部分。

对开发中发生的事情保持完全透明,每个人都需要愿意做出权衡。

这就是大多数项目失败的地方,而如果每个人都参与这个过程,Scrum 才能真正成功。 许多开发项目都被设置为发布必须在 Y 日期发布 X 功能,并且没有灵活性来更改它。 当开发人员在清单上添加所有必需的功能时,这会导致功能半途而废和漏洞百出。

现实情况是,软件开发中会发生意想不到的事情。 通过开放式沟通和 Scrum 流程的自愿参与者,客户和开发人员可以不断评估项目的当前状态,并就项目剩余工作的优先级做出明智的决策。

Almost everything I've read on Scrum says that one of the keys is to adapt the process to fit your own situation. No two development teams are the same, and different things work for different people.

The main ideas behind Scrum are:

Have a tight feedback loop from requirements to development and back to the stakeholder(s).

This allows the development team to continually verify that they are building something that's actually wanted and allows the development to be easily adjusted as requirements and expectations change. Stakeholders can add or remove features at any point and they can adjust the priority of the features as their needs change.

Keep the software in a state where it's releasable at the end of any given sprint.

That's not to say you have releases every sprint, but that you could if the customer decides they want to have the latest stuff. This also helps a development team avoid the situation of integration hell that comes from people going off and working on a piece of the project on for months at a time in isolation.

Be completely transparent with what's going on in development and everyone needs to be willing to make tradeoffs.

This is where most projects fail and where Scrum can really succeed if everyone buys into the process. So many development projects are set up to where a release has to have X features released on Y date and no flexibility in changing that. This results in half-done features and bug ridden software as the developers cram to get in all the required features on their checklist.

The reality is, unexpected things happen in software development. With open communication and willing participants in the Scrum process, customers and developers can continually evaluate the current state of the project and make educated decisions on prioritizing the work remaining on the project.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文