Stefan Lieser knows mud. Not the kind that sticks to the bottom of your shoes, or the kind that half-naked women wrestle in for money, but the kind that software developers wrestle with everyday: Brownfield projects.
More importantly, Stefan knows how to get out the mud. In fact, he has dedicated his professional life to teaching development teams and their employers how to get out of the mud. A trainer since he first began studying computer science, teaching Excel courses on a freelance basis, Stefan now also works as a consultant, speaker and author.
Together with Ralf Westphal, Stefan founded the Clean Code Developer initiative, finding a proper balance between a focus on the customer and a focus on the inner quality of software, which has a big following in Germany, and he continues to teach at the Professional Developer College.
I caught up with Stefan the day before dotnet Cologne 2010 and, after talking about Brownfield strategy and automating tests in Brownfield projects with Typemock Isolator , his passion for clean code is as apparent as his love for Pat Metheny’s jazz guitar.
Closing his eyes, rubbing his hands together and, channeling Uncle Bob, says, “there was a time when doctors didn’t wash their hands. The practice wasn’t standardized until someone finally convinced the medical community that it was in their patient’s best interest to do so.” The development community, he believes, is much like the medical community of old – wanting to heal but instead making fundamental mistakes. That’s something he wants to change.
“Typemock Isolator is a great tool for Brownfield projects,” he says. “In Brownfield [projects] you often find unplanned dependencies, where everything depends on everything else, and because you can’t throw it all away build from scratch, the first thing you need are automated tests. Isolator helps a lot in this scenario because it can even isolate from calls to Message Box.Show, Date Time.Now and things like that.”
“The other area where I use Isolator a lot,” he says, “ is for classes from the .NET framework that were not designed to be isolated in tests like, for example, Web Client. And of course Roy Osherove’s SilverUnit add-on is great for doing TDD in Silverlight projects.”
His presentation was well-received today at dotnet Cologne 2010 but, true to form, it didn’t quite meet Stefan’s expectations. “I wish I would have had more time to show SilverUnit,” he says, “but a lunch session is just too short to pack in so much information.”
Next up, dotnetpro powerday and then the prio-conference.de where he’ll continue in his long journey to give developers a helping hand on their way out of the mud.