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 …
Continue reading “Is Your Legacy Code Rotting?”
Read MoreLast 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 …
Continue reading “On Techniques for Agile Trainers”
Read MoreI 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 …
Continue reading “Sony Baloney”
Read MoreA 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 …
Continue reading ““That’s Not TDD””
Read MoreI’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 …
Continue reading “Who Needs Architecture and Design?”
Read MoreOne 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“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 …
Continue reading “Hello world! — My First Post”
Read More