在另一个极端,我正在运行 Google Chrome 并阅读有关测试版更新的信息。 我去查看如何获取,发现Chrome已经自行更新了。 如果有任何通知我错过了,那对我来说很好。
主要问题是新版本的颠覆性如何。 例如,如果 MS 每 3 个月发布新版本的 Visual Studio 以及新的 .NET 版本、C 运行时等,那么我们将花费很大一部分时间来处理升级,这并不好。 但是,如果他们想要发布新版本的 Windows 媒体播放器以及一些我认为合适的新小部件,只需使下载/安装过程尽可能无缝即可。
Kenny is right: it depends.
We work on Enterprise software, where a customer may run an internal 3+ month project to upgrade to a new release. In that environment frequent releases do not work. Customers will stay on an old release for years and we have to keep supporting them, so the more releases that are active the more support work.
At the other extreme I was running Google Chrome and read about a beta refresh. I went to see how to get it and discovered that Chrome had already updated itself. If there was any notification I missed it, and that is fine with me.
The main question is how disruptive a new release is. For example, if MS released new versions of Visual Studio every 3 months with a new .NET version, C runtime, etc then we would spend a good portion of our time just dealing with the upgrade, which would not be good. But if they want to release new versions of Windows media player with some new widget that is fine with me -- just make the download/install process as seamless as possible.
I think it always will depend on your market or customer base. Changing/upgrading software is always painful and even more painful in some environments and companies. Fast release cycles can be disruptive. These disruptions often extend to your internal operations too, depending on how well feature creep is managed by marketing/management.
So, the classic ever true 'it depends' answer rings again.
If you are really adding value to the product, then customers especially new ones will want it. The best case, is to remove the upgrade change pain, as in, it works the same, but better in obvious ways. Great.
如果您正在构建一些关键的东西,例如监视或控制发电厂的东西,您可能需要小心这种做法。 您不希望人们拿着火把作为对您的新版本的反馈。 在这种情况下,定期部署到测试台,观察 X 天(根据您的置信水平)然后上线是有意义的! 您可以让您的客户访问此测试台来进行游戏并建立他的信心表。 如果它是一个非关键应用程序,并且您拥有良好的发布历史记录,请执行 ClickOnce 之类的操作......但也要确保它对客户来说同样容易回滚。
Pay attention to the man behind the curtain.: The thing that Release Early - Release Often practice wants you to do is to have fail early and fast instead of at the end of the project, when its too late. It gives you more opportunities to show what you are building to the end customer, get valuable feedback and adapt at a lower cost. The person in the 'customer' role must be able to easily obtain the latest release; play with it and respond with constructive feedback as regularly as possible.
In case you're building something critical e.g. something that monitors or controls a power plant, you'd probably want to be careful with this practice. You don't want people out with torches as feedback for your new release. In such cases, it makes sense to deploy regularly to a test bed, watch it for X days (as per your confidence level) and then go LIVE! You can give your customer access to this test bed to play and build up his confidence meter. If its a non-critical application and you've had a good historic record of good releases, do something like ClickOnce.. but also make sure its equally easy to rollback for the customer.
If you're going to do this, ensure that when people buy your product that they will get free upgrades to new versions for a year, or some other period of time so that they don't feel like they got ripped off when a new version comes out 2 months after they bought a copy. Also, ensure that you support old versions so that those who don't want to upgrade, just want bug fixes can do so without risking breaking their current installations with new versions of the software. I personally think it will be more work, but you will end up with a better product, and you will allow people using your software to take more advantage of newer features faster if they choose to.
We run a SaaS application, so in principle it can be updated as often as we like.
On the other hand, in practice, it gets only a few major releases per year (smaller patch releases are put out every few weeks typically).
The reason for this is that releases create disruption for operations staff; sometimes part of the application needs to be taken down. Every for non customer-facing changes, there is a lot of work that goes into actually doing the release as opposed to doing the engineering.
So while StackOverflow seems to get updated every few days, we don't do anything like that. Several bugs may be fixed in a day, but they are fixed in a subsequent release which goes out as a "big bang". Or something.
It depends on your resources. If you're MicroSoft, you can early-release a bug-ridden POS that rhymes with Sista, and rely on your marketing power to make people forget their early experiences with the product.
If you're hoping for good word-of-mouth, releasing an early version is not a good idea (unless you're planning to change the name or something before the final release).
发布评论
评论(6)
肯尼是对的:这要看情况。
我们致力于企业软件,客户可以运行一个为期 3 个多月的内部项目来升级到新版本。 在这种环境下,频繁发布不起作用。 客户将在旧版本上停留多年,我们必须继续支持他们,因此活跃的版本越多,支持工作就越多。
在另一个极端,我正在运行 Google Chrome 并阅读有关测试版更新的信息。 我去查看如何获取,发现Chrome已经自行更新了。 如果有任何通知我错过了,那对我来说很好。
主要问题是新版本的颠覆性如何。 例如,如果 MS 每 3 个月发布新版本的 Visual Studio 以及新的 .NET 版本、C 运行时等,那么我们将花费很大一部分时间来处理升级,这并不好。 但是,如果他们想要发布新版本的 Windows 媒体播放器以及一些我认为合适的新小部件,只需使下载/安装过程尽可能无缝即可。
Kenny is right: it depends.
We work on Enterprise software, where a customer may run an internal 3+ month project to upgrade to a new release. In that environment frequent releases do not work. Customers will stay on an old release for years and we have to keep supporting them, so the more releases that are active the more support work.
At the other extreme I was running Google Chrome and read about a beta refresh. I went to see how to get it and discovered that Chrome had already updated itself. If there was any notification I missed it, and that is fine with me.
The main question is how disruptive a new release is. For example, if MS released new versions of Visual Studio every 3 months with a new .NET version, C runtime, etc then we would spend a good portion of our time just dealing with the upgrade, which would not be good. But if they want to release new versions of Windows media player with some new widget that is fine with me -- just make the download/install process as seamless as possible.
我认为这始终取决于您的市场或客户群。 更改/升级软件总是很痛苦,在某些环境和公司中甚至更痛苦。 快速的发布周期可能会造成破坏。 这些中断通常也会扩展到您的内部运营,具体取决于营销/管理层对功能蔓延的管理程度。
因此,经典的“视情况而定”答案再次响起。
如果你确实为产品增加了价值,那么客户尤其是新客户就会想要它。 最好的情况是消除升级更改的痛苦,因为它的工作原理相同,但在明显的方面更好。 伟大的。
I think it always will depend on your market or customer base. Changing/upgrading software is always painful and even more painful in some environments and companies. Fast release cycles can be disruptive. These disruptions often extend to your internal operations too, depending on how well feature creep is managed by marketing/management.
So, the classic ever true 'it depends' answer rings again.
If you are really adding value to the product, then customers especially new ones will want it. The best case, is to remove the upgrade change pain, as in, it works the same, but better in obvious ways. Great.
注意幕后的人。:
尽早发布 - 经常发布实践希望您做的事情是尽早且快速地失败,而不是在项目结束时失败,那时为时已晚。 它为您提供了更多机会向最终客户展示您正在构建的产品、获得有价值的反馈并以更低的成本进行调整。 扮演“客户”角色的人必须能够轻松获取最新版本; 尽可能定期地使用它并提供建设性的反馈。
如果您正在构建一些关键的东西,例如监视或控制发电厂的东西,您可能需要小心这种做法。 您不希望人们拿着火把作为对您的新版本的反馈。 在这种情况下,定期部署到测试台,观察 X 天(根据您的置信水平)然后上线是有意义的! 您可以让您的客户访问此测试台来进行游戏并建立他的信心表。
如果它是一个非关键应用程序,并且您拥有良好的发布历史记录,请执行 ClickOnce 之类的操作......但也要确保它对客户来说同样容易回滚。
Pay attention to the man behind the curtain.:
The thing that Release Early - Release Often practice wants you to do is to have fail early and fast instead of at the end of the project, when its too late. It gives you more opportunities to show what you are building to the end customer, get valuable feedback and adapt at a lower cost. The person in the 'customer' role must be able to easily obtain the latest release; play with it and respond with constructive feedback as regularly as possible.
In case you're building something critical e.g. something that monitors or controls a power plant, you'd probably want to be careful with this practice. You don't want people out with torches as feedback for your new release. In such cases, it makes sense to deploy regularly to a test bed, watch it for X days (as per your confidence level) and then go LIVE! You can give your customer access to this test bed to play and build up his confidence meter.
If its a non-critical application and you've had a good historic record of good releases, do something like ClickOnce.. but also make sure its equally easy to rollback for the customer.
如果你打算这样做,请确保当人们购买你的产品时,他们将获得一年或其他一段时间的免费升级到新版本,这样他们就不会觉得自己在新版本发布时被敲诈了。版本在他们购买后 2 个月发布。 另外,请确保您支持旧版本,以便那些不想升级而只想修复错误的人可以这样做,而不会冒着使用新版本软件破坏其当前安装的风险。 我个人认为这将是更多的工作,但你最终会得到更好的产品,并且如果他们选择的话,你将允许使用你的软件的人们更快地更多地利用更新的功能。
If you're going to do this, ensure that when people buy your product that they will get free upgrades to new versions for a year, or some other period of time so that they don't feel like they got ripped off when a new version comes out 2 months after they bought a copy. Also, ensure that you support old versions so that those who don't want to upgrade, just want bug fixes can do so without risking breaking their current installations with new versions of the software. I personally think it will be more work, but you will end up with a better product, and you will allow people using your software to take more advantage of newer features faster if they choose to.
我们运行一个 SaaS 应用程序,因此原则上它可以根据需要随时更新。
另一方面,实际上,它每年只发布几个主要版本(通常每隔几周发布较小的补丁版本)。
原因是发布会给操作人员造成干扰; 有时需要删除部分应用程序。 对于每一次非面向客户的变更,实际发布都需要做很多工作,而不是进行工程设计。
因此,虽然 StackOverflow 似乎每隔几天更新一次,但我们不会做类似的事情。 一天之内可能会修复几个错误,但它们会在随后的版本中修复,并以“大爆炸”的方式发布。 或者其他的东西。
We run a SaaS application, so in principle it can be updated as often as we like.
On the other hand, in practice, it gets only a few major releases per year (smaller patch releases are put out every few weeks typically).
The reason for this is that releases create disruption for operations staff; sometimes part of the application needs to be taken down. Every for non customer-facing changes, there is a lot of work that goes into actually doing the release as opposed to doing the engineering.
So while StackOverflow seems to get updated every few days, we don't do anything like that. Several bugs may be fixed in a day, but they are fixed in a subsequent release which goes out as a "big bang". Or something.
这取决于你的资源。 如果您是 MicroSoft,您可以提前发布一个与 Sista 押韵、漏洞百出的 POS,并依靠您的营销能力让人们忘记他们早期使用该产品的经历。
如果您希望获得良好的口碑,那么发布早期版本并不是一个好主意(除非您计划在最终发布之前更改名称或其他内容)。
It depends on your resources. If you're MicroSoft, you can early-release a bug-ridden POS that rhymes with Sista, and rely on your marketing power to make people forget their early experiences with the product.
If you're hoping for good word-of-mouth, releasing an early version is not a good idea (unless you're planning to change the name or something before the final release).