敏捷软件开发不仅仅与开发人员有关
没有人愿意发布包含大量错误、性能问题和客户满意度低的软件。持续集成和代码审查有助于防止这种情况...但是谁有时间呢,对吧?好吧,敏捷和 DevOps 团队会腾出时间。
敏捷软件开发人员专注于可持续开发,而不是英雄主义。可持续性是指良好的估算、用于管理代码的有效分支策略、保护质量的自动化测试以及持续部署,以获得用户的快速反馈。
采取可持续开发实践需要我们大多数人作为个人渴望但往往难以实现的纪律。那是因为没有人能在孤立环境下实现敏捷或 DevOps。整个组织的文化必须团结一致,有时还需要变革的支持人员,比如 DevOps 工程师。这意味着要让项目负责人接受这样的观念,即质量比范围或时间表更重要,而范围或时间表通常是采用敏捷最困难的部分。
但这一定物有所值!开发人员可以自由负责地持续开发软件,同时仍能与企业保持良好的关系。企业开始将更高质量的产品推向市场,这进一步巩固了与工程的良好关系。更重要的是(这是最棒的部分),敏捷软件开发人员很少面临“死亡行军。”当由于保持高质量需要比预期更多的精力而导致开发落后于计划时,铁三角形的范围一侧可以灵活变化以适应这种现实,并且周末也不需要有人加班。
所有软件开发人员都知道项目管理的“铁三角”:范围、时间表和质量。而且我们大多数人所从事的项目范围不灵活、时间表安排混乱、并且不断增加的技术债务使开发不堪重负。有时候,更雪上加霜的是,最终产品甚至不是市场想要的。这种情况令人沮丧,却又相当常见。
但不要害怕:有好消息。
通过敏捷软件开发,范围成为动态变量,因此团队可以保护质量、打造充满活力的开发文化,并与业务保持紧密联系。在 Atlassian,敏捷是每个开发团队(以及许多非开发团队!)的核心。这是有充分理由的。
它赋予个人以实践,为他们的产品打下坚实的技术基础,并为他们的团队建立协作文化。敏捷团队中的开发人员越投入,编写的代码就越好,获得的乐趣也就越多。
牢固的连接意味着更强大的产品
敏捷与团队合作有关,这并不奇怪,因为当今大多数软件都是由团队构建的。开发人员与产品管理、设计、QA 和运营部门建立了牢固的关系,因为编写可持续代码意味着与项目的各个方面保持联系。Atlassian 让开发人员能够直接与业务的其他部门合作,在代码质量和开发人员满意度方面具备巨大的优势。更好的代码,更少的“重击”(即工作重复和/或相互冲突的工作流)以及更有效的跨职能主义只是其中的一些优势。
指导也很有效。敏捷团队相互交叉训练,以确保代码库知识在整个团队中传播。要做到这一点,有一种方法是通过代码审查,这不仅可以保护质量,而且可以在整个团队范围内对代码的熟悉程度进行交叉传授无论知识如何传播,敏捷团队最终都不会成为关键路径的开发人员,这个开发人员是唯一了解特定代码领域的人,因此无法去度假。没人愿意成为那个开发人员。
敏捷开发人员还可以比瀑布式开发人员更轻松地在产品的技术堆栈上下工作,因为敏捷团队是自组织的,成员有机会掌握新技能。事实上,提供从用户界面到数据库的全部功能的开发人员对其代码拥有更大的所有权。在 Atlassian,我们培养全栈开发人员,因为我们坚信在整个团队和整个公司共享知识。
编码、文化和让敏捷软件开发变得精彩
迈向敏捷就是要在组织中建立良好的开发文化。继续阅读以了解有关有效的分支策略、自动化测试技术、持续集成以及与业务其他部门建立有效关系的更多信息。接下来的文章将更深入地探讨成千上万的开发人员在向敏捷过渡期间以及因敏捷而蓬勃发展所做的具体改变。
敏捷软件开发需要一段时间。而我们全程为您提供支持。
免费开始使用 DevOps 项目计划模板
使用开放式工具方法来开发、部署和管理应用。