Category Archives: TDD

What is Modern Software Engineering?

I have a new book out. It’s called “Modern Software Engineering” and I have been working on it for the past few years.  The ideas in it grew out of a growing realisation that the way that I approach software … Continue reading

Posted in Continuous Delivery, Continuous Integration, Culture, Effective Practices, Engineering Discipline, Personal News, Software Design, Software Engineering, TDD | Tagged , , , , | 12 Comments

Perceived Barriers to Trunk Based Development

A friend of mine has recently started work at a new company. She asked me if I’d answer a few questions from their dev team, so here is the second… Q: “Currently at MarketInvoice we use short-lived feature branches that … Continue reading

Posted in Agile Development, Continuous Delivery, Culture, Effective Practices, Feature Branching, Pair Programming, TDD | 5 Comments

Three Distinct Mind-sets in TDD

I have blogged about TDD before. I think that it is one of the most important tools in improving the design of our software, as well as increasing the quality of the systems that we create. TDD provides valuable, fine-grained … Continue reading

Posted in Continuous Integration, Effective Practices, Software Design, TDD | 10 Comments

Answers to GOTO Cph 2017 Questions

I gave a presentation on my recommended approach to Acceptance Testing today, here at GOTO Copenhagen. You can see an earlier version of this talk, from another conference here. GOTO will be publishing their version soon 😉 I ran out … Continue reading

Posted in Acceptance Testing, Agile Development, Continuous Delivery, TDD | Leave a comment

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 | 4 Comments

Test Maintainability

At LMAX, where I worked for a while, they have extensive, world-class, automated acceptance testing. LMAX tests every aspect of their system and this is baked in to their development process. No story is deemed complete unless all acceptance criteria … Continue reading

Posted in Acceptance Testing, Agile Development, Continuous Delivery, LMAX, TDD | Leave a comment

How many test failures are acceptable?

Continuous Delivery is getting a lot of mileage at the moment. It seems to be an idea whose time has come. There was a survey last year that claimed that 66% of companies had a “Strategy for Continuous Delivery”. Not … Continue reading

Posted in Acceptance Testing, Agile Development, Continuous Delivery, TDD | Leave a comment

Strategies for effective Acceptance Testing – Part II

The second part of my blog post on effective Acceptance Testing is now available on the XebiaLabs website… In my last blog post I described the characteristics of good Acceptance tests and how I tend to use a Domain Specific Language … Continue reading

Posted in Acceptance Testing, Continuous Delivery, TDD | Leave a comment

Strategies for effective Acceptance Testing

My second guest blog post for XebiaLabs is the first of two parts. It is on the topic of “Strategies for Effective Acceptance Testing” “Automated testing is at the heart of any good Continuous Delivery process and I see automated … Continue reading

Posted in Acceptance Testing, Continuous Delivery, External Post, TDD | 1 Comment

The basics of TDD

The objectives of Test Driven Development and unit testing are generally misunderstood. The problem is the word ‘test’, it is much less about testing and much more about specification of requirements, showing your working – as in maths, and the … Continue reading

Posted in Agile Development, TDD | Leave a comment