我们有一个大型企业应用程序,项目是通过正式的瀑布流程进行范围设计和最终编码的。由于非相关倡议位于同一代码部分中,我经常会收到代码更改。所有倡议必须同时交付。开发团队对范围或交付时间表也没有太多发言权。我们不能直接与用户交流,必须通过不了解业务的需求收集组进行沟通。
有没有人对如何在这样一个根深蒂固的环境中实施即使是最小的敏捷技术有什么建议?
有没有人对如何在这样一个根深蒂固的环境中实施即使是最小的敏捷技术有什么建议?
通常人们会把事情视为“理所当然”,但当你开始询问原因时,你可能会发现很多有趣的事情...和改进的想法。
一个非常有用的敏捷工具是回顾。在每个迭代(无论在实际过程中称之为什么)之后,团队聚集在一起,进行头脑风暴,探讨:
敏捷方法是为了打破那些瀑布式的框架。BDUF;同时、多组件发布;开发人员与业务流程所有者之间缺乏沟通;计划的迭代 - 这些都阻碍了你在瀑布式流程中前进。
在我的职位上,我们已经打破了很多这些壁垒 - 起点是直接接触客户。当发生这种情况时,客户获得了更好的产品。这导致了更满意的客户。这消除了诸如 BDUF 等问题。
我们仍然没有真正的迭代/冲刺、持续集成等,但我们正在努力。(老习惯了,诸如此类.)
不了解业务的需求收集者
如果正确执行,瀑布式开发可以做得很好。我认为听起来有些参与者和他们的工作方式是错误的,而不是概念上的过程。
根据您的领域,自动化测试和持续集成应该是可行的。
此外,考虑为您当前分配的任务制定自己的高度细化的燃尽清单(英寸石)。它应该有助于您的工作估计更加可预测,并使您更容易解释任何时间表滑动和未计划的任务。
总的来说,要跟踪系统中的一些指标。如果您可以展示一些敏捷技术增加了价值(缩短周期时间,降低缺陷率等),那么向领导推销这种技术就应该很容易。
...根据经理的情况,您可能希望避免实际使用“敏捷”这个词,特别是如果您只是想在使用一种技术方面取得小胜利。