Home

page 16 of 19

Kill Your Children

4 minute read

A classic sign of inexperience in creative endeavour (or perhaps any undertaking) is the inability to ‘let go’ of your best ideas. Rookies, will come up with a concept, lovingly craft their baby, and refuse to be budged even as the world around them changes. Despite market forces, advice from experts, they continue to add ever more baroque extensions to their now irrelevant core, never questioning whether their foundations are still appropriate. What often results is largely unintelligible an...

Managing People

5 minute read

One of the serious dilemmas you face after working in software for a bit is the management/technical career choice. On the one hand you want a big salary, fancy car, funds for your particular vice/hobby, etc. but on the other hand it’s hard to let go of actually cutting the code and seeing things happen. As an ex-manager of mine once said - you don’t see many fifty-year-old programmers. Personally I think that’s a shame, because hackers that have been around the block a few times are so much ...

Non-Functional Requirements

18 minute read

This article has been replaced with a newer one, which can be found here. In no particular order, these are the standard non-functional requirements I have used for years. Not all will apply in all circumstances, so like much in life you’ll have to use a bit of common sense, but they form a useful check-list. Each NFR is followed by a description and some discussion on how you might like to satisfy yourself that it’s being met. As a means of checking NFRs have been met, I use the term ‘walk...

Hold on a tick

3 minute read

This week I’ve been re-reading John Maeda’s book The Laws of Simplicity. It’s a handy size to read on the train and contains a number of useful mnemonics for adding a sense of elegance to your design. The section that I often quote to others relates to how to deal with delays, as they may be perceived by users and customers. The themes are important enough that I feel the need to restate my own version of them as they apply to software architecture. Let’s say you are building a web shop. Pot...

Megaprojects

4 minute read

One of the unique benefits of having been a journeyman for so many years early in my career is that you get to see how many different companies run their IT shops. By and large, these were pretty awful, but from such experiences comes a wisdom of how to do things better. And if there’s one tummy-tightening warning sign that a project is not going to work, it’s when people get excited at the sheer size of it. The birth of a megaproject. I find myself between ‘proper jobs’ at the moment, so r...