Project management 您是否积极管理技术债务?

Project management 您是否积极管理技术债务?,project-management,technical-debt,Project Management,Technical Debt,您是否积极管理软件开发项目的债务?如果是,您是如何做到的?在我们的团队中,我们积极管理技术债务。我们做Scrum,所以我们为当前迭代或下一个迭代生成一张技术债务卡,这取决于估计值和我们剩余的sprint容量,它们会像功能和bug卡一样获得优先级。我们还通过跨团队积压技术债务来管理更大、跨团队的债务项目,我们在每个Scrum团队的sprint规划期间对这些技术债务进行优先排序并将其注入其中。管理技术债务的一个方面是说服非技术管理人员,您需要分配时间进行重构和缺陷修复 关于如何做到这一点。我认为,如

您是否积极管理软件开发项目的债务?如果是,您是如何做到的?

在我们的团队中,我们积极管理技术债务。我们做Scrum,所以我们为当前迭代或下一个迭代生成一张技术债务卡,这取决于估计值和我们剩余的sprint容量,它们会像功能和bug卡一样获得优先级。我们还通过跨团队积压技术债务来管理更大、跨团队的债务项目,我们在每个Scrum团队的sprint规划期间对这些技术债务进行优先排序并将其注入其中。

管理技术债务的一个方面是说服非技术管理人员,您需要分配时间进行重构和缺陷修复


关于如何做到这一点。

我认为,如果你想弥补过去的过失,安排时间处理技术债务是很重要的,但我也认为你不应该养成这种习惯。一旦你清理了烂摊子,你应该避免让你的项目陷入更多的债务,除非你有充分的理由这么做

像Mike建议的那样积极地管理它似乎是最合理的方法,但我认为(向您的团队)明确表示,从长远来看,您不应该安排时间或计划进行重构,这一点非常重要


重构应该是编写代码的一个自然部分,因此应该包括在您的其他评估和计划中,而不是作为一项单独的活动来对待,除非您必须这样做,即“历史性的”原因或是因为您有意识地决定以给定的方式实施某项内容,然后在以后重新实施。

这在很大程度上取决于产品。当我在一个必须对代码进行外部审核的领域工作时,这是我们sprint计划的一部分。PM只是问开发部门哪个领域需要重构,并将其纳入了计划。这并不是说你不会在你正在工作的领域修复代码,但是你不会花一天的时间去重写一段已经工作的代码。现在我在scrum工作,开发人员只需按他们的工作方式来做。我的印象是,无论哪种方式,重构工作的时间都差不多。

你要做的是创建一种文化,在这种文化中,除非在极端情况下,否则技术债务是不可接受的。就像那些只付现金,只把信用作为最后手段的人一样

我同意安德斯的观点。如果您必须建立管理技术债务的系统,这意味着您仍在添加它。通过升级“完成”的定义,首先停止负债


这确实意味着“负债”模块将更难完成。开发人员应该意识到这一点,并分配更多的故事点,这样他们就可以让事情“完成”了。

如果您进入发布周期较晚,您不想对代码库做太多更改。这意味着总会有一些技术债务。我通常会为次优的更改编写修复程序,然后在开始为下一个版本实施功能之前处理这些更改。

Java Posse最近已经介绍了管理,看起来非常全面。

如果我真的需要积累技术债务,因为我现在需要发布一些东西,我提交了一个关于它的关键bug,所以它得到了最高优先级。但这只适用于极端情况(客户在跳上跳下,妻子在寻找丁巴塔等)。

对于我迄今为止参与的项目,一些技术债务仅在项目的新阶段开始时,即在“大发布”或里程碑之后“支付”(管理)

技术债务的一个非常重要的方面是,它不仅涉及开发人员,还涉及管理人员。从这个意义上说,我意识到,处理这一问题的最佳方法是让“非技术项目利益相关者”看到这一点,一旦他们理解了技术债务的影响,他们可能会分配时间和资源来管理技术债务


本文讨论了几种类型的技术债务,哪些是健康的,特别是如何管理和跟踪技术债务。我在这里发布了一些技术债务的技巧和策略:这个问题似乎离题了,因为项目管理问题不再是主题。请看。我投票结束这个问题,因为项目管理问题不再是主题。看见