Project management 敏捷和代码发布

Project management 敏捷和代码发布,project-management,agile,release-management,Project Management,Agile,Release Management,您知道为代码发布创建的任何敏捷过程吗?敏捷的一个主要主题是频繁发布,每个公司/客户都有自己的测试/批准流程来控制代码发布。大多数情况下,这会减慢“频繁发布”的速度 目前,我们有一个基于专有工具的工作流。需要代码升级的团队需要创建到最终UAT服务器之一的升级请求。一旦这项工作完成,测试完成,某些客户、技术/非技术经理需要批准,然后进入生产部署阶段。同时,没有sprint计划会议或类似的会议 什么样的代码发布过程(敏捷)对您有效?这取决于您的产品的任务关键性。“发布”是指向医院发布您的生命关键型软件

您知道为代码发布创建的任何敏捷过程吗?敏捷的一个主要主题是频繁发布,每个公司/客户都有自己的测试/批准流程来控制代码发布。大多数情况下,这会减慢“频繁发布”的速度

目前,我们有一个基于专有工具的工作流。需要代码升级的团队需要创建到最终UAT服务器之一的升级请求。一旦这项工作完成,测试完成,某些客户、技术/非技术经理需要批准,然后进入生产部署阶段。同时,没有sprint计划会议或类似的会议


什么样的代码发布过程(敏捷)对您有效?

这取决于您的产品的任务关键性。“发布”是指向医院发布您的生命关键型软件吗?还是一个休闲游戏网站

如果您的工作是任务关键型或生命关键型的,那么敏捷可能无法为您工作。在这种情况下,您可能需要在部署之前进行更多的正式测试

如果你在一个不是任务关键型的网站上工作(这通常比不工作要好),你就有了成为一个小错误的自由。这有助于加快迭代速度并一次又一次地重新发布


对于这种产品,敏捷是完美的,让开发人员自己测试,让客户看到结果,然后尽快向一小群用户(希望是随机选择的活跃用户——走廊测试)——如果这是一件小事,甚至是整个用户群。在web服务上,您可以快速完成此操作并修复它,而无需经历太多痛苦。

如果您在测试“大”版本时遇到问题,那么您的发布周期太长了。发布的基本原则通常是,通常==较小的发布。如果您遇到了问题,并且只发布了一小部分功能,这些功能不需要花很长时间进行测试,那么是您的发布工程团队造成了瓶颈,他们的瀑布式审批流程需要更改

在sprint期间发布到公共开发环境中,在sprint期间发布到QA环境中

在sprint结束时发布到参考环境中,仅演示已完成(并测试)的功能

只要产品所有者愿意,就随时投入生产

bug的风险不应该是一个问题,因为bug不应该与发布的频率有任何关联,实际上更多的发布应该意味着更少的风险和更少的bug。测试应该在冲刺期间进行,而不是在冲刺之后。如果某个东西没有经过全面测试并且可能有bug,那么它就没有完成,不应该进行演示,更不用说发布到生产环境中了


最终发布到生产中应该是产品所有者的要求。一个政治化的瀑布式发布工程过程几乎从来不会让bug退出生产,它只是让展示推迟而不是提前。经理们在表单上勾选“ok”复选框并不能让客户看不到有问题的代码。在开发过程中,经常向QA发布将非常有用。测试不应该是发布工程周期的一部分,它应该是开发周期的一部分

为什么在工作流进行期间没有任何形式的sprint计划会议?标记存储库并立即开始下一个版本。如果您需要对候选版本进行bug修复,请从标记分支并修复它们。审批工作流程和最终UAT测试不应涉及或延迟开发团队。(如果您实际使用的是Git或Mercurial之类的工具,请原谅非分布式SCM术语。)


如果您采用像Scrum这样的敏捷过程,那么发布输出是“可发布的软件”,而不是“已发布的软件”。如果你有一个开销让你的东西发布到生产中,那么它可以并行发生。我应该补充一点,大多数测试都应该是sprint的一部分——也许你需要重新审视一下在你的周期中到底做了什么测试?

“可发布”与“已发布”是一个很好的观点。开发者应该创建可发布的软件;经理、QA和其他涉众将决定是否真的发布了特定的可发布构建。而且你永远不应该害怕分岔来修复一个bug,然后合并回修复。敏捷过程不是发布有bug的软件并更快地修复它们,而是在一段时间内不发布有bug的软件。你几乎把敏捷等同于牛仔编码@戒指持有者:有区别吗p这个答案是完全错误的,敏捷可以并且已经用于生命关键型应用程序。“测试不应该是发布工程周期的一部分,它应该是开发周期的一部分。”-UAT或预生产客户测试呢?就我所见,这些在发布中起着重要作用。用户验收测试最终用户客户测试不同于功能测试和集成测试。最后,它应该只是确认产品负责人正在做他们的工作。产品所有者应在产品投入生产前测试并验收任何功能。UAT和最终用户客户测试不应该是查找系统中的错误。它应该会发现他们要求但指定的内容最多是错误的。+1,但您似乎掩盖了一个事实,即以后的版本确实需要更长的时间进行测试,因为每个版本都必须执行回归测试。希望这是自动化的,因此速度很快,但必须承认。如果您在编写代码时构建测试,那么回归测试是自动的,如果在后续的冲刺中不断进行,则不会影响发布。这个问题不属于主题,因为它不在本网站的范围内,如中所定义,请参见:您可以继续询问,或者。请务必阅读您访问的任何网站的帮助中心主题页面