Posts

Showing posts from 2018

More Thoughts on Feature Branching vs Trunk Based Development

Image
Recent posts by Dave Farley and Jim Kinsey , and the release of the Accelerate book by Forsgren et al appear to be bringing dysfunctional development practices firmly into the spotlight once again, most specifically the practice of combining feature branching and automated builds, while calling it “continuous integration". I have already written my own opinion piece on the practice . In summary, I hate it - in a modern, collocated team it is wasteful, suppresses fast feedback, and completely undermines the advantages of powerful teamwork enabled by continuous integration. It harks back to a software dark age that I honestly thought our industry had finally left behind. It really is Continuing Isolation. But perhaps the most damning piece of research about Feature Branching that has come out in recent years is best summarised by Dave Farley: If you are not merging your changes to Trunk at least daily, [the research] predicts that your outcomes are more closely aligned with

How not to be an Igor

Image
I recently wrote a somewhat tongue in cheek piece with a serious message . For agile - well, actually, any software development project - to succeed, business needs to be fully and intelligently engaged. Iterative delivery processes appear particularly sensitive to this (arguably, they just show it up sooner, but that’s another discussion). So, how do you make sure that your software team(s) successfully deliver what’s needed? A very good question - and one with no definitive answer. But here are a few hints that should give you a better than average chance of success. Firstly, and perhaps most importantly, is to recognise that “ The Business ” generally does not really understand the engineering discipine of software development. They might have an appreciation of it (at least, I hope they do!), but they don’t have skin in that particular game. They don’t cut code daily, so they don’t experience the trials and tribulations of producing the end product. So they don’t general