[转载+评]Yahoo’s Engineers Move to Coding Without a Net

image

这就是被称为《Yahoo取消QA》的标题党原文(需要说明,文中的QA说的是QC)。仔细看看,还是很有意思的,Yahoo在2014Q2-2015Q1之间取消了测试团队,质量的职责从原先质量团队转交给研发团队,这项改革的效果是,逼着开发团队用更为自动化的方式进行测试工作,并且为最终质量负责,无论造成系统故障,还是瘫痪。这种方式进一步变成了持续交付CD。当然也有人说这是因为Yahoo要裁员而造成的。

业界对瀑布、敏捷和CD也讨论了很久,有些团队一下子就从敏捷开始,也有团队从CD开始,但是估计都像我们的几个小组一样,遇到了质量问题。各种方法和团队的实际都是密切相关的:对于一个成熟的瀑布团队,很容易实现敏捷;结合自动化测试,以及适用于互联网的灰度发布,转型为CD也是完全可能的。如果进过多年积累,代码成熟度相对较高,那么上述过程也会很顺利,对于新鲜代码,那就很难保证质量了。

 

2018年Review:对于交付类产品:不能把质量交给研发团队、可以把质量交给部门级质量控制团队、甚至要考虑把质量交给公司级质量控制团队。

 

还是那句话:没有银弹!

原文来自IEEE,http://spectrum.ieee.org/view-from-the-valley/computing/software/yahoos-engineers-move-to-coding-without-a-net

Yahoo’s Engineers Move to Coding Without a Net

By Tekla Perry

Posted 11 Dec 2015 | 17:00 GMT

What happens when you take away the quality assurance team in a software development operation? Fewer, not more errors, along with a vastly quicker development cycle.

That, at least, has been the experience at Yahoo, according to Amotz Maimon, the company’s chief architect, and Jay Rossiter, senior vice president of science and technology. After some small changes in development processes in 2013, and a larger push from mid-2014 to the first quarter of 2015, software engineering at Yahoo underwent a sea change. The effort was part of a program Yahoo calls Warp Drive: a shift from batch releases of code to a system of continuous delivery. Software engineers at Yahoo are no longer permitted to hand off their completed code to another team for cross checking. Instead, the code goes live as-is; if it has problems, it will fail and shut down systems, directly affecting Yahoo’s customers.

“Doing that,” Rossiter told me, “caused a paradigm shift in how engineers thought about problems.”

It has also, he said, forced engineers to develop tools to automate the kinds of checks previously handled by teams of humans. An engineer might go through an arduous process of checking code once—but then would start building tools to automate that process.

I met with Maimon and Rossiter at Yahoo’s annual TechPulse conference on Tuesday in Santa Clara. This private get together gives some 850 of Yahoo’s researchers and engineers an opportunity to publicize their projects by presenting papers and participating in poster sessions.

It was an odd time to be surrounded by Yahoo’s tech staff—all of whom were focused on software developments—because in that day’s newspapers and in news reports I heard on the car radio as I drove to the meeting, rumors swirled about Yahoo’s imminent restructuring. The researchers believe that any change will take some time to affect their operations, so they continue on, business as usual. (There may have been more of a buzz about the company’s future the following day, when Yahoo announced that it had decided to go forward with a reverse spinoff: that is, transferring all its businesses and liabilities except for its stake in China’s Alibaba group to a new company.)

Those structural and financial maneuvers notwithstanding, Yahoo’s decision to take away the safety net the company’s software engineers had come to rely upon was big news. The shift wasn’t easy, Rossiter recalled. It required some tough parenting, with no exceptions, he says. “People would come in and say I’m special, I’m working in UI, I’m on the back end, I’m this, I’m that.” But by consistently refusing to give any concessions, it forced a rethink. “We said ‘No more training wheels,’ and it made a huge difference. We forced excellence into the process.”

“It was not without pain,” Maimon says—though the problems were not as big as he feared. “We expected that things would break, and we would have to fix them. But the error that had been introduced by humans in the loop was larger than what was exposed by the new system.”

“It turns out,” Rossiter chimed in, “that when you have humans everywhere, checking this, checking that, they add so much human error into the chain that, when you take them out, even if you fail sometimes, overall you are doing better.”

Of course, taking away the quality assurance jobs meant, well, taking away jobs. “Some of the engineers really cared about system performance types of things,” Maimon explained, “so they joined related teams. Some started working on automation [for testing], and they thought that was great—that they didn’t have to do the same thing over and over. And others left.”

Now, a year after the change, “It’s 100 percent working,” Maimon says. “It’s amazing. Even people who didn’t think it could ever work now think it’s great, and we are applying it to everything we do in the company.”

相关连接:

http://coolshell.cn/articles/6994.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注