Sugar coated icebergs

Prototypes are great. They let the user see and feel what the final product will look like, either in printed or in online form. They suck when the customer wants it next week because “it’s just a bit of wiring up to get it working” And they can be dangerous. Ship that button without properly … More Sugar coated icebergs

Always be finished

I’ve been living on a building site for a while, at home and at work. The work at the office above ours was ambitious, chaotic, noisy, messy and overran. It was a challenging project, turning a “derilict” into a funky new office. Home was a simpler proposition, a greenfield site, with a well tuned team … More Always be finished

Wings of desire – future-proofing software architecture

(Note: this was originally posted on a since-archived company blog, so apologies for those who’ve read it before) Architects are never quite sure how their buildings and common spaces are going to be used once real people move in. Just as software developers are never quite sure how their software is going to be used. … More Wings of desire – future-proofing software architecture

How to grok a new domain

One of the under appreciated aspects of software development is the number of different domains many of us work in over our careers, especially those working in consultancy. Software, generally, is straightforward, especially for the majority writing text boxes over databases. Not necessarily easy, but if you’re able to understand logical thought, and decomposition, picking … More How to grok a new domain

Event Horizon : When sharpening the code means missing bug zero.

A great programmer sees software as a craft, honing a perfect solution from a sea of binary logic. Good software is beautiful outside and in, and even on a large scale is simple enough that there are no obvious bugs. They produce software that is precise and clean down to the last detail, continually improving … More Event Horizon : When sharpening the code means missing bug zero.

Bad change : re-opened tickets and the neverending change

One reason I don’t trust change is when that change has no defined end goal. When a change is requested, and the ticket completed, but it then enters a cycle of scope-creep that means the ticket can never be closed. They often start with something simple e.g. “can you improve the performance of this search”, … More Bad change : re-opened tickets and the neverending change