Legacy software or technical debt doesn't have to be a rewrite sentence

How many times do you think a developer or development team has looked at some legacy or technical debt-laden software and exclaimed “this bollocks needs a complete rewrite!”? How many times do you think that same “complete rewrite” has led to disaster taking three, four, or more multiples of time than originally anticipated? I’d bet money on most. I’ve seen it happen. I’ve been in and led teams where it’s happened. It sucks for everyone involved.

...1481 more words

# / 19 Sep 22 / software development, software architecture   

Your unit tests aren't as great as you think

Unit tests are tests that should test an individual section, or unit, within your code.

For a long time now, unit tests have been preached as the golden standard in most software development communities. They usually come hand in hand with another development concept: mocking. Mocking is where you ‘fake’ a dependency of the unit that you are testing, so you can test your unit in ‘isolation’.

I think the over-hyped importance of unit tests and mocking is a fallacy that is based on purism and idealism over pragmatism, realism and experience that often ends up biting you in the backside when you come to refactor only unit tested code.

...459 more words

# / 1 Jul 21 / software development, software testing