敏捷是一种经过实践检验的学科,被全球软件开发团队广泛使用并取得了巨大成功。在我的上一篇文章中,我列出了我过去犯过的错误,这样您就不必亲自犯同样的错误了。
自从我进入科技行业以来,我的团队和我一直在使用敏捷方法。这并非一帆风顺,一路走来学到了很多东西。理想情况下,学习永无止境,所以这里有另外五个敏捷错误,您可以立即从中吸取教训。
1. 错误: 员工需要在自己的时间提升技能
许多 IT 公司不重视员工培训。许多培训师表示,他们辛辛苦苦培训员工,结果员工却被竞争对手挖走。如果发生这种情况,公司应该反思:为什么我留不住优秀人才?
从表面上看,员工是公司最大的资产,但企业将他们视为可以随时更换的组件。软件开发是一个充满不确定性和可变性的设计过程,不像搬砖那样简单。开发人员不是生产者,而是设计师。设计师的替换成本相对较高。
解决方案: 投入与软件开发相同的时间来培训人才。保持员工队伍的培训水平可以提高士气,减少人员流动,并可能防止挖角。
2. 错误: 敏捷只是一种工具
一些公司简单地将敏捷转型定义为平台的使用。使用看板和举行站立会议是敏捷,使用 CI/CD 工具是 DevOps,购买自动化测试平台是自动化测试。
对我而言,敏捷最重要的部分是个体和互动高于流程和工具。流程和工具可以帮助您更快地完成工作并产生更好的结果,但个体和互动至关重要。仅仅通过购买一堆工具就声称自己是敏捷的,实际上毫无作用。
解决方案: 将敏捷融入个人互动。继续使用工具和流程,但要让个人参与其中。
3. 错误: 误用代码模块可以避免编写更多代码
当公司发展到一定规模并拥有多条产品线和业务线时,自然会发现某些业务看起来很相似。
有时,一个产品的问题似乎已经在另一个产品中得到解决,因此从一个产品“窃取”代码并将其改造到另一个产品中似乎是很自然的。
乍一看这似乎很吸引人。但有时,每个产品都过于细致,无法进行一刀切的代码转储。
尝试强制代码修复两个不同的问题,并随着开发的继续与每个产品一起增长,这可能会带来问题。
解决方案: 为了确保您可以成功地重用代码,请编写为灵活性设计的模块化代码。
4. 错误: 团队内部维持严格的职能分工
一个团队被划分为多个职能:开发、测试、后端开发、数据库、运维、架构设计、安全等等。结果是在从需求到交付的过程中存在多次交接。您可能知道,交接会导致等待。而等待是一种浪费。
为了保持团队的敏捷性,您必须减少交接。此外,严格的职能分工会导致工作负载严重失衡,从而导致瓶颈。
解决方案: 团队应该具备重叠的能力,以减少在管道中等待另一个团队的时间。
5. 错误: 如果员工看起来不忙,他们就没有产出成果
软件开发人员通常以矩阵或笛卡尔网格配置进行组织。水平轴是产品或项目,垂直轴是职能团队。
许多人跨多个产品和项目共享,这通常意味着员工的工作量会过度饱和。这很难被发现,因为员工在多个产品中使用,因此他们有多个待办事项列表。每个列表都有其他列表不可见的优先级。
因此,他们必须不断平衡优先级,导致效率下降。并且由于他们需要处理多个项目,他们缺乏专注的努力会导致其他人的延误。因此,人员复用实际上是用降低业务响应速度来换取人员成本效率。
解决方案: 如果您想要精简且完善的产品,请不要过度分散您的员工队伍。
保持敏捷
我已经给出了关于避免某些错误的五个技巧。不过,别担心,还有很多错误可以犯!将敏捷引入您的组织,不要害怕为了让您的团队变得更好而承受一些错误。
评论已关闭。