Scrum和Agile不会使您的项目免于失败

-我们将无法按时完成任务!
-应用敏捷!
“没有足够的人,他将无法帮助我们!”
-然后想出另一个聪明的词!

最近,我经常听到:他们失败了,因为他们错误地选择了产品开发方法。 现在,如果您使用Scrum / DevOps / Agile /其他工具,那么一切都会很好。 这些人似乎对软件开发不了解。

阿利斯泰尔·考伯恩(Alistair Cowbern)在他的文章中分析了各种软件项目,这些软件项目是从完全“轻”,灵活到非常“繁重”并正式化的不同模型上进行的。 他发现项目的成功或失败与所使用的开发过程模型之间没有关联。 由此,Cowbern得出结论,开发效率与过程模型无关。

方法有很多,但都不能保证结果。 在每个新项目中,必须每次都重新定义该过程。 基本上,过程的选择取决于要开发的产品和开发人员。 主要原则:不是应该根据所选的过程模型来构建人员,而是应该使过程模型适合特定的团队,以确保其最高的生产率。

产品介绍


考虑开发关键软件,例如,用于核电站或载人车辆的控制系统。 预先知道所有要求,产品具有大量的技术文档,还有GOST等。 这些项目使用“大量”方法也就不足为奇了。

当需求模糊且不断变化时,开发新的时尚Web服务时应使用完全不同的方法。 这是每个人最喜欢的Scrum / Agile和类似的“轻量级”系统。 这些方法的应用是合理的,因为 您可以在瞬息万变的外部世界中迅速获得反馈。

上面的内容也可以投影到正在开发的产品的尺寸上。 确实,应该在10个人参与的项目和1000个人参与的项目中应用完全不同的过程。


在学生团队和专业团队中,开发过程的组织方式应有所不同。

我一直认为Scrum和其他开发方法适用于那些无法独自工作的人。 我将挑选出几种类型的命令,并据此在其中构建过程。

  • 一个专业的团队知道如何工作。 他们可以对结果负责-在这里不需要开发方法,特别是不需要从上面强加。 通常,甚至不需要经理。 这样的团队能够独立工作,而无需持续监控,并且总是能取得令人羡慕的结果。
  • 一支经验丰富的程序员团队需要定期监视和支持,但无需严格设置任务。
  • 但是,新手团队需要不断地设定任务,支持解决问题和监视截止日期。

领导者,研究您的团队,并在每种情况下明智地选择开发方法。 每个团队都需要自己的方法。

经理的主要任务是:

  • 建立一支可以以足够的效率共同努力实现预期结果的团队
  • 在团队中建立工作流程,以便员工可以方便地进行必要的工作
  • 与公司的其他部门或与客户建立团队互动,以便在进行交流时对团队的主要工作造成最小的干扰,并提高效率
  • 消除团队实现目标所面临的所有其他障碍和障碍。

最近,有很多针对开发经理的采访。 在当前工作场所有关您的主要成就的问题的10个候选人中,大约有7个报告说他们成为了产品成功的主要部分,没有他们,一切都会失败。

经理,经理,醒! 项目成功的关键不是领导者,不是过程,而是工作的人。

最后,我想引用一位足球教练的话:“教练不是重要的,而是重要的。 您在场上和整个比赛中都赢得了决斗,我们只会为您提供一点帮助。 我们可以安排球员并确定方向-剩下的就是球员。”

Source: https://habr.com/ru/post/zh-CN430346/


All Articles