我们已经尝试将单元测试引入到我们当前的项目中,但它似乎没有起作用.额外的代码似乎已经成为一个维护问题,因为当我们的内部框架发生变化时,我们必须绕过并修复任何挂起它的单元测试.
我们有一个抽象基类,用于单元测试我们的控制器,它作为模板调用子类的抽象方法实现,即Framework调用Initialize,所以我们的控制器类都有自己的Initialize方法.
我曾经是单元测试的倡导者,但它似乎并不适用于我们当前的项目.
任何人都可以帮助确定问题以及我们如何使单元测试对我们而不是对我们有效?
显然我们使用Scrum开发方法.以下是一般情况:
开发人员试图完成他们的任务.通常,任务需要完成大部分sprint.QA讨厌Dev发布他们可以测试的内容,Dev在sprint结束前一两天将一些错误的代码抛给QA,并花费其余的时间来修复QA发现的错误.QA永远无法按时完成任务,冲刺很难按时发布,而Sp和QA在冲刺结束时有几天可怜.
当可释放的Dev任务占用大部分冲刺时,scrum应该如何工作?
感谢大家参与讨论.由于这是一个相当开放的问题,似乎没有一个"答案" - 下面有很多好的建议.我将尝试总结一些"带回家"的观点,并做出一些澄清.
(顺便说一下 - 这是放置这个的最好的地方还是我应该把它放在'答案'?)
要思考/行动的要点:
Sprint和迭代之间是否存在差异,或者Sprint或Sprint中的迭代是否只是Scrum中使用的术语而不是迭代?如果有人可以对此有所了解,将会很有帮助.
假设有4个冲刺并且您已经确定第一个冲刺将持续10天是否需要其他3个冲刺应该具有相同长度的第一个决定冲刺的长度??.
我正在和我的兄弟一起使用我们的网站创意,我们想用一个工具来计划冲刺并为个人门票分配估算.
Atlassian的JIRA + Greenhopper看起来很棒,但每月花费20美元,在这个阶段我们只是验证我们的想法,如果我们可以避免它,我们宁愿不花钱购买工具.
这些工具有免费的替代品吗?
我的公司刚刚进行了第一次大规模的开发项目调查,我想使用敏捷过程.客户对应用程序有一个愿景,但公开承认只有很少的要求,并承认我们必须按小时收费.因此,我几乎以敏捷的方式卖掉了他.
问题是他想要一个数字来预算.我已经阅读了一些非常主张放弃估算的文章,因为客户会预算这个数字,即使需求发生变化,他们头脑和书中的数字也没有.
我已经读到有很多方法可以考虑合同中的定价,但几乎所有这些方法(除了一个)都包含一个前期数字.这似乎违反了敏捷开发的整套原则.
所以我的问题是,如果你是一个敏捷商店,你如何设法规避敏捷开发的这个Catch-22?
我正在敏捷环境中工作,事情已经发展到客户认为他们更喜欢瀑布的状态,因为当前敏捷方案的失败(这就是他们的想法).让他们这样思考的原因是在冲刺的最后阶段发生的大量设计水平变化,我们(开发人员)无法在他们指定的时间内完成.
像往常一样,我们都互相指责.从我们的角度来看,最后说的变化太多了,设计/代码的改动太多了.从客户的角度来看,他们抱怨说我们(开发人员)并没有完全理解这些要求,而是提出了"不"他们在要求中的意图的解决方案.(就像他们要我们画一只老虎,我们画了一只猫).
因此,客户感觉(不是我们)敏捷过程不正确,他们想要切换到瀑布模式,恕我直言将是灾难性的.简单的原因是它们在敏捷模式下的满意程度本身还不够,那么在瀑布开发的设计阶段花费这么多时间之后他们如何才能容忍输出呢?
请提出你的建议.
我猜一个功能可能是"信用卡授权",而用户故事可能是"授权PayPal信用卡".
那么,用户故事是一个功能的子集吗?
从这个链接我断言一个功能是一组积压项目,但什么是史诗应该是什么?
我从头开始创建一个新项目并编写用户商店来描述给定用户如何与系统交互.但是,我无法理解如何在没有第一个成为史诗的任务中打破第一个用户故事.
例如,如果我正在制造汽车,并且第一个用户故事说"作为司机,我希望能够改变运动的方向,这样我就不会碰到东西.",这意味着用户接口(方向盘),还有运动(车轮)和将它们连接在一起所需的一切(车轴,车架,连杆等......).最后,第一个用户故事似乎总是代表项目的大约40%,因为它对底层架构意味着很多.
你如何打破新项目的用户故事,使第一个不成为代表整个底层架构的史诗?
agile ×10
scrum ×4
methodology ×2
sprint ×2
user-stories ×2
azure-devops ×1
estimation ×1
iteration ×1
jira ×1
kanban ×1
tdd ×1
tfs ×1
unit-testing ×1
waterfall ×1