我刚刚听完了关于“完成”定义的非常eye-opening podcast on Hanselminutes。所以我对每个人的问题是“你什么时候认为某个软件是”完成“?它是完全单元测试的吗?它是完全记录的吗?你在开发过程中使用什么测量来确定您的软件的完成?
答案 0 :(得分:3)
肯定取决于软件的背景和目的?
Lunar Lander(真实的东西)对Flash游戏中的Lonear Lander的完成有一个非常不同的定义。
在我工作的地方,DONE由非技术经理委员会定义。你可以想象有趣和游戏。
答案 1 :(得分:3)
sprint评审中的测试,单元测试,集成测试,webtest,对等QA和最终用户评审。 Peer QA决定是否还需要其他任何测试,所有测试必须通过CI环境。这是一个scrum web项目。
答案 2 :(得分:3)
检查清除后?
说真的,每次编写一个软件时,都应该定义“完成”的含义。第一。如果你有一个客户,那么应该有一个特定的,可衡量的,同意的和可测试的合同 - 定义完成。
如果你不知道你要去哪里,你怎么知道什么时候到达那里?
答案 3 :(得分:1)
当客户(1)认为已完成时,会对其进行检入,备份和记录。
此外:网络开发中很少存在“完成”。
(1)客户可能是内部PM或
答案 4 :(得分:1)
良好的衡量标准是代码流失。使用源代码控制软件,测量变化率。每天删除/添加/更改多少行代码。随着时间推移绘制图表当您接近准备发布时,这应该向下趋势并指示稳定性和准备发布。这假设您实际上测试得很好并进行更改以修复错误或响应更改请求。如果您的用户验收测试用户和集成/单元测试活动正在继续回归和测试,并且您不必进行代码更改(因为他们没有找到任何需要更改的内容),那么您可能已准备好发货。
如果大量的代码在任意或外部驱动的发货日期前几天搅拌,请注意!
答案 5 :(得分:1)
当软件可用于满足定义系统的要求时。
但我一直认为,“软件从未完成,只是达到了可接受的不完整程度。”
答案 6 :(得分:1)
从发展的角度来看,我的朋友兼导师西蒙贝克很好地描述了'完成',here
Alistair Cockburn,Jeff Patton和Mike Cohn也有以下collected views
必须在上线时运用的可交付质量,迫使团队真正专注于确保更加仔细地考虑增量工作。
'完成'是所有以上引用的第一个同意的东西,每个团队和项目总是不同的;然而,为了满足知道某项工作的完成,团队必须在一开始就进行一项练习,以充实成功的标准并列出这些标准。
通过这样做,每个人都一致同意可接受的完成点是什么 - 是否包括注意Excel中的任务,或编写文档(或不编写)成为该团队/项目的实现细节。最重要的是每个人对Done的理解都是统一的。
同样,假设您以协商一致方式达到该定义,也可以按照协商一致的要求进行更改。
答案 7 :(得分:0)
满足所有要求并通过所有测试时。
答案 8 :(得分:0)
它从未完成,只是版本化和发布。
答案 9 :(得分:0)
每个项目都有自己的完成定义,我们的代码完成(编译成功等),单元测试(或者如果不可能的某种本地测试)并在我们的一个软件包中发布(因此它可用于其他队伍)。
但是,国防部最重要的事情是每个政党都应该就它是什么达成一致(团队,产品所有者,经理等),它应该是某种公共合同,在团队门户网站上发布是一个好主意。 / p>答案 10 :(得分:0)
任何时候任何软件都可以完成80%。至少,这就是我的经验教导......
答案 11 :(得分:-1)
当顾客认为是。