Just yesterday I visited a client (who had actually read this blog!) who was interested in hiring me to write the data access layer of their application.
When they asked me if I write detailed UML diagrams with a CASE tool before coding, I remembered that the project was based on Spring, Hibernate, JUnit, mocks (I managed to put a word in favor of my favorite mock framework), etc. They had also mentioned working together with end users and clearly said that they didn’t feel forced to follow the company’s official development process. Clearly, a bunch of open-minded people willing to try new things.
I then explained that, when possible, I preferred drawing just enough on a white-board to get started, and maybe a bit more later if it can help me deliver for the next iteration. Both the project manager and the tech lead (who already writes those diagrams… and did agree that they couldn’t be very detailed and would change anyway) were slightly shocked and wondered aloud if I would be able to work with them at all.
In the end, they said something on the lines of
“we are definitely willing to improve our process and your opinions would be a valuable addition to our team. However, we are not sure that you would be happy working with us”.
The fact that our daily rates are a bit high compared to the competition may not have helped either ;-)