scrum敏捷项目管理
In an earlier article I wrote, we took a general look at project management and discussed what some of its pitfalls are that should be avoided. As part of that, I mentioned that you should, as much as possible, be using an Agile methodology, particularly Scrum, to manage development. I’d like to follow that up with a look at Scrum and at how we can use it to tame our projects.
在我写的较早的文章中 ,我们对项目管理进行了总体研究,并讨论了应避免的一些陷阱。 作为其中的一部分,我提到您应该尽可能地使用敏捷方法论(尤其是Scrum)来管理开发。 接下来,我想了解一下Scrum以及我们如何使用它来驯服我们的项目。
我什么都知道,另一种思考方式 (I Know Everything, and Another Way to Think)
–
–
Most project managers think they’re responsible for anticipating everything beforehand and laying out a complete road map of what must be done, when it will be accomplished, and how much it will cost before the project begins.
大多数项目经理认为,他们有责任预先预测所有事情,并为必须完成的工作,完成的时间以及在项目开始之前需要花费的费用制定完整的路线图。
And if that statement isn’t true, then this one certainly is: most management people feel that project managers are responsible for anticipating everything beforehand and laying out a complete road map…
如果该说法不正确,那肯定是这样的:大多数管理人员都认为项目经理有责任事前预测所有事情并制定完整的路线图……
And so, either because of their own beliefs or the beliefs of others, most project managers give it their best shot to completely spec out everything before the start. But what happens when things don’t go according to plan? Well, obviously, the project manager is to blame. He didn’t anticipate everything. She didn’t give this enough thought. They are to blame. Hey, someone, get some rope. Where the heck is the bucket of tar we had yesterday?
因此,无论是出于自己的信念,还是出于他人的信念,大多数项目经理都会尽最大努力在开始之前就将所有内容完全确定出来。 但是,如果事情没有按计划进行,会发生什么? 好吧,显然,项目经理应该受到指责。 他没有预料到一切。 她没有足够的考虑。 他们应该责备。 嘿,有人,拿点绳子。 我们昨天喝的一桶焦油在哪里?
Of course if we look at this with just a modicum of reality we know that it’s not possible to know everything that will happen with a project, especially since every project’s future is a moving target.
当然,如果我们仅以一点点现实的眼光来看待这个问题,我们就会知道不可能知道一个项目将要发生的一切,特别是因为每个项目的未来都是一个移动的目标。
The mistaken notion that we can anticipate everything by thinking really hard is an outgrowth of the early 20th century movement to quantify all business activities as steps in a repetitive job, which in turn was fueled by the 18th and 19th century mathematical belief that everything was deterministic. I can’t remember who said it (and God knows I’ve tried looking it up), but “give me the initial conditions and I will predict all future acts” or something like that.
我们可以通过认真思考来预见一切的错误观念是20世纪初运动的产物,它把所有业务活动量化为重复性工作中的步骤,而这反过来又受到18和19世纪数学信念的推动,即一切都是确定性的。 我不记得是谁说的(上帝知道我已经尝试过了),但是“给我初始条件,我会预测所有将来的行为”或类似的话。
The truth is we can’t predict the future and we can’t anticipate everything. So why try?
事实是我们无法预测未来,也无法预测所有事情。 那么为什么要尝试呢?
At the same time, and using the same logic, the purpose of project management is not really to get things “done” by some prearranged time, but to get done when we’ve reached some prearranged goal. Yes, getting things done on time and within budget is a good thing, but it’s not the only thing. How may top management officials would trade a successful project (one that does everything you want it to do and is useful to everyone) that’s a month over due for one that’s on time but is only partially what was really wanted?
同时,使用相同的逻辑,项目管理的目的并不是要在预定的时间内“完成”事情,而是要在达到预定的目标时完成任务。 是的,在预算范围内按时完成工作是一件好事,但这不是唯一的事情。 高层管理人员将如何交易一个成功的项目(一个可以完成您想要做的所有事情,并且对每个人都有用的项目),而这个项目要按时完成但要按时完成一个月,但这只是真正需要的部分?
Projects cannot be realistically laid out in a deterministic fashion where everything is known up front and its a matter of keeping people’s noses to the grindstone. Life just isn’t like that. Software projects are slippery creatures, prone to changing shape and size, and there is only one way to deal with them – approach them iteratively. Do a version and see how it looks. Then refine it and see how it looks. We keep doing this until everyone says “yeah, baby, that’s what I’m talkin’ about.”
不能以确定性的方式对项目进行现实的布局,在确定性的方式中,所有事情都是预先知道的,这是让人们保持警惕的问题。 生活就是这样。 软件项目是易生动物,容易改变形状和大小,只有一种方法可以处理它们–迭代地处理它们。 做一个版本,看看它的外观。 然后优化它,看看它的外观。 我们一直这样做,直到每个人都说“是的,宝贝,这就是我在说的”。
Scrum如何适应这种情况? (And Scrum Fits Into This How?)
Agile is a project management technique that does not assume we know everything at the start. It doesn’t treat software projects like building a highway or bridge, but rather as something where uncertain things can happen. If there’s a central theme to Agile it is this: pay attention to today, to what you are doing, and what you didn’t do. Take care of the pennies and the dollars will take care of themselves.
敏捷是一种项目管理技术,不能一开始就假设我们一无所知。 它不会像修建高速公路或桥梁那样对待软件项目,而是将其视为可能发生不确定情况的事物。 如果敏捷有一个中心主题,那就是:关注今天,正在做的事情和没有做的事情。 照顾好几分钱,美元会照顾好自己。
Scrum is a technique for carrying out Agile development. Everyone seems to think of Scrum as a meeting, but it’s more than that. Scrum sets up a structure, provides a communications protocol (the daily Scrum meeting), and defines a way to measure and view progress (the burn down chart).
Scrum是一种进行敏捷开发的技术。 每个人似乎都将Scrum视为一次会议,但不仅如此。 Scrum建立了一个结构,提供了一个通信协议(Scrum日常会议),并定义了一种度量和查看进度的方式(燃尽图)。
Scrum has it’s own vocabulary, different from other project management methodologies. Projects are referred to as “User Stories”. Specific tasks within the user story are called “Story Points”. An iteration is called a “Sprint”. The project manager is the “ScrumMaster”. The project owner is called the, uh, “Project Owner” (okay, so not everything is different).
Scrum有自己的词汇,与其他项目管理方法不同。 项目称为“用户案例”。 用户故事中的特定任务称为“故事点”。 迭代称为“ Sprint”。 项目经理是“ ScrumMaster”。 项目所有者称为“项目所有者”(好的,因此并非所有内容都不同)。
The most well known part of the Scrum lifestyle is the Scrum meeting – a short daily project meeting which focuses on what is right in front of you.
Scrum生活方式中最著名的部分是Scrum会议-这是一个简短的每日项目会议,着眼于您眼前的事物。
People who understand Scrum will say this is no different from a waterfall-type project meeting, but I disagree. Sit in on any waterfall project management meeting and almost all of the time will be spent either talking about something that may or may not happen in the future or who is responsible for doing a particular task that has suddenly surfaced. It’s focused on the end of the road and things that nobody foresaw. And these meetings literally exhaust the project team; no work is done before the meeting because everyone dreads it, and very little is done after because everyone is tired.
了解Scrum的人会说,这与瀑布式项目会议没有什么不同,但我不同意。 参加任何瀑布式项目管理会议,几乎所有时间都将花费在谈论将来可能发生或可能不会发生的事情上,或者由谁来负责突然出现的特定任务。 它专注于道路的尽头和没人预见的事情。 这些会议实际上使项目团队疲惫不堪; 会议之前没有做任何工作,因为每个人都讨厌它,而会议之后几乎没有做任何事情,因为每个人都很累。
The focus of Scrum is on the now, right this minute. What have we done in the past 24 hours? What are we going to do in the next 24 hours? What problems are you having? What is your best guess on how much longer the current task will take?
此刻,Scrum的焦点在现在。 过去24小时内我们做了什么? 在接下来的24小时内我们要做什么? 你有什么问题? 您对当前任务将花费多长时间的最佳猜测是什么?
如何scrum (How to Scrum)
Scrum is not complicated, but neither is it trivial. This article is not intended to be a tutorial on “going Scrum” but rather to get you interested in digging into it a bit deeper. For more information, I recommend starting with the excellent 10-minute video on the Axosoft website. There are some other references there that that you can follow, and Axosoft offers some excellent information on how to Scrum. But briefly, here’s some points to get you started:
Scrum并不复杂,但也不是无关紧要的。 本文的目的不是要成为“ Going Scrum”的教程,而是让您有兴趣对它进行更深入的研究。 有关更多信息,我建议从Axosoft网站上出色的10分钟视频开始。 您还可以参考其他参考资料,Axosoft提供了一些有关如何Scrum的出色信息。 但简单来说,以下几点可帮助您入门:
举行较小的会议 (Hold Smaller Meetings)
By it’s very nature, a traditional project meeting covers a wide range of topics, many of which are future oriented, which are talked about every week and represent problems that either never materialize or else show up in a different form. With so many people involved, there turns out to be many variables involved, many different opinions about what should be done, and many topics brought up that only tangentially touch on the issues at hand.
从本质上讲,传统的项目会议涵盖了广泛的主题,其中许多主题都是面向未来的,每周都会讨论一次,代表着从未实现或以其他形式出现的问题。 涉及到这么多的人,结果涉及很多变量,对应该采取的措施有很多不同的意见,并且提出了许多主题,这些主题只是切题地涉及到手头的问题。
And that is the way it should be. It’s a stinkin’ project management meeting. Everyone who has a stake in the project is invited so they can’t testify against you during the trial (that no one listed to them). By it’s very nature, it’s wide ranging and not focused.
这就是应该的方式。 这是一个讨厌的项目管理会议。 邀请与该项目有利益关系的每个人,这样他们在审判期间就不会对您作证(没有人向他们列出)。 从本质上讲,它的范围很广,而且没有重点。
Daily Scrum meetings, on the other hand, limit the people in attendance to those who are doing active tasks and the project owner. They should be short – no longer than 15 minutes – and stay sharply focused.
另一方面,每日Scrum会议将参加人员限制为正在执行活动的人员和项目所有者。 他们应该简短(不超过15分钟),并保持专注。
限制范围和时限 (Limit Scope and Time Frame)
We only talk about the important things in a Scrum meeting: the things that are happening now, the things that will impact tomorrow. But isn’t limiting the time frame and scope of issues closing our eyes to the future?
我们仅在Scrum会议中谈论重要的事情:现在正在发生的事情,以及将在明天影响的事情。 但是,是否不限制问题的时间范围和范围使我们对未来视而不见?
No, because the future for Scrum is to the next iteration. We’re not waiting for a month to pass before implementation, to the start of user testing to let people get their hands on things. Our horizon is the completion of the iteration, and the only thing that matters is how well we’ve used the past 24 hours to meet this goal.
不,因为Scrum的未来是下一次迭代。 在实施之前,我们不需要等待一个月的时间,直到开始进行用户测试以使人们开始实践为止。 我们的视野是迭代的完成,唯一重要的是过去24小时中我们为达到该目标而做得如何。
Every Scrum meeting should be focused on real accomplishments; when will we be ready to dump something into the hands of the users that they can work with – not think about, but actually use?
每次Scrum会议都应该关注实际成就; 我们什么时候准备将某些东西倾倒在可以与他们一起工作的用户手中-不考虑但实际使用?
寻找反馈 (Look for Feedback)
We often look at user testing as something that sits almost outside of the project. But with Scrum, the results of testing are scheduled as achievable goals. When testing is done, it feeds information back to the project team.
我们经常将用户测试视为几乎位于项目之外的内容。 但是使用Scrum,将测试结果排定为可以实现的目标。 测试完成后,它将信息反馈给项目团队。
But what if tests don’t feed anything back to the team? What if people just sleepwalk through it all? Well, Scrum doesn’t let that happen.
但是,如果测试不能将任何信息反馈给团队怎么办? 如果人们只是梦游了那怎么办? 好吧,Scrum不会让这种事情发生。
Scrum forces the proper effort out of tests so that rather than looking at potential problems as some future event, these problems become part of the next iteration, bringing them to the forefront much sooner than traditional project management would.
Scrum迫使测试人员付出适当的努力,因此,这些问题不再是未来事件中的潜在问题,而是成为下一次迭代的一部分,从而使它们比传统项目管理更快地走到了最前沿。
不断返工剩余时间 (Constantly Rework the Time Remaining )
In traditional project management, we decide ahead of time just how long it’s going to take to do something. But this is problematic at best, and some team members will go out of their way to hide any evidence that an estimate is not correct. The end result is that we get to the point when a task should be done and it isn’t and there was no warning.
在传统的项目管理中,我们提前决定要做某事需要多长时间。 但这充其量是有问题的,一些团队成员会竭尽全力隐藏任何估计不正确的证据。 最终结果是,我们到达了应该完成任务的时机,没有完成任务,也没有警告。
Scrum asks team members daily to re-evaluate the time remaining on a task. This may be depressing sometimes, but it keeps things real and helps everyone see when things are beginning to get behind schedule.
Scrum每天要求团队成员重新评估任务的剩余时间。 有时这可能会令人沮丧,但它可以使事情保持真实,并帮助所有人查看事情何时开始落后于计划。
结论 (Conclusion)
What project could you have where worrying about what might or might not happen down the road is more important than looking at what is happening right now?
在担心将来可能发生或未发生的事情比观察当前正在发生的事情更重要的情况下,您可以拥有哪个项目?
There are certain people of course who can’t do Scrum. Or, to put it another way, there are certain people who won’t do Scrum. They don’t want long meetings (or maybe they do, I’m never really sure) but they can’t let go of worrying about a future that they can’t control. Are you one of them?
当然有些人不能做Scrum。 或者,换句话说,有些人不会做Scrum。 他们不想长时间开会(或者,也许我确实不确定),但是他们不能放心担心他们无法控制的未来。 你是其中之一吗?
Scrum espouses a belief that the best way to control the future is to make sure today turns out okay (followed by tomorrow, and the day after that, etc.). But some people just can’t dig it. And if they try to do Scrum they just screw it up; they call it Scrum but it’s really traditional project management.
Scrum拥护一种信念,认为控制未来的最佳方法是确保今天一切顺利(紧随其后的是明天,以及之后的第二天,等等)。 但是有些人无法挖掘它。 如果他们尝试做Scrum,那就把它搞砸了。 他们称之为Scrum,但这确实是传统的项目管理。
For those who can use it (those who are willing to use it), Scrum is a tool that helps us focus on the only thing in this world that we can effect – today. And if all our todays fall in line, chances are our tomorrows are going to be fine as well.
对于可以使用它的人(愿意使用它的人),Scrum是一种工具,可以帮助我们专注于当今世界上我们可以实现的唯一事物。 如果我们今天的一切顺应潮流,那么明天的机会也将会很好。
Image via Fotolia
图片来自Fotolia
翻译自: https://www.sitepoint.com/scrum-an-agile-projects-best-friend/
scrum敏捷项目管理