【发布时间】:2010-11-17 00:04:48
【问题描述】:
我的公司为房地产机构构建了一个 Web 应用程序——最初使用经典 ASP 编码,并逐渐迁移到 .NET。本质上,它是一个带有后端数据库的网站,混合了自定义 Windows 服务/dll。 .NET 应用程序的标准。
在我过去的公司中,我们有一个传统的软件设计生命周期。我们构建了我们的产品版本,当我们发布时,所有客户都收到了相同的代码。产品需求通过我们的工程团队过滤,发送给 QA 以在本地暂存环境中进行测试,然后推送到生产环境。
这家公司为多个客户提供我们产品的多个版本。基本上,客户 A 可以使用 1.5 版本,客户 B 可以使用 1.6,客户 C 可以使用 2.0。我们这样做是因为使用我们的应用程序的机构对影响其用户的任何变化都有严格的要求。如果客户对 1.5 版感到满意,他们会留在那里,即使 2.0 版拥有所有最新的花里胡哨。客户实际上推迟了升级,因为新的“功能”实际上会造成混乱,从而伤害了他们的用户群。
在您还小的时候支持这种类型的生命周期很好,但是当您发展到数十或数百名客户时,这对我们的开发人员、DBA、质量检查人员来说是一种压力,更不用说我们的支持团队了。现在我们的情况是,我们每周只能安排 6-8 个站点,这些站点可以根据需求进行更新。这迫使我们让其他站点等待 2-4 个月才能在他们的站点上获得哪怕是很小的更新。任何需要立即关注的生产问题或错误都会使事情变得更加糟糕——因为已经安排接收更新的网站需要取消优先级以腾出时间。
对不起,这太长了,但感谢任何帮助。我们越早进行一些更改以使我们有更好的发布时间表越好。谢谢!
【问题讨论】:
-
您现在使用什么版本控制和自动构建系统?如果我理解正确,由于您要维护同一网站/应用程序的多个版本,因此您无法同时参加足够多的网站/应用程序,因此会出现延迟。对吗?
-
我们使用组合的东西。我们使用名为 Vault 的产品进行版本控制,并使用名为 CC.NET (CruiseControl.Net) 的插件,它是一个持续集成/构建服务器,用于监控我们的存储库并生成构建。
标签: .net iis release-management sdlc