Category Archives: Effective Practices

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

Is SAFe safe?

I recently made a passing comment in one of my videos about SAFe, it was a bit of a cheap-shot on my part if I am honest and I got picked-up on it, appropriately, by a viewer. It is too … Continue reading

Posted in Agile Development, Culture, Effective Practices | Tagged , , , | 17 Comments

Welcome to My YouTube Channel

I have recently decided to launch a YouTube Channel to complement this Blog. My aim for the channel is to provide some insight into the techniques and practice of Continuous Delivery, explain some of my ideas on Software Engineering, and … Continue reading

Posted in Agile Development, Blog Housekeeping, Continuous Delivery, Effective Practices, Engineering Discipline, High Performance Computing, Personal News | Tagged , , , , | Leave a comment

Continuous Compliance

I work as an independent consultant advising organizations on how to improve their software development practice. This is a very broad theme. It touches on every aspect of software development from design, coding and testing, to organizational structure, leadership and … Continue reading

Posted in Agile Development, Continuous Delivery, DevOps, Effective Practices, Engineering Discipline, Pair Programming | Tagged , , , , | 12 Comments

Science and Software Development

I have been talking about Continuous Delivery being, informally, an application of the scientific method to software development for several years now. I have spoken about it, CD, being a candidate for the beginnings of a genuine engineering discipline for … Continue reading

Posted in Culture, Effective Practices, Engineering Discipline, Software Engineering | Tagged | 1 Comment

Hygiene Factors for Software Development

I got into a small debate about software development with someone recently via the comments section to a previous blog-post. During the course of the debate I thought of an analogy to make part of my argument, but I think … Continue reading

Posted in Agile Development, Culture, Effective Practices, Engineering Discipline, Software Engineering | 1 Comment

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

Pair Programming for Introverts

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 first in a short series of their questions and my answers… … Continue reading

Posted in Agile Development, Culture, Effective Practices, Pair Programming | 1 Comment

CI and the Change Log

I get in to debates about the relative merits of “Continuous Integration (and Delivery)” vs those of “Feature Branching”  on a fairly regular basis. A common push-back against CI, from the feature-branchers, is “you can’t maintain a clean change-log”. I … Continue reading

Posted in Agile Development, Continuous Delivery, Continuous Integration, Effective Practices, Feature Branching | 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