我的公司为房地产机构构建了一个 Web 应用程序——最初使用经典 ASP 编码,并逐步迁移到 .NET。本质上,它是一个带有后端数据库的网站,混合了自定义 Windows 服务/dll。.NET 应用程序的标准。
在我过去的公司中,我们有一个传统的软件设计生命周期。我们构建了我们的产品版本,当我们发布时,所有客户都收到了相同的代码。产品需求通过我们的工程团队过滤,发送给 QA 以在本地暂存环境中进行测试,然后推送到生产环境。
这家公司为多个客户提供我们产品的多个版本。基本上,客户 A 可以使用 1.5 版本,客户 B 可以使用 1.6,客户 C 可以使用 2.0。我们这样做是因为使用我们应用程序的机构对影响其用户的任何变化都有严格的要求。如果客户对 1.5 版感到满意,他们会留在那里,即使 2.0 版拥有所有最新的花里胡哨。客户实际上推迟了升级,因为新的“功能”实际上会通过造成混乱来伤害他们的用户群。
支持这种类型的生命周期在您还小的时候很好,但是当您发展到数十或数百个客户时,我们的 DEV、DBA、QA 就会承受压力,更不用说我们的支持团队了。现在我们的情况是,我们每周只能安排 6-8 个站点,这些站点可以根据需求进行更新。这迫使我们让其他站点等待 2-4 个月才能在他们的站点上获得哪怕是很小的更新。任何需要立即关注的生产问题或错误都会使事情变得更加糟糕——因为已经安排接收更新的站点需要取消优先级以腾出时间。
对不起,这太长了,但任何帮助表示赞赏。我们越早进行一些更改以使我们有更好的发布时间表越好。谢谢!