跳到主要内容

如何改进软件组织

Mike Shoemake已经是一位成功的软件开发人员20年了,他构建了高质量的应用程序和高性能的开发团队。

您的软件开发组织是否按照它应该的方式运行?总有改进的空间,但有些组织比其他组织更需要帮助。无论你在这个连续体中处于什么位置,确定你需要去哪里以及如何到达那里是很重要的,因为组织需要一个清晰的愿景来帮助每个人朝着同一个方向前进。我们应该评估我们的过程、技术、产品线、文档、文化和我们的员工本身。但是,我们用什么来评价它们呢?我们如何衡量我们的进步?我认为评估一个团队或组织有三个关键的衡量标准,如果我们专注于这些事情,生产力将会飞速增长。

  • 质量
  • 效率
  • 平衡

让我们仔细看看每一个。

质量

如何改善业务

如何改善业务

质量对每个组织都至关重要。这个词适用于我们所做的一切,而不仅仅是我们的软件中有多少已知的缺陷。想象一下,你可以用40个高质量的小时做些什么——你可能不需要从晚上和周末借时间来赶上进度。如果您编写了一个自动化测试,那么请编写一个能够增加价值的优秀测试,否则何必费心呢?

协作是产生高质量交付成果的关键,因为我们的同行会看到我们看不到的东西。如果某件事需要做好,特别是当它面对客户时,让额外的人关注它是明智的。当作家想知道他们的文章是否高质量时,他们会寻求批评意见,因为他们知道人多力量大。无论是代码审查、结对编程,还是简单的“嘿,你能看看这个吗?”,利用周围的额外一双眼睛将帮助我们保持在轨道上。

当试图提高软件质量时,我相信最重要的是自动化测试。创建手动测试用例比创建自动化测试用例更便宜。然而,手动测试的执行成本要高得多,特别是当您必须在多个浏览器、操作系统和设备类型之间进行多次测试时。开发人员应该使用Karma、Spock或JUnit进行重要的测试,但也应该使用Selenium、SOASTA或Cucumber进行功能测试。您真正需要做的是早期缺陷检测,因为当您从开发人员编写代码的时候得到的越远,解决问题所需的工作就越多。解决我昨天编写的代码中的缺陷要比3-6周以前编写的代码容易得多。

效率

业务流程改进

业务流程改进

继续滚动

阅读更多来自Toughnickel

关注效率可以帮助您简化组织,并将执行每项任务所需的工作量最小化。已成为第二天性的可重复过程需要的努力要少得多。自动化在提高效率方面也扮演着重要的角色,因为你想让员工专注于不重复和需要脑力的任务(写作、编码、设计、规划等)。一旦代码准备好了,自动化就会接管工作,从而自动构建、测试和部署代码。相同的自动化部署流程应该处理每个后续环境,包括生产环境。简单的部署允许更频繁地向生产交付,因此您可以对业务需求做出更快速的响应。

对于组织中的每个人来说,评估他们手工做了哪些事情是很重要的。这些事情可以简化或自动化吗?如果您经常这样做,它可能是自动化的一个很好的候选者。在某些情况下,我们只需要重新定义流程以消除不必要的步骤。在另一些情况下,我们需要找到更好的工具来自动化或加快我们每天所做的更多工作。

像质量中心或Jira这样的票务管理工具也应该被评估。你追踪哪些指标?你会生成什么报告?你是否每周都花很多时间在Excel上获取必须发给领导团队的数字?对于敏捷团队,如何计算团队的速度?你的工具能帮你处理吗?寻找那些能帮你省力的工具(比如版本1),而不是只做你知道的事情。

平衡

软件过程

软件过程

平衡是推动组织效率的一个关键部分。你可以把你的组织想象成一艘帆船。如果船不平衡,就会有阻力导致它在水中变慢。此外,船舵可能不能正常工作,使船更难转向。当人类犯错误时,他们通常通过冲向“船的对面”来弥补。当软件组织因为他们的产品在没有充分测试或计划的情况下发布而忍受痛苦时,他们经常会快速而激烈地走向重量级的过程、批准大门和分析瘫痪。他们从一个问题跑到另一个问题的怀抱。

“需要多少文件?”只写需要让人们理解需要做什么。如果编写文档是为了满足批准门或检查框,我们可能应该暂停并考虑是否有必要。“需要多少流程?”就足够了。“应该花多少时间在架构和设计上?”就足够了。虽然返工肯定是低效的,但有时更好的做法是推迟真正的解决方案,并实施一个快速修复,以响应客户的迫切需求。生活是一场平衡的表演。这适用于我们公司所做的一切。 Goldilocks was desperately searching for balance. Maybe we should too.

更擅长开发

我们都希望自己的生活变得更好。我们希望更轻松的交付、更平稳的过渡、更快乐的团队和更快乐的客户,尽量减少痛苦和痛苦。当我们开始通过这三种视角来审视我们的组织时,它有助于我们评估变化并确定变化的优先级。它将我们的注意力集中在那些实际上会使组织受益并帮助其顺利运行的变化上。你会变得更精干、更吝啬,所以随着时间的推移,你会看到生产力的提高,而压力和挫折会减少。

质量、效率和平衡最终会产生每个组织都在追求的东西:速度。我们想要快速进入市场,响应客户的需求,以及快速转变的能力,但实际上实现这一点并不是凭直觉的。“让我们雇佣更多的人,这样我们就可以加快速度!”增加很多人肯定会帮助你走得非常快,不幸的是,有时他们会帮助你走得非常快。一位睿智的同事曾经告诉我,你必须放慢速度才能走得更快,这是绝对正确的。速度需要预先的思考和努力,特别是在自动化领域。如果你花时间去确保质量、效率和平衡,你自然会走得很快。要像狮子吼叫,像羚羊奔跑。

这篇文章是准确和真实的最好的作者的知识。内容仅供资讯或娱乐之用,不取代商业、财务、法律或技术事宜上的个人顾问或专业意见。

©2017 Mike Shoemake

相关文章