|
<<< Previous speaker
|
next speaker >>>
|
Jeremy Miller, Author of StructureMap
Jeremy is the Chief Software Architect for Dovetail Software in Austin, TX. 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 learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development.
Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net and writes the Patterns in Practice column for MSDN Magazine.
Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#.
|
Presentation: "The Joys and Pains of Long-lived Codebases"
Time:
Thursday 13:00 - 14:00
Location:
Olympic
Abstract: Agile development practices and good Object Oriented Design principles
are supposed to enable unending, gentle modification of an existing
codebase. Is this really true, though? In the course of 5+ years
developing and evolving an open source framework, I've learned a lot
of painful lessons about the issues that retard code extensions and
modifications. I've also learned a little bit about the design
decisions that dramatically increased my ability to extend the code.
In this talk I'll show several instances of how failing to heed design
fundamentals introduced code viscosity, and how some strategic
refactorings opened up the flood gates for new functionality.
Undoubtedly, the practice of Test Driven Development directly supports
your ability to modify a system, but I found out the hard way that
there are also plenty of ways to do it wrong. I'll share examples of
high friction TDD and the changes in strategy I employed to reduce
that friction to wring more value out of TDD.
The programming languages we use for .Net development have changed
dramatically in 5 years. We can apply the new language features in C#
3.0 to improve the readability and structure of both our code and the
way that we express unit test specifications.
Lastly, I'll discuss our changing expectations on framework usability
and the resulting impact on design.
|
|
|