Category Archives: Software Design

Test *Driven* Development

Before Test Driven Development (TDD) the only thing that applied a pressure for high-quality in software development was the knowledge, experience and commitment of an individual software developer. After TDD there was something else. High quality in software is widely … Continue reading

Posted in Agile Development, Continuous Delivery, Effective Practices, Software Design, TDD | Leave a comment

The Next Big Thing?

A few years ago I was asked to take part in a panel session at a conference. One of the questions asked by the audience was what we thought the “next big thing might be”. Most of the panel talked … Continue reading

Posted in High Performance Computing, Software Architecture, Software Design | Leave a comment

Incremental Design – Part II

In my earlier blog post on incremental design I suggested that we need to allow for failure. So how do we limit the impact of failure, how do we tell when our design choices don’t work and how do we … Continue reading

Posted in Agile Development, Continuous Delivery, Software Architecture, Software Design | Leave a comment

Incremental Design – Part I

Continuous Delivery is all about making small changes. Work flows more easily, planning is simpler, error detection is helped and the time from idea to value is reduced when we make changes in small increments, but how do you solve … Continue reading

Posted in Agile Development, Continuous Delivery, Software Architecture, Software Design | Leave a comment

The Reactive Manifesto

Over the past couple of months I have been helping out some friends to update the┬áReactive Manifesto. There are several reasons why I agreed to help. First I was asked to, by my old friend┬áMartin Thompson. The most important reason … Continue reading

Posted in High Performance Computing, LMAX, Microservices, Reactive Systems, Software Architecture, Software Design | Leave a comment

Testing Times

I came across a test breakage recently. I had committed some code and a test had failed. The test was unrelated to my changes, but I took a look anyway because maybe I was wrong. As it turned out the … Continue reading

Posted in Effective Practices, Software Design, TDD | Leave a comment