Blog: software-development

My thoughts on software development.

Categories

I have many interests in software development and I enjoy writing about then. As such my blog doesn't cover just one topic.

Exploitation vs Exploration in Software Development

Today I'm going to explore a question that's been rattling around in my head, "Why does software inevitably get worse over time?". Every software systems I've worked on inevitably decays and becomes difficult to work with, despite everyone's best intentions. Why is this? Well, I've come to believe that this is a systemic effect, resulting from the businesses hyper-focus on immediate profit, causing a mis-balance between exploitation and exploration. ## Exploitation vs Exploration: The [exploitation vs exploration dilemma](https://en.wikipedia.org/wiki/Exploration-exploitation_dilemma) is a key factor in any decision that factors in...
Read more »

Domain Driven Design for Everyone Else

I've been talking a lot about Domain Driven Design (DDD) lately, be it at meetups or with clients, so I thought I'd write down my thoughts and see if it helps. Now, lots of people have written about DDD from a technical perspective (see the end for links), so I'm not going to do that, instead I'm going to discuss DDD from a non-technical perspective. This is DDD for everyone else. ## Solutions Always Overrun Designing and building a solution is not a trivial problem. It never goes smoothly, and even if it's completed on time (which is never) the solution is usually ineffective and needs to be changed, often drastically. This lea...
Read more »

Expert help

Have a codebase where change is expensive and risky?