Five years ago, around Christmas 2012, I wrote an article about Cynefin, the sensemaking framework. I focused it on software development, because that was the main industry I worked in, and particularly focused on using it to work out which of our requirements were complex, so that we could embrace uncertainty and risk, and avoid…
"Strong integration tests, consisting of collaboration tests (clients using test doubles in place of collaborating services) and contract tests (showing that service implementations correctly behave the way clients expect) can provide the same level of confidence as integrated tests at a lower total cost of maintenance."
"You’ve seen interfaces that violate the Interface Segregation Principle in the worst possible ways—my canonical example is Java’s ResultSet—and mocking those interfaces is a sure path towards madness."