Waterfall Versus Agile

In Episode 401 of Software Engineering Radio, host Jeff Doolittle spoke with our Senior Software Architect, Jeremy Miller about his experiences with waterfall and agile software methodologies. Jeff and Jeremy spoke about the history of these methodologies, and what elements of them have been either detrimental or useful. In their conversation, they also dive into topics […]
Technical Debt Patterns: Tree Rings

This is the fourth part in the series, “Technical Debt Patterns.” Tree Rings occur whenever you have wrappers around wrappers, sometimes several layers deep. Sometimes this happens because a core of important code is too complex or too fragile for anyone still around to be prepared to edit it. Maybe the core represents an API […]
Technical Debt Patterns: Bilingual Required

This is the third part in the series, “Technical Debt Patterns.” This problem refers to the developers speaking a different language about the problem domain than anyone else, including the users. It is a lack of what Eric Evans refers to as “Ubiquitous Language,” the term Eric Evans uses in his book Domain Driven Design. […]
What’s Your Problem?

I know. The title is a little in your face, but I have always asked this question on each of my projects. Instead of focusing on a solution, focus on the problem that you are solving and keep that focus through the entire project lifecycle. Most projects spend 90% of their time on the solution […]
Technical Debt Patterns: Abstraction Overlooked

This is the second part in the series, “Technical Debt Patterns.” The Abstraction Overlooked pattern is where you have some concrete class that has a “type” of some sort, and you find yourself basing some of its behavior on its type, either through if-then-else or switch statements. Often this occurs because the original programmer didn’t […]
The Fundamentals of Continuous Software Design

CouchCon Live is a single day virtual technical conference focused on connecting and growing our vibrant tech community! We’re bringing quality technical content to a virtually connected community. Whether you’re a new developer or have been working in the industry for years, we know you’ll meet other great people and learn something new! The Fundamentals of […]
Technical Debt Patterns: Series Introduction

Whether your software project has been under development for 2 months or 2 decades, you have some technical debt. These are grungy bits of code that you know could be better. They were expedient; your target changed; you had a less-than-stellar coder on the team; or they arose for one of a hundred other reasons. […]