发布带有时间限制但仍未完成部分的软件术语为何?

6
我记得一段时间前,在Stack Overflow的播客中,Jeff Atwood谈到了悬赏系统,他说他们发布了悬赏提供代码,但颁发悬赏的代码还没有写,因为这段时间内并不需要该代码。
这种方法有一个标准术语吗?敏捷开发可以采用这种方式,但不一定要这样。我想向客户建议采用这种方法,希望能使用正确的术语以及任何支持这种方法的信息。
基本上,这种方法是在某些功能尚未完成的情况下发布代码,因为需要完成的功能的时间比开发所需的时间短。

5
作为客户,我认为对这个做法我会有几个选择性的词语...“基于信仰的排班”? - Derrick Turk
1
不要这样做,这不值得。 - Eamon Nerbonne
2
37signals在他们的计费组件完成之前就卖出了他们的软件。他们在最后一刻完成了它。 - Anthony Mastrean
Area51做了那个。当网站上线时,提交阶段的东西还没有完成。(他们有点受到了打击,因为一些提案比预期更快地通过了第一阶段。) - Vaccano
6个回答

5

刚好合适的开发?类似于商业中刚好合适的库存的概念。

或者,更不友善地说,就是“临时抱佛脚”。


我喜欢这个短语。我明白你随意发挥的想法,但这样可以比原计划提前交付功能,有价值。 - Jeremy French
2
我认为这是一件非常不明智的事情 - 要么它是一个琐碎的功能,那么你并没有节省多少,要么它不是一个琐碎的功能,那么如果你认为你可以保证在时间范围内实现它,那么你就在自欺欺人。而你并不能总是分辨出两者之间的区别。 - Eamon Nerbonne

3

在我看来,这更像是一种机会而不是方法:例如,在月初提供一个允许订阅每月通讯的功能,并在一个月后发布发送通讯的代码。这样做只是聪明的发布管理(即良好的工作优先级)。也许有人可以称之为“机遇开发”(这是你可以在敏捷文献中找到的东西)。


这是一个非常好的观点。但仍然不能帮助我向客户解释它是可行的并且有效。 - Jeremy French
@Jeremy,根据Mike Cohn在《用户故事应用于敏捷软件开发》一书中的写作,似乎他认为“用户故事支持机会主义开发”。 - Pascal Thivent
将此标记为已勾选,因为它是最接近官方术语的。谢谢。 - Jeremy French
@Jeremy 你如何向客户解释你会按时完成所有任务? - JeffO

1

这个术语是赏金开发

说真的,如果你在考虑一个术语来描述你在这种情况下想要做的事情,在我看来应该是增量式,而不一定是不完整的。如果你有赏金提供代码,那么你就不是有不完整的赏金代码,而是有赏金提供代码

这里没有什么是不完整的:它是一个可交付的(可运送工作的增量)在一个阶段(规则的工作节奏)以检查和适应的方式提交。

经常交付可工作的软件, 从几周到几 个月,更偏好较短的时间尺度。

来源:敏捷宣言原则

我只会使用敏捷这个词,简单解释一下(因为无论用地球上的任何术语,你仍然需要解释):“以非常小的工作单位创建软件,每个工作单位都在较短的时间尺度内,并与客户进行持续合作。”


0

这里有几个链接可能会有所帮助。我认为原型设计更接近你想要的,但我还是会保留其他链接,以防你在开发软件时需要添加一些更有用的短语:


0

开放阿尔法或贝塔(取决于完整性)

基本上,你知道代码库的所有功能还没有稳定下来,但你还是将其发布给公众。

“阿尔法”这个区分可能适用于处于开发初期的项目。

“贝塔”这个区分通常适用于尚未成熟到达第一个正式发布版本号(例如1.0)的应用程序。

不过要小心,因为向公众发布不完整/未经测试的代码存在固有风险

对于Stack Overflow来说,发布不完整的代码/功能并不是什么大问题,因为该平台预计会根据用户社区的需求进行持续开发/修订


0
自杀?
我不认为潜在的收益能够抵消风险。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接