我所体验到的敏捷开发的最大缺点是,不参与开发的人们专注于这样的口头禅:用户故事(3-10个理想人日)不应包含超过1-3个句子,例如:
作为客户,我可以使用自由文本搜索,以便找到所需的产品。
给出这句话,项目经理希望我作为开发人员致力于估算并开发故事。他们认为敏捷开发意味着他们必须提供给开发人员的此类语句。
我不会责怪他们,因为关于敏捷开发的著名文献给人以这样的印象,即它实际上是可行的。在“ Planning XP”中,每个故事我都用自然语言阅读了大约2页,但这就是事实。因为“工作软件”比“综合文档”更受青睐,所以似乎通常避免使用此主题。
当然,现实是,如果开发人员有机会这样做,则与客户的访谈会提出一长串客户对故事的要求清单:
- 我们需要布尔运算符,例如AND和OR。
- 我们需要所有的模糊搜索。
- 我们需要按单词和短语进行搜索。
- 我们不想找到符合标准X,Y和Z的产品。
- 我们要对结果进行排序。哦,顺便说一句,用户可以在带有选项a,b和c的组合框中选择排序标准。
所以您看到我不是在谈论技术细节,软件设计甚至实施细节。这是纯粹的要求。我们交谈的时间越长,客户就越能意识到他们想要的东西很多。
但是,我经常发现自己处于这种情况,即没有提供此类信息或以次充好方式。我既不可能进行面试,也没有可能进行面试的人为我提供面试的结果。
有时,经理甚至会提出“我们希望进行Lucene搜索”之类的技术细节,但他们不想考虑是否只想查找产品名称或产品描述。有时我认为他们只是懒惰;)
对我来说,这是我工作的项目中的头号问题(电子商务Web应用程序,每个项目500-2000人日)。我已经足够频繁地解决了这个问题,并且经理们意识到大多数开发人员对此情况都有疑问。但是他们认为开发人员实在是太“完美主义者”了。他们似乎对开发人员“总是希望指定所有内容”感到恼火。
由于缺乏公认的数字,因此很难争论。每个人都知道迭代应该持续多长时间。但是没有人能说出估计和发展一个故事需要多少需求。
你有参考吗?