你能灵活处理固定报价项目吗?
我总是从候选人那里得到一个问题:敏捷可以应用于固定投标的项目吗?当我问他们更多的信息时,他们的背景是
他们有
- 固定日期:新的或变更请求必须在规定的截止日期前交付。
- 固定范围:必须交付一组特定特性的版本。
- 固定预算:预算已经是固定的,不能超出
学习敏捷的第一件事是不要承诺你不知道的事情,以及增量进展是预测未来的唯一方法。但是,事实是,在过去20多年的敏捷宣言中,敏捷的环境、使用和经验提供了一些证据,证明在敏捷软件开发及其执行的方法上存在一个基本归因错误。
这可能是一个具有挑战性的领导问题,很难解决。然而,这个问题没有直接和明确的答案。为了解决这个难题,我必须回顾一下项目思维模式和产品思维模式之间的基本区别。
图片来源:Scrum.org (PSPO幻灯片)
敏捷依赖于环境吗
在我看来,答案是肯定的,也不是。尽管团队可以敏捷地协作,更快地交付价值,但固定前期范围、时间和成本会减少适应不断变化的市场情况的机会。
为了说明这一点,我需要回到位数据。如今,市值最高的10家公司是苹果、微软、沙特石油公司、亚马逊、Alphabet、Facebook、腾讯控股、特斯拉、阿里巴巴和伯克希尔哈撒韦。当然,这个名单会随着市场的变化而变化,但如果你把这个名单与2011年相比,就会发现60%的差异。与2001年相比,只有一家公司上榜,那就是微软。它清楚地表明,尽管企业最喜欢的就是弹性。特别是,在快速的,不可预测的,矛盾的,混乱的世界,适应性是至关重要的稳定保持能力和弹性。
那么,如何在敏捷中处理固定报价项目呢?
固定投标合同最适用于期限较短的合同,并与特定的业务或产品目标挂钩。
让我们以Scrum(广泛使用的框架之一)为例,看看如何处理固定报价项目。业务需要灵活性来响应市场,而Scrum团队需要稳定性来做任何有意义的事情。因此,限制Sprint边界的重大方向变化是必要的妥协。我将尝试用我们在固定报价项目中遇到的三个变量来说明这一点。
固定的时间表
如果你考虑使用Scrum来处理你的合同,你可以利用Sprint。它们是带有时间框的事件,在这些事件中交付价值。根据Scrum指南,它们是一个月或更短时间的固定长度的事件,以保持一致性。因此,每一次冲刺都可以被认为是实现一个显著结果的暂时努力。这个定义在Scrum中适用于每一个SPRINT。
固定的预算
尽管如此,Scrum并未提及如何在sprint中进行预算编制。根据我的经验,在sprint中有两种执行固定预算项目的方法。
来源:tryScrum
可以将多个sprint预算为单个发行版本,并事先商定“目标”。如果你注意到,我将“范围”替换为“目标”。团队可以自由地完成它认为合适的目标,尽可能地适应环境。但是,通过协商范围和“牢记”目标,团队可以专注于最重要的事情。我并不是说一个人可以把“目标”写在石头上。但是,我的意思是,项目目标可以是一个承诺,类似于产品的目标.
固定的范围
对于传统组织来说,向敏捷工作方法转变可能具有挑战性。然而,在这三个变量中,我不赞成预先固定范围,因为这会扼杀专注于关键内容的能力。
根据我的经验,一个试图走向新的工作方式的组织可能会在建立敏捷合同时考虑添加以下合同条款。
- 任何尚未处理的需求都可以替换为另一个相同大小的需求。
- 在敏捷环境中可以协商执行顺序。
- 如果双方认为合同没有任何价值,他们可以终止合同。
Craig和Bas在编写如何建立敏捷契约方面做得很好书.
最后的想法
简而言之,我想回顾一下敏捷宣言中的一个。
响应变化而不是遵循计划
来源:敏捷宣言
打破传统思维,建立敏捷契约是软件开发与传统方法根本不同和具有挑战性的。在敏捷开发项目中使用传统合同可能会危及执行,并使公司无法从敏捷工作方法中受益。此外,“敏捷”组织确定了如何确定并专注于价值驱动的方法。在进行敏捷转换时,这是非常重要的。如您所知,软件开发不是关于提供伪确定性的计算;它是关于持续的检查和适应。我已经分享了我的观点,我愿意在评论中听到你的经历。
更多来自tryScrum的博客