敏捷的小叮当:最让人感到震惊

Ada*_*iss 6 agile process

我们应该首先实施哪些敏捷开发的单一方面来改进我们的开发过程,为什么?

我处在一种情况,要求我"调整"我的过程,而不是重新设计它,而"敏捷"似乎是当时的口头禅.如果我们只做一个可以改进某些事物的改变 - 质量,上市时间,文档,透明度等,那么最明显的积极影响是什么?

如果我们选择正确,我们将能够做出第二选择.:-)

更新: 您目前的SDLC是什么?
环境:基本上是"重启".一个小的开发商屈指可数; 传统产品,10 ^ 5-10 ^ 6 LOC,全球部署数万台; 产品是相互依存的; 多年来增加的重要功能,包括许多一次性,不进行重构; 紧张的时间表; 表面质量保证; 没有验尸或"流程大师".

典型流程:

  1. 创建设计/规格.所有利益相关者审查.
  2. 编写一个或多个功能/修复程序.
  3. 修改设计/规格以解决意外情况.
  4. 测试功能,记录缺陷.
  5. 确定新任务和剩余任务的优先级.
  6. 修改设计/规格/时间表.
  7. 必要时返回步骤2.
  8. 发布测试版,记录反馈.
  9. 必要时返回步骤2.
  10. 官方发布.

感谢您提供了许多有用的建议和见解!

Hor*_*ude 7

迭代建筑

当我们开始建立一致的基础(在我们的情况下每周或每周两次)时,我们看到了最大的改进.

在生成每个构建时,我们与开发团队,QA团队和产品管理团队坐下来,并创建了新构建中包含的工作列表.

然后每个人都帮助回答了下一个版本中应包含的内容的问题.

我们已经添加了敏捷开发的许多其他功能(包括尝试在字母中实现scrum),但没有任何东西给我们带来像迭代构建一样多的"砰砰作响".


Ily*_*tov 5

迭代开发.在小的迭代(比如2周)中工作,在每次迭代结束时都有"准备好"的应用程序,即您的测试人员应该乐意将结果发布给您的客户.

这是核心.你可以在此基础上建立.


pet*_*hen 4

我非常喜欢混合搭配以及开发过程的渐进式改变。我同意迭代开发应该是您的首要目标,但我认为您可以通过更小的步骤来实现它。

根据我的经验,我会推荐以下顺序 - 选择您尚未执行的第一个:

  • 首先修复错误。我希望我不必这么说。这是理智的呼唤,也要求更短的周期。

  • 小步骤。培养实现最小更改的习惯,这是迈向下一个功能的可见步骤,然后进行编译和测试。在开始编码之前,将所有任务分解为 <1 小时的单元。目标是至少每 15 分钟编写一次可构建的功能性代码。这不需要太多的基础设施改变——除了修复增量构建和拥有快速机器之外。

是的!首先确保开发人员拥有快速的机器。还能得到多少更好的建议?

  • 每日构建一切。设置从源代码管理到安装介质的双击完整版本,最好是在单独的 PC 上。这是频繁构建的第一步,但它们本身已经有很大帮助。对于我们来说,这是获得可靠、可重现的构建结果的关键一步。

  • 开始编写单元测试。暂时不要担心覆盖率,不要强制执行“首先编写测试”,而是将框架放在适当的位置。为新代码和更改编写测试。然后在日常构建中运行它们。

  • 周期短。现在是时候了,您已经准备好所有工具来每周或每两周进行一次内部发布:代码库每天多次处于可交付状态,只需双击即可进行构建,并且至少有一些功能正在运行。