The Joys and Pains of a Long Lived Codebase — The Video

InfoQ just posted the video from my talk at QCon San Francisco 2008. In this talk I went over some of the harsh lessons I learned from 5+ years of working with the StructureMap code, including:

  • How classic “Big Noun” classes grew out of control and how moving to more role-centered abstractions has made the code easier to extend
  • How badly expressed unit tests impaired progress and why I finally believe in BDD
  • Creating an API that serves the end user instead of the internal model of the framework
  • How our expectations for using a framework have changed very dramatically in the last 5 years
  • The coding and design flaws that made the code harder to change

I’ll be giving an updated version of this talk at NDC 2009 in a couple weeks as well.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • SteveJ

    I finally had a chance to get all the way through this and thought it was very good. The million dollar idea for me was to create diagnostics. We have a lot of that problem in our code base, things are decoupled to the point that you can’t figure out how it actually fits together without a design doc or debugger. It seems like this is a side effect of going to the role-based objects, everything is more Lego-ized but if you have 30 actions that change a widget you can’t just go to the WidgetManager class and find them all.

    Thanks, I’ll have to drive up to Austin sometime to see you in person.

  • http://uglylispcode.wordpress.com joseph gutierrez

    It would be nice to have a link to the slides also.