Refactor Legacy Code

Is Your Legacy Code Rotting?

Some businesses think that software is a write-once activity. It is true that once written software does not change but the world around us does and static software quickly becomes out of date. Code rot is real. Even if a system was well written at one time we often cannot anticipate how a system will …

Read More
Blogosphere

On Techniques for Agile Trainers

Last month Rob Myers copied Scott Bain and me on an email to a friend who is moving to Europe and teaching agility to software developers. Rob’s email listed eight tips for trainers. I found his email so powerful that I encouraged him to blog about it, and he did in a post called Techniques …

Read More
Rants

Sony Baloney

I often ask my students if they prefer to write new code or maintain existing code. Ok, it is a silly question. Most people say they rather write new code, not just because it is more fun but also because it seems the worse bugs show up when we try to modify existing code to …

Read More
Write the Test First

“That’s Not TDD”

A few months ago I was visiting a client who was having a lot of problems using TDD. “It takes over half an hour to run our unit tests,” he said. “You are not doing TDD,” I said. “In order for tests to be valuable, all of them must run fast—within a few seconds, or …

Read More
Rants

Who Needs Architecture and Design?

I’ve heard people say that you don’t need to do much architecture and design on Agile projects. In my experience this is not true. Because of the high degree of change, Agile projects require that attention is paid to architecture and design throughout development. But the way we do architecture and design in agility does …

Read More
Announcements

It’s January 1st: Happy New Blog!

One of my New Year’s resolutions is to start a blog — so here it is! Stay tuned for articles, videos and rants on Agile software architecture and design. I thought I’d start out addressing a question I have been hearing a lot lately…

Read More
Announcements

Hello world! — My First Post

“Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!” And so it begins… Today I started the Techniques of Design blog as a place to explore techniques for designing software, especially in an Agile environment. I’m using Dragon voice recognition software to write this post so it is literally …

Read More