技术开发 频道

导致你的敏捷开发项目失败的5个原因

        【IT168 评论】太多的敏捷开发项目失败。这很难甚至精确地测量这么多的软件开发项目失败的次数,因为最终“完成”和发布,即便:

  • 他们花了足够长的时间来构建

  • 构建的质量很差

  • 构建的产品不是客户所期望的的

  • 构建的成本大大超出预期

  多年来,我在多个不同的敏捷开发团队工作过,同时也为一些敏捷开发提供咨询和培训。在这期间,我发现5个共同的问题,如果这些问题不被解决,就很可能会导致项目失败。

  1. 不是产品所有者

  所有的事情,都可能会导致一个敏捷软件项目的失败,而不是一个正在开发的产品 的最终的决策者的人,是确保其(产品)消亡最快的方式。

  如果你追随Scrum的,没关系,只管做你自己的Kanban style project 项目或者别的事;如果你想你的项目能取得成功,你需要能一个能多所开发的产品设定方向和做决定的人。

  想想要改造一个厨房。如果你聘请了一堆的承建商进来,做各种各样的工作,如:管道,木工,地板等,但你没有一个人来决定实际完成的厨房看起来应该像什么样,最终你将会得到一个乱七八糟的厨房。

  少有的几个承建商可能会足够的聪明的,能找到正确的人以询问应该做什么,但设计一个厨房需要的不仅仅是随意的决定橱柜放哪儿,而是需要更多。你需要的是有人能真正的提出符合实际的设计和愿景,并随着工程的不断推进能对愿景进行纠正,以避免问题的发生。

  话费大量钱财重建你的厨房,看起来相当疯狂,但不想在设计成品或者雇佣人员上投资任何时间和努力,已完成该项工程。

  当然,日复一日,我在软件项目中的确看到很多这样的行为。我看见很多公司在敏捷开发上花费了大量的金钱,但并不会委任任何人成为正在建设的项目的真正的主人,并为它设置愿景。

  2.没有迭代

  迭代是敏捷开发给软件开发世界带来的关键价值之一。

  但什么是迭代呢?

  你可能会认为,这意味着将你的项目分成两个短周期或者迭代周期。虽然这样做可以促进迭代开发,这并不意味着你是在使用迭代。

  感到困惑了吧?下面就让我们揭秘吧:

  迭代的关键是在时间范围内,一点点的开发一个产品。这将准确的,作为一个产品的演进来描述迭代过程中的商品。

  无论你是否相信宏观进化,微进化,或适应性是否是一个成熟的概念。进化背后的想法是事情随着时间的推移逐渐被改变。由量变到质变。

  试想一下,如果进化论是最“敏捷”软件内置的方式工作,这将是多么的愚蠢。

  试想一下,如果你是一条在大洋中游动的鱼,并有一些自己的在出生时就有功能健全的腿的鱼宝宝。然后,那些有腿的鱼宝宝长大了,然后又有翅膀的鱼宝宝。

  也许腿和翅膀并不会让鱼能活的更好,也没有被恰当的设计,因为腿和翅膀的出现,不是随着时间的推移因适应所做的改变,而是突然出现。

  产品功能不应该以单一的短周期或迭代来建立。好比在单一的一代鱼的身上出现退一样愚蠢。

  反之,功能应该随着时间的推移和进化。某种功能不应被放入到某种单一的短周期或迭代,然后去实现。一种功能应该从小规模开始,并随着时间的推移进行进化和开发收到反馈,客户或者产品所有者试图将其开发出来。

  太多的时候,我看到敏捷开发的项目进行了错误迭代和迭代开发产品。

  不要试图发送一次完成的功能,而是让它随着时间的推移来完成。

0
相关文章