我们最近开始在我的公司使用敏捷方法。因为我对敏捷非常陌生,所以我想知道根据敏捷的基本原则,我们的实现方法是否正确。
以前,我们有过业务分析师、QA测试人员和软件开发人员等角色。但是现在管理层已经决定,这些角色应该被删除,每个人都将作为软件开发人员工作。
实际上,这意味着一个软件开发人员将承担与以前三个不同角色相同的职责(即一名业务分析师、一名QA测试人员和一名软件开发人员)。
他们用这是敏捷的事实来证明这种改变是正确的。其他公司也是这样实施敏捷的吗?
发布于 2018-12-26 16:26:39
不是的。这绝对不是敏捷的。这也不是个好主意。
跨功能团队,即包含每个角色(分析师、服务器管理、数据库管理、UX设计人员、QA测试人员、技术编写人员、图形设计师)的团队,是成功交付工作软件所需要的,是许多敏捷方法的主要内容。事实上,在许多方法中,客户本身也被认为是团队的一部分。
实际上,这与敏捷是正交的。跨功能的团队只是一个好主意,不管你是否在做敏捷。
然而,随着自动化测试、开发人员测试、测试驱动和行为驱动的开发以及软件定义的基础设施、高度自动化的调试、配置和部署、DevOps和云托管的不断增加,一些工作负载可能已经从管理员转移到DevOps工程师,从QA转移到开发。然而,这并不意味着这些角色已经灭绝。这只是意味着QA有更多有趣的bug需要追逐,因为所有琐碎的bug都是由开发人员测试发现的,而且管理员更多地关注使DevOps能够使用自动化工具来管理基础设施,而不是管理它本身。
有一个简单的测试来检查某些东西是否是敏捷的:当有人说“你这么做是因为它是敏捷的”,那么它就不是敏捷的。敏捷是关于自我管理的团队,他们不断地对他们的过程进行反思和调整。每当有人说“你这样做”时,它就不是敏捷的。只有当团队说“我们这样做,因为在回顾了我们过去的经验之后,我们已经确定它是有效的,我们才会继续思考它,一旦我们确定它不起作用,我们就会停止这样做。”
发布于 2018-12-27 09:13:00
其他公司也是这样实施敏捷的吗?
不幸的是,是的。在很多公司中,敏捷是由管理层强加的,或者至少他们认为敏捷是敏捷(当然不是这样)。
如果您查看Scrum指南,这可能是您的管理人员从中获得这一想法的地方,您会发现:
Scrum不为开发团队成员识别除开发人员之外的任何头衔,而不管开发人员正在执行何种工作。
但是团队中的每个人都是“开发人员”的想法是,不管他们的角色(QA、程序员、设计师等等),他们都为应用程序的开发做出了贡献,共同努力,同样的责任和责任。程序员并不比测试人员更重要,只是因为她编写了代码,而测试人员只是测试它,设计者不会创建线框,然后在前端开发人员实现它们时离开。每个人都很重要。每个人都有贡献。所以从这一点来看,每个人都是一样的。职称不重要。这就是为什么每个人都是“开发人员”的原因。
但这并不意味着设计人员会突然开始执行应用程序的体系结构或编写代码。在同一条思路上,仅仅因为你们现在都是“开发人员”--因为管理层这么说--并不意味着你们在做敏捷。
发布于 2018-12-26 18:42:59
他们正在做的是胡说八道。例如,如果让软件开发人员承担QA角色:
第一,软件开发人员没有所需的经验。这是所有可以学到的东西,但我个人会从初级QA工程师开始,比做软件开发工作效率低得多。
第二,人们有不同的才能,进入他们的才能重要的位置。人们之所以成为软件开发人员是因为他们有这方面的天赋,而其他人之所以成为QA工程师,是因为他们在这方面有天赋。而这两个人在另一份工作中的表现都不太好。
第三,如果同一个人同时进行软件开发和QA,他们就会发生冲突。QA发现了导致软件开发人员更多工作的问题。软件开发人员和每个人一样,不喜欢更多的工作。那么,作为QA工作的软件开发人员会做什么呢?
https://softwareengineering.stackexchange.com/questions/384564
复制相似问题