“快速移动并打破事物”一词是Facebook首席执行官马克·扎克伯格(Mark Zuckerberg)著名的。 但是为什么人们总是这么说呢?
我看到这个报价被软件工程师反驳的频率越来越高。
对于懒惰的开发人员来说,这几乎已成为借口,以某种方式证明在其代码中包含错误绝对是正确的。
现在要弄清楚, 所有软件都有bug ,这是事实。
它是构建应用程序的一部分。 当您有成百上千,成百上千的人为代码库做出贡献时,情况更是如此。
问题是, 这个“座右铭”在多年前就死了 。
在2014年的F8会议上,首席执行官Mark Zuckerberg提出了一个新的座右铭:
“借助稳定的基础架构快速移动。”
扎克伯格说:“这可能不如“快速行动并打破问题”那么吸引人。 “但这就是我们现在的运作方式。”
“作为开发人员,快速行动是如此重要,我们甚至可以容忍一些错误。”
如今,Facebook已拥有超过20亿用户,并且有大量广告收入需要保护,打破一些小问题可能会产生重大影响。
今天的软件工程领域与几年前首次创建此短语时我们所知道的完全不同。
软件工程领域发生了变化
如果严重的错误会对最终用户产生负面影响,那么从接待员到CEO的每个公司员工都不会对此感到满意。 公司品牌受到您编码问题的污染,然后释放到用户手中。
但是,一些开发人员认为这是完全合理的,因为他们正在以快速的速度发布代码,显示出巨大的“创新”,并且在某种程度上打破常规是可以接受的。
不,不是。 不再。
每个公司都可以快速大规模地交付软件应用程序,同时还能保持始终如一的可靠用户体验。
不再需要在速度和质量之间进行选择。
这些天,您可以快速移动并修复问题。
您只是无法解决看不见的问题
提高软件质量的答案不是简单地编写更多的单元测试。 在软件开发团队中,这需要在文化上改变观念和态度。
错误跟踪和解决曾经是一项非常艰巨的手动和不容忽视的任务。 这可能就是为什么大多数开发人员将其视为巨大的烦恼。
不仅要让用户报告他们遇到的问题,还要将它们全部单独记录到错误跟踪工具中。 在技术细节有限的情况下,分配开发人员用于复制和修复它们的时间。
啊。
在那里,现代的专用错误跟踪工具可以确保开发人员实时查看生产错误并使其用户遇到崩溃,然后有足够的详细信息在几分钟内重现这些错误。
Raygun只是一个示例,但是软件工程团队可以使用许多有用的工具,它们会密切关注生产中的应用程序, 然后仅告诉您何时需要关注 。
代码放到用户手中之后,开发人员不再对问题视而不见。 如果您确实遇到了麻烦,那么在影响最终用户之前,它会很快被发现。
调试和修复问题比以往任何时候都容易
我敢肯定,您不会故意将错误编码到应用程序中,但是要说的是,能够像编写它们一样快地调试它们。
在开发和测试过程中,您可能已经习惯了拥有一致的操作系统,设备,浏览器及其相应版本等功能,并且能够访问每个未处理的异常的完整堆栈跟踪。 发现错误相对容易。
一旦投入生产,一切都会变暗。 您无法获得所有这些信息,许多错误可能仅在生产中发生。
如果没有可以收集这些详细信息的监视工具,您将无所适从。
有了适当的监视,就可以检测到错误,崩溃和性能问题,并将其自动传送到团队工作流程中。 一个自我填充的任务清单,如果您愿意的话,可以做一些改进软件的事情。 一直到发生问题的确切代码行。
快速行动,但认真修复您的代码
在软件开发方面,快速移动和破坏事物实际上非常容易。 任何人都可以做到。
要成为一名出色的开发人员,您需要关心代码质量以及对软件用户的影响。
以“快速行动并打破事物”的心态来解决问题很容易。 但是我们为用户构建软件,有时会忘记他们是真实的人 。
当他们无法按需要操作软件时,他们会感到沮丧和愤怒。
在当今的现代开发环境中,公司无需将用户暴露于未发现的错误中。 工具可用 。
因此,请快速移动。
随心所欲地移动。
但是以修复问题为荣。 而不是打破它们。
From: https://hackernoon.com/moving-fast-and-breaking-things-is-such-a-load-of-crap-f23ac50215b0