Short "case study" at LinkedIn [0] <http://engineering.linkedin.com/developer-happiness/getting-code-production-less-friction-and-high-quality> about how they cut release latencies by 80-90% by reversing the "ice cream cone of death" [1] <http://engineering.linkedin.com/sites/default/files/InitialState-Fun.png>:
There's one particular snippet that strongly resonates with what I've experienced at multiple jobs (emphasis mine): *Team ownership of quality* Quality is the responsibility of the *whole team*. Quality control is most > efficiently achieved if software quality is considered at *every step in > the development cycle*. A software quality process will benefit from an > appropriate distribution of test automation ownership between teams > cooperating in a software development effort. In other words: QA aren't the only ones responsible for tests. I would go a step (or several) further and explicitly suggest that testing needs to be considered at—or an integral part of—the design & planning processes. Rich Hickey goes even further in his talk about "Hammock Driven Development" <https://www.youtube.com/watch?v=f84n5oFoZBc> (highly recommended: TL;DR; people start work before fully understanding the problem space). Things seem to be trending up at WMF, especially w/ the Web engineers' big strides in end-to-end testing. However, as the article suggests, you need to attack the quality problem from both ends—perhaps even emphasizing unit tests (shortest feedback, cheapest, least fragile). 0: http://engineering.linkedin.com/developer-happiness/getting-code-production-less-friction-and-high-quality 1: http://engineering.linkedin.com/sites/default/files/InitialState-Fun.png, thanks to Zeljko for introducing me to that fun term, much better than "upside-down pyramid" -- EN Wikipedia user page: https://en.wikipedia.org/wiki/User:Brian.gerstle IRC: bgerstle _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
