Read more about the article Monitoring Legacy Applications
Photo by Jair Lázaro on Unsplash

Monitoring Legacy Applications

So you have a legacy application with quite some technical debt? But you've started turning the ship around and the situation is improving, right? If you're planning on increasing the release cadence, you'd better start monitoring your application. What Is Monitoring? Monitoring is the practice of setting up an automated system that keeps an eye on the health of your application. This ranges from error rates over response codes (for web applications) to performance metrics. Basically any metric that can be measured and is relevant for you. Why Should I Monitor? Software is complicated and you can…

Read more about the article Why Should I Test Legacy Software?
Photo by Wade Lambert on Unsplash

Why Should I Test Legacy Software?

I've already written about why you need automated tests, but let's take a step back. Why do you even need to test legacy software at all? It's running fine isn't it? Until it isn't. Legacy Software Is Important First and foremost, many legacy software systems are important to the business. They often actively bring in revenue. So their stability and reliable operation has real business value. Therefor, testing these systems has business value. We want to verify that the system does what it is expected to do and performs as desired. Legacy Software Is Alive Most legacy…

Read more about the article Timed vs Scoped Releases
Photo by William Iven on Unsplash

Timed vs Scoped Releases

I want to add one more thought to my previous post on how to achieve weekly (or faster) releases. It's about the difference between timed releases and scoped releases. A Little Background You can read my previous post, but to summarize: a client of mine went from irregular releases that had a specific scope to weekly releases without a predefined scope. Whichever feature or change is done makes it into the release. If something isn't finished, it's not a big deal because there is a new release next week. Scoped Releases A scoped release is simply where…

Read more about the article How to Achieve a Weekly (Or Faster) Software Release Cycle
Photo by Jazmin Quaynor on Unsplash

How to Achieve a Weekly (Or Faster) Software Release Cycle

A client of mine started out with random ad-hoc releases with frequent regression bugs and moved successfully towards weekly releases. Here are the main points that helped us achieve this. The Previous Situation Previously, a developer would finish some feature and mark the issue or ticket as "Done." But it was usually a mystery when the feature would make it to the next stage, let alone production. This was mildly frustrating because the developer wouldn't know for sure if the feature worked as desired. When it was time to deploy to a stage, the project manager would…

Read more about the article Backward Compatibility in Software Development: What and Why
Photo by Frederick Tubiermont on Unsplash

Backward Compatibility in Software Development: What and Why

Backward compatibility in software development is an important concept that is often overlooked, especially in legacy systems. This leads to stressful software updates and regression bugs. But it's usually not so difficult to avoid these horror scenarios. What If you're unfamiliar with the concept, backward compatibility means making sure a new version of software keeps working with the current version of an external system. Backward compatibility is important when you're going to update your software. In this day and age, it's very likely that your software integrates with other systems like a database or a service from…

Read more about the article New Bugs on Every Release?
Photo by Yoal Desurmont on Unsplash

New Bugs on Every Release?

Are you afraid of your next software release? Were the previous releases plagued by bugs? Even for features that worked previously? There are ways to avoid this, but they're often counter-intuitive. Let's look at what causes these bugs, and how we can break out of this destructive cycle. Regression Bugs What you're experiencing are regression bugs. These are bugs in pieces of the software that weren't there previously. The cause can be anything from code that has been changed to a system upgrade. If this is happening continuously, this is very frustrating for everyone involved: users, developers…

Read more about the article Avoiding Technical Debt
Photo by Franck V. on Unsplash

Avoiding Technical Debt

Is it possible to avoid technical debt when starting a new project? And if not, should we just give up? Or can we find a way of maintaining quality projects while delivering business value at a constant pace? On Technical Debt If you're unfamiliar with the concept, you can read about technical debt first. In short, it's the cost that you will have to pay later because you're choosing a technical solution that is cheaper to implement now. It's like you're taking a loan that you will pay off later. Planned Technical Debt Technical debt can be…

Read more about the article Real Question: Which UI Tech for Personal Tools
Photo by Cesar Carlevarino Aragon on Unsplash

Real Question: Which UI Tech for Personal Tools

I recently received an email from reader Don Potts, asking which UI technology to use for a pet project on Windows. As usual, the answer is "it depends". But the decision isn't as hard as that answer makes it seem. And the rationale used for a pet project can be extended to business projects. The Project The question is a reaction to an article I wrote for the SubMain blog on WinForms. It's geared towards developers, but the core of it is that WinForms can still be a good option for projects, even though the arguments in…

Read more about the article When Not to Refactor
Photo by Christoffer Engström on Unsplash

When Not to Refactor

There are cases where it makes sense not to touch a legacy codebase with lots of technical debt. Unlike real debt that must always be repaid, technical debt doesn't always need to be. But the use cases are more exception than rule. No Need For Change A piece of software that runs fine without the need for any change can be left to run just fine. If there are no (blocking) bugs, there is still support for the platform, maybe you're monitoring it closely and all is OK, then you have little business reason to touch it.…

Read more about the article When Should A Startup Refactor?
Photo by Braden Collum on Unsplash

When Should A Startup Refactor?

If you're working at a startup, chances are things need to go very fast. Faster than business that have a steady income. A product needs to get out the door as fast as possible, so it can be OK to incur some technical debt and create legacy code. But when do you start to clean up the technical mess that is the result? Don't Wait Too Long Industry experts agree on the fact that technical debt and legacy code will slow you down in the long run. In fact, many believe that it already starts to slow…


End of content

No more pages to load