Friday, August 7, 2009

Mock Objects In Action at the Agile 2009 conference

How can mock objects help you design your system better? Want to know how mocking saved hours of work? We focus on establishing best practices based on examples with mock objects. We cover design of classes, using mock objects to understand and test interaction between objects of the system. By the end of the session it should become clear how mocking, when applied correctly helps with system design, improves testability by reducing cost of change. An explicit part of this session is dedicated to the Mocking top offenders. We talk with examples about bad usage of Mocks, and its consequences.



Sudhindra Rao and I will be presenting the Mock Objects in Action session at the Agile 2009 conference.

History of this session


I started conducting a session on mocking and testing when we was coaching a few developers. That session then turned into a training session conducted at ThoughtWorks internal training and was quite appreciated for its practicality. After a few additions to that sessions and adding mockito to the mix Sudhindra and I presented it at a couple of conferences. It was received with a lot of enthusiasm.

Recommended readings


Below is the list of recommended readings that I give to the session attendees. Please let me know what you would add to this list.

http://martinfowler.com/articles/mocksArentStubs.html
http://xunitpatterns.com/Mock%20Object.html
http://developer-in-test.blogspot.com/
http://misko.hevery.com/code-reviewers-guide/
http://codebetter.com/blogs/jeremy.miller/archive/2006/01/10/136407.aspx
http://www.jmock.org/oopsla2004.pdf


The demo code for this session will be available at: http://code.google.com/p/mocksamples/

Thursday, August 6, 2009

Agile PM and Architect dialog

At times I get asked if I rather be an Agile PM, or a developer.

Today I had a quick conversation with the “Architect” which made me very proud of being an Agile PM.

So, the Architect (A) walked to my team table and started the short conversation…
A: “Who is the tech lead in this team?”
me: “all developers”
A: “But who makes the important design decisions?”
me: “everyone”