这一周的工作中,我又变得敏捷了。经历了标准的敏捷,TDD,共享所有权,临时开发方法,从未计划过一张卡片上的几个用户故事,口头上嚼了一个第三方集成广告恶心的技术,却从未真正做过思考或应尽的努力,并将所有生产代码与过去几个月来遇到的第一个测试在体系结构上耦合起来,我们到达了发布周期的结尾,并且发现我们一直在开发的主要外部可见功能太慢而无法使用,越野车,迷宫般变得复杂而完全不灵活。
在此过程中,“尖刺”完成了,但从未记录下来,也没有生产出任何单一的建筑设计(没有FS,所以,如果您不知道自己在开发什么,该如何计划或研究它? ?)-项目是成对进行的,每个人一次只专注于一个用户故事,结果是不可避免的。
为了解决这个问题,我放弃了雷达,去了(可怕的)瀑布,进行了计划,编码,基本上并没有放弃这一对,并尝试了我一个人尽可能多的工作-专注于坚实的体系结构和规范,而不是单元测试。一切确定后,我们将在以后发布。该代码现在更好,并且实际上完全可用,灵活且快速。某些人似乎真的很讨厌我这样做,并且竭尽全力破坏我的努力(可能是无意识地),因为这违背了敏捷的神圣过程。
因此,作为开发人员,您如何向团队解释计划他们的工作并非“不敏捷”,您如何使计划适合敏捷过程?(我不是在谈论IPM;我是在谈论坐着一个问题,并草拟一个端到端设计,该设计说出应该如何充分详细地解决问题,以便从事该问题的任何人都知道他们应该使用的架构和模式,以及新代码应集成到现有代码中的位置)