Category Archives: Agile Development

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 , , , , | 8 Comments

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

A Few Thoughts on Feature Flags

I confess that “Feature Flags” make me a bit nervous. Despite this I think them a useful and important tool in our ability to achieve Continuous Integration. So why do they make me nervous? Well, they are a form of … Continue reading

Posted in Agile Development, Continuous Integration, Effective Practices | 6 Comments

Continuous Integration and Feature Branching

Recently I spoke at the Pipeline Conference in London. I gave a talk on “Optimising Continuous Delivery” to a bunch of people who were self-selected as interested in Continuous Delivery, most of them would already consider themselves CD practitioners, Pipeline … Continue reading

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

Mob Rule?

I was at a conference last year where I saw Woody Zuill talking about “Mob Programming”. You can see that talk here A very simple description of Mob programming, for those of you who don’t have time to watch Woody’s … Continue reading

Posted in Agile Development, Culture, Effective Practices | 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 | 1 Comment