我过去使用过Continuous Integration服务器取得了巨大的成功,并且没有必要在源代码控制系统上执行代码冻结.
然而,最近似乎无处不在,大多数商店在准备发布时使用代码冻结的概念,甚至是他们产品的新测试版本.这个想法甚至在我当前的项目中运行.
当您提前和经常办理登机手续,并使用单元测试,集成测试,验收测试等时,仍然需要冻结代码吗?
想象一下,您正在实现包含各种新功能的用户故事,并增加了代码库的复杂性.现有代码已经很好地覆盖了,您刚刚决定了接口.您开始实施从测试开始的功能.
现在,根据需求,您拥有相当复杂的测试用例,但是当您能够提交SCM完全正常工作的代码并且许多测试失败时(实际应用),实现远未达到这一点.
假设在持续集成中,如果可能的话,所有构建都应该是绿色的,因此您不应该因为破坏构建而提交.但你也不应该"走向黑暗"并为自己保留这么多代码......
在这种情况下建议的程序是什么?
在研究软件方法时,我经常看到免责声明"这种方法需要一个成熟的开发团队".
哪些开发方法专门针对不成熟的开发团队? 我认为这是大多数球队应该开始的地方.
让我们将一个不成熟的团队定义为一个团队,其成员以前没有合作过,在一个未知的环境(即新公司)工作,还没有定义他们的流程和控制.
我一直在努力让我们的软件部门采用某种开发过程方法.我们只有9个开发人员和大约几个项目.目前,我们只能被描述为混乱.或者也许是"危机驱动的发展",因为我看到另一个SO用户称之为.
使用看板似乎是一个非常适合我们.所以我和其他人讨论过,每个人都认为这听起来不错.但是,当我们讨论如何安排董事会时,每个人都希望每人一个董事会.
现在,我从未尝试过看板或任何方法,但感觉就是让每个人在自己的董事会上管理会否定看板过程应该提供的好处.这个想法让我感到难过,并想说'哼哼让我们废弃这个想法.'
您认为每个开发人员实施看板是否值得?
什么时候非关键错误成为一个功能,或者一个bug总是作为一个bug存在?
例如.是否应该有适当的诉讼时效.
例如,如果您有一年的定义法规.该漏洞是在18个月前推出的,但今天才注意到.如果将该错误定义为"现在这是系统如何工作"并进行更改,则应将其置于待办事项列表中以确定优先级.