Project management 如何降低维护成本

Project management 如何降低维护成本,project-management,project-planning,maintenance,Project Management,Project Planning,Maintenance,现在已经到了这样的地步:5个开发人员中有4个全职处理维护或支持问题 这主要是由于在开发过程中完全缺乏责任感(阅读:评论等),并且到处都有几十个小型的内部遗留应用程序,每个人都害怕替换它们 管理层对该部门的打击很大,因为进展不大,而且项目远远落后,所以像“审查”和“测试”这样的事情被视为浪费时间 您如何开始减少这一巨大的开销?如果管理层不理解什么是“反馈循环”(即审查、测试),那么可能会更换工作 根据经验,一家公司的文化很难改变/需要时间:如果你发现自己处于你所描述的那种情况,那就拯救自己。不要试

现在已经到了这样的地步:5个开发人员中有4个全职处理维护或支持问题

这主要是由于在开发过程中完全缺乏责任感(阅读:评论等),并且到处都有几十个小型的内部遗留应用程序,每个人都害怕替换它们

管理层对该部门的打击很大,因为进展不大,而且项目远远落后,所以像“审查”和“测试”这样的事情被视为浪费时间


您如何开始减少这一巨大的开销?如果管理层不理解什么是“反馈循环”(即审查、测试),那么可能会更换工作


根据经验,一家公司的文化很难改变/需要时间:如果你发现自己处于你所描述的那种情况,那就拯救自己。

不要试图一下子吃掉整头大象

确定可能导致大量维护开销且似乎相对容易改进的特定应用程序或其部分。。。是的,我知道找到这样的目标并不容易,但通过暂时将更多的精力集中在这些“轻松的胜利”上,你将完成两件事:

  • 提高管理层和其他利益相关者的可信度
  • 如果只逐步减少维护所花费的时间,则减少

因此,随着时间的推移,我们有更多的时间来清理代码的其他部分,也有更多的时间来做正确的事情(例如,审查和单元测试)。

那个项目很可能会失败。如果管理层不支持最佳实践,比如代码审查和测试,那么就没有什么可以帮助的了

我会试图说服管理层,从长远来看,实现测试套件和进行代码审查可以节省时间

如果没有适当的过程,错误修复将只是半思维补丁,很可能会引入新的错误,这将需要更多的时间来修复,这将导致更多的错误,这将花费更多的时间和金钱

现在花一两个月的时间来解决问题并开始一个合适的流程,实际上比继续当前流程花费的时间和金钱更少


如果事情没有改变,我会强烈考虑在别处找工作,你比这更好,你的问题证明了。使用“冻结”方法可以降低开销。这是一个很好的管理术语,在这种情况下很容易理解。

我曾参与过类似的项目,这是一个死亡行军。我们发现解决办法是“偿还抵押贷款”。找出花费你最多时间的事情,并努力纠正它们。一旦完成,你就可以腾出时间来处理其他小问题。一个好主意是将TDD引入您的流程,如果您可以制定足够的测试,那么您就可以开始进行更改,而不必担心会破坏更多的东西

通常,与管理层交谈并向他们解释问题所在会有所帮助。基本上和你在问题中提到的一样。让他们知道您没有取得进展,因为团队花了大量时间进行应用程序支持。还要让他们知道应用程序有严重的位腐蚀,需要修复。向他们解释解决这些问题需要时间和投资

一旦管理层理解了为什么事情不能正常工作,你就可以一起制定一个计划来控制事情。您可以为技术需求提供担保,并确保对业务需求敏感。试着想出一个计划,比如说50%的时间用于修复应用程序,另外50%的时间用于解决业务问题。这些百分比是可以协商的,所以看看你能得到什么

祝你好运…

选项包括:

  • 自动化
  • 委派
  • 解决根本原因
  • 吸引更多的人
  • 组织
  • 跳过并承担风险
  • 或上述各项的组合
但第一步是收集一些数据,然后进行快速分析:

  • 按来源、频率和所需努力对当前和历史问题进行分类

  • 当用于可视化最需要努力或来自单一来源的区域时。关注这些区域将带来最大的好处,并使人们能够自由地处理其他维护问题

  • 修复根本原因

    始终以解决问题的根本原因为目标。解决方案不需要太昂贵,“工程的艺术是用一美元,任何该死的傻瓜用两美元都能做到。”。使用分析技术,如找出问题的根源

    阅读问题一个根本原因似乎与当前的软件开发过程和快速向现有系统添加功能所施加的压力有关,这导致通过一系列项目交付的低质量代码增加了维护负担。这通常是由于不正确的项目规划和预算造成的,因为项目预算不包括任何维护成本,并且一旦变更交付给用户,计划就会突然终止。正确的方法是包括并跟踪交付物生命周期内的维护成本,然后将其添加到组织预算中。这一数字将从一开始就鼓励人们交付健壮的代码,并有助于在各种项目选项之间做出更好的选择

    试着看看是否有任何其他“隐藏的动机”的维护增长

    代表

    IT部门或项目团队通常被视为组织内的免费资源,用于培训用户、运行数据转换、报告、执行常规系统配置、数据更正和其他部门真正可以完成的任务

    泰斯