During one of my several Agile incarnations, I had the opportunity to work with Tim Mackinnon who was involved in the development of the concept of mock objects. I don't want to infringe on his rights to tell the story himself, which he had told me during our little gig together. In a nutshell, it was thought up at a brainstorming session between some members of a London-based architecture group. They had discussed the antipattern of having to introduce getters into their classes to make them testable. This was in the very early stages of Agile (1999) and terms like "scrum" and "Extreme Programming" hadn't been coined yet.
Note
There is a very interesting read at http://www.mockobjects.com/2009/09/brief-history-of-mock-objects.html.
Since then there has been a constant love-hate relationship between developers who like mock objects and can swear by their experiences of their usage and developers who think mocking is, well let's just say, not the best thing to use with Scala. A very...