固定的价格就意味着背叛——《practices of an agile developper》
“对这个项目,我们必须要有固定的报价。虽然我们还不清楚项目的具体情况,但仍要有一个报价。到星期一,我需要整个团队的评估,并且我们必须要在年末交付整个项目。”
Venkat & Andy 提出了这样一种意见:
固定的价格就是保证要背叛承诺。A fixed price guarantees a broken promise.
他们二人提出了这样的意见:
基于真实工作的评估。让团队和客户一起,真正地在当前项目中工作,做具体实际的评估。由客户控制他们要的功能和预算。
敏捷开发的风格是以持续、迭代和增量的方式工作。A fixed price是与这一原则相违背的。
有些人认为,为什么软件开发不能和建筑业一样类比呢。似乎在人们的印象中,建筑业就是规范、高效,当然能够以固定价格进行操作的行业。可是,英国副首相办公室的一份报告的结论却大相径庭。根据这份报告1998年的研究,“由于错误而返工的成本大约占整个项目的30%。这不是因为客户需求的变化,而只是由于一些简单的错误所致。比如,横梁太短,窗户洞太大。这些都是简单为人熟悉的错误。”
所以,他们得出了结论:建筑业尚且如此,何况软件业呢。
软件业的变化更大:客户需求在持续改变、团队由于人员的更迭而使开发能力也在持续变化,软件技术标准更新换代的速度也非常快。
敏捷开发的思路是让客户参与进来,让客户和我们一起做评估。而我们要做的只是持续地进行迭代、增量式地开发。
在狭义上讲,敏捷是和计划相违背的。有时候,我们认为,
开始编码,最终我们会知道何时可以完成。
其实,
你如果要利用敏捷开发这种思想,你还是需要根据当前的知识和猜想做一个大致的评估,解释如何才能达到这个目标,并给出误差范围。
当然,学会好的评估技巧也是十分重要的。
固定的价格就意味着背叛——《practices of an agile developper》的更多相关文章
- 《Practices of an Agile Developer:Woring in the Real World》读书笔记 PB16110698(~3.22)第三周
<Practices of an Agile Developer:Woring in the Real World>读书笔记 本周我阅读了<高效程序员的45个习惯:敏捷开发修炼之道 ...
- 高效程序员的45个习惯·敏捷开发修炼之道(Practices of an Agile Developer)读书笔记
首先,这本书值得再看一遍——这次的阅读,有很多东西都是知其“形”,不知其“神”的,这导致了我对其中某些建议持怀疑态度,接受了的建议也有待商榷. 总之,先记录本书的一些信息: Practices of ...
- phpcms 实现动态价格
什么是动态价格(自命名)?—— 一般来说商品有个固定的价格,随着节假日或者促销活动可能会发生价格变化,结束后又恢复原价,如果每次价格变化都需要修改价格,那么不仅在时间上不好把握,也需要消耗更多的人力 ...
- mysql集群 MySQL Cluster
<?php /* 郑重说明2015年6月11日16:28:14,目前为止MySQL Cluster 社区版不支持INNODB,商业版支持,但是授权价格20W左右,so看此文档之前,考虑下钱 My ...
- 红星美凯龙CEO车建新的圆融和霸气
待人接物中车建新有许多习惯,与别人一起行走时,走在靠马路的一边:吃饭时最好的菜留给客人.他说,做人往往就在细节中,别小看一个举动,无意中就会感染别人.和别人在一起,你要时时刻刻先考虑对方. 细节上体察 ...
- 【Todo】【转载】深度学习&神经网络 科普及八卦 学习笔记 & GPU & SIMD
上一篇文章提到了数据挖掘.机器学习.深度学习的区别:http://www.cnblogs.com/charlesblc/p/6159355.html 深度学习具体的内容可以看这里: 参考了这篇文章:h ...
- PMP私有广告交易市场
[资源]互联网广告新知:半小时读懂PMP私有广告交易市场是什么? https://socialbeta.com/t/resource-what-is-pmp.html SocialBeta | 201 ...
- ECshop 数据库表结构
-- 表的结构 `ecs_account_log`CREATE TABLE IF NOT EXISTS `ecs_account_log` (`log_id` mediumint(8) unsigne ...
- CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程
最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时 ...
随机推荐
- 前端代码编辑器ace 语法验证
本文主要是介绍实际项目中如何加入语法检测功能.官方文档链接https://github.com/ajaxorg/ace/wiki/Syntax-validation 代码编辑器ace,使用webwor ...
- [转]基于Protel DXP软件的PCB高级编辑技巧大全
来源:基于Protel DXP软件的PCB高级编辑技巧大全 一.放置坐标指示 放置坐标指示可以显示出PCB板上任何一点的坐标位置. 启用放置坐标的方法如下:从主菜单中执行命令 Place/Coordi ...
- MySQL几个特别语法示例
简单介绍MySQL中几种特殊语法的用法: 1.创建示例用表和数据: 创建employees表[注:与SQL Server示例数据库Northwind中的表employees相同的表结构]: CREAT ...
- IntelliJ 、Pycharm、webstorm 2017 注册码及注册服务器
jetbrains 家的东西都非常好看,但是价格贵的令人发指,所以我搭建了一个 Pycharm激活服务器,可以用来激活 Pycharm,IntelliJ IDEA,WebStorm.避免频繁更换激活码 ...
- FileBuffer-ImageBuffer 模拟PE
这节课的重点是:模拟PE加载过程,按照运行的要求给FileBuffer拉伸放到内存当中,从 FileBuffer 到 ImageBuffer 再到 运行Buffer. PE 加载 过程: 根据si ...
- 实验吧 recursive write up
这是一个python写的文件 推测是用Freeze打包 所以必有一个Py_FrozenMain函数 分析函数有两个变量PYTHONINSPECT”和“PYTHONUNBUFFERED”之后都会调用ge ...
- Java常用工具类之时间转换
import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; ...
- here with you
Here With You - Asher Book To all my friends对我所有好友来讲The night is young夜未央The music's loud乐未殇They pla ...
- 洛谷——P1349 广义斐波那契数列
题目描述 广义的斐波那契数列是指形如an=p*an-1+q*an-2的数列.今给定数列的两系数p和q,以及数列的最前两项a1和a2,另给出两个整数n和m,试求数列的第n项an除以m的余数. 输入输出格 ...
- supervisor控制台运行出错,BACKOFF Exited too quickly
需要把虚拟环境中的flask路径导入,我这里是 export PYTHONPATH=$PYTHONPATH:/root/FlaskWebDevelopment/venv/lib/python2.7/s ...