For all my personal projects and prototype projects I do at work I release builds when the completion criteria for my current milestone is complete.
In essence...
I make a plan, including the things you definitely want and some things that would be nice to have in the next official build
I work on those things until they meet the desired level of functionality as defined in the plan
Then I label a release
On my personal projects I rarely have a timeline (since it's a hobby), so step 2 often has no strict deadlines, in the case where you have deadlines and they arrive but the plan isn't complete then you may have to cut some things from the plan and make a release anyway. In many cases it's better to release something that has only 50% of the planned features but they all work and are well tested than wait until 100% of all the features are fully complete.
We have a release schedule, major release every M months, minor release every N months, where M > N. We know we will need to make a major release every M months as we work with the government and they add required functionality every 6-12 months, and the minor releases are bugfixes or new features as suggested by customers.
Minor releases might get pushed back or coalesced into another release, depending on what fixes/features are going in and how busy we are with the major release.
Approximate turnaround time for a bug found to being fixed in a minor release is 6 to 8 weeks.
It really depends on the project and the urgency of the release. In most cases, I prefer to have a regular build schedule (usually weekly) and stick to it unless an emergency patch is required for a show-stopper bug. However, for production releases, there should be a phased build cycle -- perhaps monthly. As you stated though, it's very subjective.
发布评论
评论(3)
对于我在工作中所做的所有个人项目和原型项目,我会在当前里程碑的完成标准完成时发布版本。
本质上...
(因为这是一种爱好),因此步骤 2 通常没有严格的截止日期,如果您有截止日期并且它们到达了,但计划尚未完成,那么您可能必须从计划中删除一些内容并发布。在许多情况下,最好是发布只包含 50% 计划功能但它们都可以工作并且经过良好测试的功能,而不是等到 100% 的所有功能完全完成。
For all my personal projects and prototype projects I do at work I release builds when the completion criteria for my current milestone is complete.
In essence...
On my personal projects I rarely have a timeline (since it's a hobby), so step 2 often has no strict deadlines, in the case where you have deadlines and they arrive but the plan isn't complete then you may have to cut some things from the plan and make a release anyway. In many cases it's better to release something that has only 50% of the planned features but they all work and are well tested than wait until 100% of all the features are fully complete.
我们有一个发布时间表,每 M 个月发布一次主要版本,每 N 个月发布一次次要版本,其中
M > N。我们知道,当我们与政府合作时,我们需要每 M 个月发布一次主要版本,他们每 6-12 个月添加所需的功能,次要版本是客户建议的错误修复或新功能。
次要版本可能会被推迟或合并到另一个版本中,具体取决于正在进行的修复/功能以及我们对主要版本的繁忙程度。
在次要版本中发现修复错误的大约周转时间为 6 到 8 周。
We have a release schedule, major release every M months, minor release every N months, where
M > N
. We know we will need to make a major release every M months as we work with the government and they add required functionality every 6-12 months, and the minor releases are bugfixes or new features as suggested by customers.Minor releases might get pushed back or coalesced into another release, depending on what fixes/features are going in and how busy we are with the major release.
Approximate turnaround time for a bug found to being fixed in a minor release is 6 to 8 weeks.
这实际上取决于项目和发布的紧迫性。在大多数情况下,我更喜欢有一个定期的构建时间表(通常每周)并坚持下去,除非需要针对严重错误进行紧急补丁。然而,对于生产版本,应该有一个分阶段的构建周期——也许每月一次。正如您所说,这是非常主观的。
It really depends on the project and the urgency of the release. In most cases, I prefer to have a regular build schedule (usually weekly) and stick to it unless an emergency patch is required for a show-stopper bug. However, for production releases, there should be a phased build cycle -- perhaps monthly. As you stated though, it's very subjective.