As a programmer I'm all in favour of the agile methodology, we all know it makes sence, however how do you sell this to a third party ?.
作为一名程序员,我全都赞成敏捷方法论,我们都知道这样做,但是你如何将它卖给第三方呢?
The work we do is generally fixed price and it is usual for us to only have a high level view of the requirements when we quote as it is often a competitive situation. We often find that when we win a contract and get to look at the detail the features grow in scope. While we do have a mechanism for managing this scope creep it is not robust and transparent enough which commonly results in us conceding days.
我们所做的工作通常是固定价格,我们通常只在报价时才能高度看待需求,因为这通常是一种竞争形势。我们经常发现,当我们赢得合同并查看详细信息时,功能会在范围内扩大。虽然我们确实有一种管理这个范围蠕变的机制,但它不够健壮和透明,这通常导致我们承认天数。
The agile methodology may say there is no such thing as scope creep, however in the real world we all know there is. When a customer asks you to provide a solution, at a fixed price and time scale (which they always will), and then change the goal posts mid-project that is scope creep. At the end of their budget they will quite likely to be left with something different then they originally intended and which may not fully meet their original requirements. At that point they’re going to come back and argue that they've not got what they paid for - the only protection we have against that is a spec that lays out exactly what they're going to get up front that we can deliver against, clearly not the agile way.
敏捷方法可能会说没有范围蔓延这样的东西,但是在现实世界中我们都知道存在。当客户要求您以固定的价格和时间尺度(他们总是会)提供解决方案时,然后在项目中间更改范围蔓延的目标职位。在他们的预算结束时,他们很可能会留下与他们最初预期不同的东西,这可能不完全符合他们的原始要求。那时候他们会回来并争辩说他们没有得到他们付出的代价 - 我们唯一的保护就是这个规范准确地说明了我们可以提供的东西。反对,显然不是敏捷的方式。
I know people will say the customer should be kept informed at all times as to what they're getting and what's being moved out of scope blah blah blah...- however in the REAL world as far as I can see you'll always get a customers who will then say at the end - this isn't what you promised to deliver / we've paid for. How do we manage that situation?.
我知道人们会说客户应该随时了解他们得到了什么,以及什么被移出范围等等等等......但是在真实的世界里,我可以看到你永远都是得到一个客户,他们最后会说 - 这不是你承诺提供的/我们付出的。我们如何处理这种情况?
4 个解决方案
#1
This is where some of the concepts of SCRUM pay off.
这是SCRUM的一些概念得到回报的地方。
- The business leader MUST be involved with every step of the process.
- Picking which stories make a particular sprint MUST be done with the business leader.
- Don't do anything in a sprint that is not scheduled for that sprint without adding it to the sprint backlog chart for that sprint. It's good to show things that were added to a sprint in a different color. That way you can see the original plan (hopefully on schedule) and the additions (what causes the delay).
- Produce something that "could go to production" in each sprint. The business will see that it's getting something for their money. They can also adjust future sprints based on what they see. Each sprint makes a good stopping point.
业务负责人必须参与流程的每一步。
必须与业务负责人一起挑选哪些故事才能成为特定的冲刺。
如果没有将其添加到该sprint的sprint backlog图表中,则不要在未安排用于该sprint的sprint中执行任何操作。显示以不同颜色添加到sprint中的内容是很好的。通过这种方式,您可以看到原始计划(希望按计划进行)和添加(导致延迟的原因)。
在每个冲刺中产生“可以投入生产”的东西。该公司将看到它正在为他们的钱获取一些东西。他们还可以根据他们看到的内容调整未来的冲刺。每个冲刺都是一个很好的停留点。
-- EDIT --
Hmmm. Maybe a DVD of the video Ray suggested (or this one) should be included in the project proposal. It might make the difference when trying to get the job to begin with. The customer should know how your group works BEFORE they hire you. It will make your company stand out as more than just a "body shop".
- 编辑 - 嗯。也许Ray提出的视频DVD(或者这个)应该包含在项目提案中。在尝试开始工作时,它可能会有所不同。客户在雇用您之前应该知道您的小组的工作方式。它将使您的公司脱颖而出,而不仅仅是一个“车身店”。
If you ARE a "body shop"...
1. You probably won't be able to wield much control over how the project goes. You'll be collecting the hours.
2. If you see the project going badly, start dropping hints to the client "If MY company were running this project...". You may get the next project!
如果你是一个“体育商店”...... 1.你可能无法对项目的进展方式进行过多的控制。你会收集时间。 2.如果您看到项目进展不顺畅,请开始向客户提示“如果我的公司正在运行此项目......”。你可能会得到下一个项目!
#2
You cannot do agile project without customer buy-in.
And you won't have customer buy-in to your preferred approach if they don't understand why their approach is flawed.
You have to educate the customer about software development challenges and methodologies.
Even if it's time consuming and not guaranteed to succeed.
没有客户买入,你就无法做敏捷项目。如果他们不理解为什么他们的方法有缺陷,那么你就不会让客户买入你喜欢的方法。您必须向客户介绍软件开发挑战和方法。即使耗费时间也无法保证成功。
(Or you can go with the flow and try to develop software with fixed schedule and fixed budget and growing scope which we all know is impossible, but that will only lead to problems you described above.)
(或者您可以顺其自然地尝试开发具有固定时间表和固定预算以及不断增长的范围的软件,我们都知道这是不可能的,但这只会导致上述问题。)
#3
Maintain a burndown chart of the project.
维护项目的燃尽图。
When they see it, they will get it. They will know the projects velocity and they will see the implications of scope creep. They may also see the value of scope reduction by pruning low priority items.
当他们看到它时,他们会得到它。他们将了解项目的速度,他们将看到范围蔓延的影响。他们还可以通过修剪低优先级项目来看到减少范围的价值。
Burndown charts is a way keeping you and your customer informed. Once you both see the Big Picture, you can negotiate how to move ahead--fairly.
Burndown图表是一种让您和您的客户了解情报的方式。一旦你们都看到了大图,你就可以公平地协商如何前进。
This video is a good case study.
这个视频是一个很好的案例研究。
#4
a spec that lays out exactly what they're going to get up front that we can deliver against
一个规范,它准确地说明了我们可以提供的东西,我们可以反对
is a fairy tale. Never seen one, never will. The only thing it is is a creator of a lose-lose situation. The first thing to do is to start naming things by their real name. A fairy tale is a fairy tale, even if it is called a spec
是一个童话故事。从未见过,永远不会。它唯一的是一个双输局面的创造者。首先要做的是开始用真名命名。童话故事是一个童话故事,即使它被称为规范
#1
This is where some of the concepts of SCRUM pay off.
这是SCRUM的一些概念得到回报的地方。
- The business leader MUST be involved with every step of the process.
- Picking which stories make a particular sprint MUST be done with the business leader.
- Don't do anything in a sprint that is not scheduled for that sprint without adding it to the sprint backlog chart for that sprint. It's good to show things that were added to a sprint in a different color. That way you can see the original plan (hopefully on schedule) and the additions (what causes the delay).
- Produce something that "could go to production" in each sprint. The business will see that it's getting something for their money. They can also adjust future sprints based on what they see. Each sprint makes a good stopping point.
业务负责人必须参与流程的每一步。
必须与业务负责人一起挑选哪些故事才能成为特定的冲刺。
如果没有将其添加到该sprint的sprint backlog图表中,则不要在未安排用于该sprint的sprint中执行任何操作。显示以不同颜色添加到sprint中的内容是很好的。通过这种方式,您可以看到原始计划(希望按计划进行)和添加(导致延迟的原因)。
在每个冲刺中产生“可以投入生产”的东西。该公司将看到它正在为他们的钱获取一些东西。他们还可以根据他们看到的内容调整未来的冲刺。每个冲刺都是一个很好的停留点。
-- EDIT --
Hmmm. Maybe a DVD of the video Ray suggested (or this one) should be included in the project proposal. It might make the difference when trying to get the job to begin with. The customer should know how your group works BEFORE they hire you. It will make your company stand out as more than just a "body shop".
- 编辑 - 嗯。也许Ray提出的视频DVD(或者这个)应该包含在项目提案中。在尝试开始工作时,它可能会有所不同。客户在雇用您之前应该知道您的小组的工作方式。它将使您的公司脱颖而出,而不仅仅是一个“车身店”。
If you ARE a "body shop"...
1. You probably won't be able to wield much control over how the project goes. You'll be collecting the hours.
2. If you see the project going badly, start dropping hints to the client "If MY company were running this project...". You may get the next project!
如果你是一个“体育商店”...... 1.你可能无法对项目的进展方式进行过多的控制。你会收集时间。 2.如果您看到项目进展不顺畅,请开始向客户提示“如果我的公司正在运行此项目......”。你可能会得到下一个项目!
#2
You cannot do agile project without customer buy-in.
And you won't have customer buy-in to your preferred approach if they don't understand why their approach is flawed.
You have to educate the customer about software development challenges and methodologies.
Even if it's time consuming and not guaranteed to succeed.
没有客户买入,你就无法做敏捷项目。如果他们不理解为什么他们的方法有缺陷,那么你就不会让客户买入你喜欢的方法。您必须向客户介绍软件开发挑战和方法。即使耗费时间也无法保证成功。
(Or you can go with the flow and try to develop software with fixed schedule and fixed budget and growing scope which we all know is impossible, but that will only lead to problems you described above.)
(或者您可以顺其自然地尝试开发具有固定时间表和固定预算以及不断增长的范围的软件,我们都知道这是不可能的,但这只会导致上述问题。)
#3
Maintain a burndown chart of the project.
维护项目的燃尽图。
When they see it, they will get it. They will know the projects velocity and they will see the implications of scope creep. They may also see the value of scope reduction by pruning low priority items.
当他们看到它时,他们会得到它。他们将了解项目的速度,他们将看到范围蔓延的影响。他们还可以通过修剪低优先级项目来看到减少范围的价值。
Burndown charts is a way keeping you and your customer informed. Once you both see the Big Picture, you can negotiate how to move ahead--fairly.
Burndown图表是一种让您和您的客户了解情报的方式。一旦你们都看到了大图,你就可以公平地协商如何前进。
This video is a good case study.
这个视频是一个很好的案例研究。
#4
a spec that lays out exactly what they're going to get up front that we can deliver against
一个规范,它准确地说明了我们可以提供的东西,我们可以反对
is a fairy tale. Never seen one, never will. The only thing it is is a creator of a lose-lose situation. The first thing to do is to start naming things by their real name. A fairy tale is a fairy tale, even if it is called a spec
是一个童话故事。从未见过,永远不会。它唯一的是一个双输局面的创造者。首先要做的是开始用真名命名。童话故事是一个童话故事,即使它被称为规范