固定的价格就意味着背叛——《practices of an agile developper》
2014-03-26 14:49
176 查看
“对这个项目,我们必须要有固定的报价。虽然我们还不清楚项目的具体情况,但仍要有一个报价。到星期一,我需要整个团队的评估,并且我们必须要在年末交付整个项目。”
Venkat & Andy 提出了这样一种意见:
他们二人提出了这样的意见:
敏捷开发的风格是以持续、迭代和增量的方式工作。A fixed price是与这一原则相违背的。
有些人认为,为什么软件开发不能和建筑业一样类比呢。似乎在人们的印象中,建筑业就是规范、高效,当然能够以固定价格进行操作的行业。可是,英国副首相办公室的一份报告的结论却大相径庭。根据这份报告1998年的研究,“由于错误而返工的成本大约占整个项目的30%。这不是因为客户需求的变化,而只是由于一些简单的错误所致。比如,横梁太短,窗户洞太大。这些都是简单为人熟悉的错误。”
所以,他们得出了结论:建筑业尚且如此,何况软件业呢。
敏捷开发的思路是让客户参与进来,让客户和我们一起做评估。而我们要做的只是持续地进行迭代、增量式地开发。
在狭义上讲,敏捷是和计划相违背的。有时候,我们认为,
其实,
当然,学会好的评估技巧也是十分重要的。
Venkat & Andy 提出了这样一种意见:
固定的价格就是保证要背叛承诺。A fixed price guarantees a broken promise.
他们二人提出了这样的意见:
基于真实工作的评估。让团队和客户一起,真正地在当前项目中工作,做具体实际的评估。由客户控制他们要的功能和预算。
敏捷开发的风格是以持续、迭代和增量的方式工作。A fixed price是与这一原则相违背的。
有些人认为,为什么软件开发不能和建筑业一样类比呢。似乎在人们的印象中,建筑业就是规范、高效,当然能够以固定价格进行操作的行业。可是,英国副首相办公室的一份报告的结论却大相径庭。根据这份报告1998年的研究,“由于错误而返工的成本大约占整个项目的30%。这不是因为客户需求的变化,而只是由于一些简单的错误所致。比如,横梁太短,窗户洞太大。这些都是简单为人熟悉的错误。”
所以,他们得出了结论:建筑业尚且如此,何况软件业呢。
软件业的变化更大:客户需求在持续改变、团队由于人员的更迭而使开发能力也在持续变化,软件技术标准更新换代的速度也非常快。
敏捷开发的思路是让客户参与进来,让客户和我们一起做评估。而我们要做的只是持续地进行迭代、增量式地开发。
在狭义上讲,敏捷是和计划相违背的。有时候,我们认为,
开始编码,最终我们会知道何时可以完成。
其实,
你如果要利用敏捷开发这种思想,你还是需要根据当前的知识和猜想做一个大致的评估,解释如何才能达到这个目标,并给出误差范围。
当然,学会好的评估技巧也是十分重要的。
相关文章推荐
- Practices of an Agile Developer : Working in the Real World
- 《Practices of an Agile Developer》读书笔记
- 《Practices of an Agile Developer》笔记00 && 用计划任务约束自己
- Practices of an Agile Developer: Working in the Real World (目录)
- 推荐一本新书《Practice of an Agile Developer》
- SCRUM:敏捷团队的故事(SCRUM: The Story of an Agile Team)——(2)
- Crystal Clear Applied: The Seven Properties of Running an Agile Project (转载)
- Represent an integer by the sum of at least two consecutive integers
- 安装VMware 7.0 You have started VMware Workstation with an out-of-date copy of the application.
- An SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene62' does not exist
- ios implicit conversion of an objective-c pointer to 'NSString *__autoreleasing *' is disallowed wit
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- Sys.ArgumentOutOfRangeException: Value must be an integer
- 关于Use of @OneToMany or @ManyToMany targeting an unmapped class: com.xxx.domain异常
- Period of an Infinite Binary Expansion+POJ+欧拉函数+好题
- No enclosing instance of type Test_02_1 is accessible. Must qualify the allocation with an enclosing
- An Example about the use of map Container in C++ STL / c++ map容器的用法
- SQLServer2005打开表时出现“Object reference not set to an instance of an object. (SQLEditors)”错误的解决办法
- C. An impassioned circulation of affection
- codeforces 814 C. An impassioned circulation of affection(暴力)