如何预测软件维护成本

当利益相关者讨论构建解决方案的成本时,许多人会限制对启动预算的考虑。 经验丰富的团队知道,软件维护成本必须纳入计划阶段。 如果不深入研究预期的流量,支持的设备和其他影响费用的因素,团队就有风险建立一个需要维护的解决方案,从而威胁到企业的财务安全。 在开始开发之前,请问这四个问题,以更好地预测2017年的软件维护成本。 下载:规划软件维护成本的完整指南 1)在您的应用成熟时,您将在启动时支持哪些设备并继续提供服务? 支持的设备数量与构建解决方案的成本之间存在直接的关联-支持更多的设备意味着更高的成本。 出于多种原因,这是正确的,最明显的是质量保证。 更多设备等同于需要更长的时间进行测试,以验证交互和功能在受支持的设备上是否按预期执行。 如果出现差异,则必须花费更多时间进行故障排除和重新测试。 然后,如果/当添加功能时,应在支持的设备上执行回归。 更多的设备意味着更多的回归,这意味着更高的成本。 拥有高度定义的用户群并了解此受众最常使用的设备来进行应用程序开发的团队可以节省开发成本,从而消除对目标人群中不常见的设备的支持和广泛测试。 也就是说,这可以(并且将会)改变。 超出预期的变量组合(包括设备,运营商和操作系统)可能会使应用程序的期望超出设计支持的范围。 拥有一个开始的位置将指导团队进行故障排除和发布修复的决策。 下载:常见的应用程序漏洞以及如何防止它们 2)用户流量对软件维护成本有多大影响?…

Shepherd:自动执行跨仓库代码更改

内森·沃尔特斯(Nathan Walters) 在NerdWallet,我们已经完全接受了现代微服务架构。 我们的网站由数十个React应用组成,这些应用从各种内部服务中提取内容和数据。 这种工作方式具有明显的好处:团队可以独立工作,快速迭代并通过故障隔离频繁部署。 当使用这么多代码库时,希望将常见组件提取到可重用的包中:我们拥有共享库,这些库提供服务器端渲染,数据获取,缓存,React组件等。 这对于提高设计一致性和减少需要进入新应用程序的样板数量非常有用。 但是,这会使更新共享库变得困难: 更新图书馆的人必须将更改通知图书馆的使用者 消费者必须了解如何进行更改并随后更新其代码 使用者必须测试,合并和部署这些更改 即使是相对较小的更改,此过程也很容易在我们所有团队中花费数百个工时。 这个确切的问题在最近来自Segment的广泛分享的博客文章中提到,他们讨论了为什么他们重​​新回到整体市场: 测试和部署对这些共享库的更改影响了我们的所有目的地。 它开始需要大量的时间和精力来维护。 进行更改以改进我们的库,知道我们必须测试和部署数十种服务,这是一个冒险的提议。” 当共享代码更改时,更新应用程序所需的时间就是可以在我们的产品上进行创新的时间。 作为一名工程师,我的自然志向是使一切可能自动化的东西都自动化。…