Peter Morlion logo

When Upper Management Doesn’t Want to Pay Off Technical Debt

Are you convinced your team should spend time paying off technical debt, but you can’t get upper management on board? Here are some ideas that might help. Collect Numbers Upper management or the board of directors work a lot with numbers. Their job isn’t always easy: the people they manage are most often not happy […]

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 […]

Legacy Technology Examples

I’ve previously answered a specific question about whether or not .NET 4.6.2 is legacy technology. Let’s broaden the scope and have a look at some examples of legacy technology. This will allow us to distill some common properties of why certain technology can be regarded as legacy technology, and what our options are. Some Specific […]

Unit Testing Best Practices: 7 Ways to Improve Your Tests

This post was written for the NCrunch blog. You can find the original here. Unit tests help developers write better code and provide a faster way of getting feedback compared to testing manually. But unit tests are also another piece of code that must be maintained and taken care of. Unit tests can become a […]

Fixing My Legacy Application: NDepend Rules

Here I am again with a follow up post in my series on fixing a real world legacy application. I’ve been continuing my work with NDepend and wanted to give an update on what it has helped me do. Just a small reminder: the application is a web application to make forecasts about the World […]

Which Automated Tests Do I Need?

In my previous post, I explained why you need automated tests. It’s cheaper, and more fail-safe. But not all tests are equal. And there is a place for each type of test. In this post, I will try to explain the basic types of automated tests in software development and lay out their use cases […]

Why Do I Need Automated Tests?

Automated tests come in all shapes and sizes, but the main idea behind it is that you can run a suite of tests on your software by clicking a button. This suite of tests then provides certain input to pieces of your software and verifies that the output is what it should be. It serves […]

Fixing My Legacy Application: NDepend

In my series of fixing a real-world legacy application, I’ve already improved the code in some big blocks: updated Bootstrap introduced dependency injection removed unnecessary cruft added logging But fixing legacy applications often means making many smaller improvements. Many of these are often a matter of personal opinion. And when multiple developers do agree on […]

Fixing My Legacy Application: Adding Logging

This application contains absolutely no logging. In many legacy enterprise application, there usually is some logging, but it’s often not very useful. In some cases, there is no logging at all. This makes it hard to troubleshoot when things go wrong. In .NET, the first logging frameworks that come to many developer’s minds is log4net […]

Fixing My Legacy Application: Dependency Injection

Continuing my series on fixing my real-world legacy application, I will now introduce dependency injection. First, I simply installed the Autofac.Mvc5,¬†Autofac.Mvc5.Owin¬†and Autofac.WebApi2.Owin NuGet packages. This changes nothing of course. So next, we tell ASP.NET to let Autofac handle the creation of the controllers. In our Startup class, we add: This is basically what’s in the […]