January 01, 2007
Hello and welcome to the site. My name is Julian Browne and I work in the software industry. Or rather, I work for businesses that commonly say things like “we’re not a software company” (to justify why they spend millions with large consultancies or large software packages) when it’s abundantly clear that their commercial livelihood depends on the success of the software that they run. I used to work mostly in software architecture. Whenever I introduced myself as an architect I would immedi ...
Seeing the Spoon
April 01, 2007
This article is something of a preface for the whole site and, as with other posts, will be updated from time to time. The intention for the site is to create a kind of holistic view of what can be done about the current malaise in software development in medium to large companies. That there is a problem is in no doubt. If you work somewhere that experiences a multitude of difficulties in making your business happy by giving them what they want within reasonable parameters, then I hope it’s not ...
Are You Sitting Comfortably?
April 05, 2007
How is it that you can sit through a film, even a fairly tedious one, that last ninety minutes to two hours, and yet frequently become arse-numbingly twitchy less than ten minutes into a PowerPoint presentation? I grant you, even fairly dull movies are vastly more interesting than most presentations on SOA governance, but should they be? You get paid to do something during the day that for much of the time you (hopefully) care passionately about, and yet when someone else wants to get a message ...
The engineer that wasn't there
April 10, 2007
I’ve never been that easy with term software engineer. I use it, and have been proud to have been one in my career, but it’s the connotations that come with the word engineer. Real engineers work, for the most part, with physical, mathematically predictable issues. They build roads, design machines, bridges, skyscrapers, operate lathes. Like software projects, engineering projects overrun in time and cost, but that’s because human beings, with their posturing, politics, aspirations and games are ...
April 12, 2007
Creating software in the corporate environment is a complex business and complexity is a wonderful breeding ground for risk. There are two types of risk that need to be dealt with: acquired risk and inherent risk. Acquired risk will be the subject of a later post. It’s the quid pro quo of software development - choose the bleeding edge, expand your scope, try something experimental, and you’ll increase your risk. It’s the risk you choose or have foisted on you. Inherent risk is the risk that yo ...
Outsourcing we will go
April 14, 2007
Here’s how the story goes. There’s a meeting of all the big cheeses at our favourite company, Gristle and Flint. It’s quite usual for the other directors to vent their frustrations at the CIO - the desktop hardware refresh is running late, IT personnel costs are on the rise, the web site was down all weekend, new budget requests are coming in to support stuff with weird names like ‘middleware’, you know the kind of thing. But today the CEO is incandescent. The competition is having a field day. ...
The Idiom and the Idiot
April 21, 2007
The concept of, and quest for, an ‘Agile Architecture’ is a hot topic these days, and as far as I can tell, it’s a debate that will continue for some months. Probably the term Agile will go the way of so many other buzzwords, and fall into disrepute, but I hope the premise that it’s good to work flexibly and reactively with your customers outlasts the current hype. I’m fairly optimistic that it will because once you’ve tried it, more traditional prescriptive approaches can feel awfully limiting. ...
May 01, 2007
Anyone who has been in the software industry for a decent period of time is bound to have come across at least one Lisp fanatic, or Lispian. They are rare beasts, for sure, but what they lack in numbers they more than make up for in dedication to the object of their fanaticism. Unlike Java or C# hackers Lispians have a real air of self-satisfaction about them; they aren’t just passionate about the prospect of using a neat tool for cutting code, they’ve been to the top of the mountain and they’ve ...
Doing it right can mean doing it wrong
May 23, 2007
I’ve found that one of the best ways to describe how it feels to be doing software development properly is that it’s like a continuous unclenching of the buttocks. There’s a wondrous sense of sphincter-release when you realise that doing it well means mostly doing all the things that got you to fall in love with it in the first place. In essence, you are free to kick back and get on with the job of making good, working, extensible, lovely-looking code - as long as you constantly carry a syringe ...
The Little Language
May 28, 2007
I’ve talked quite a bit about domain-specific languages (DSL) in other articles, and I freely admit that I am very excited about the concept at the moment, but I’ve not found much on the web that really gets to the nub of why they might be important to the future of software development. There’s a pretty good article in the Linux Journal and Martin Fowler’s post covers the basics, but nearly all the others whiz through the subject, saying little more than Yacc and VBA in Excel, are good enough e ...
June 06, 2007
This is the short version of the story of my experience with Space-based Architecture. Being the instigator for one of the most often referred-to commercial implementations of an SBA and unusually an implementation outside of the financial trading sector, where the approach is more mainstream, it’s appropriate that I cover not just its implementation, but why it seemed like a good idea in the first place. I was Head of Architecture & Design at Virgin Mobile in the UK until shortly after it w ...
June 25, 2007
A related post on space-based architecture was published a couple of weeks ago. It was going to be a one-off but I was at the inaugural Gigaspaces User Group in London recently, and a couple of things occurred to me between presentations that I thought worth mentioning. So there are two extra articles to come (this is the first). Perhaps it’s not a conventional place to start, but the idea for linking spaces and agility occurred to me because I am having a bathroom remodelled at the moment (bear ...
June 27, 2007
This is the third of three articles on the space-based architecture. The first was a general introduction, and description of a commercially deployed example, the second looked at how the SBA supports Agile because of its complimentary nature to how businesses think and work, and this final episode looks at some of the subtle technicalities of the SBA. Before I start, let me make clear my relationship with the SBA - I am not connected in any way with Gigaspaces (the originators of the formalised ...
June 28, 2007
Business software is generally used to optimise processes so that they run faster. Competitive advantage for companies can come from doing the boring stuff better as well as doing the new things other companies don’t do. But if we look at a process end-to-end it can rarely be optimised all the way through. Often what we find is that parts of the process cause disproportionate delays and so we focus on those. Other times it may be for good reason that some parts of the process simply cannot be add ...
July 01, 2007
As much as any solution is defined by its components and what they do, it’s also defined by the interfaces between those components and the rest of the world. In these crazy SOA-is-everything times, identifying communication links and promoting their reuse is an important archtectural desire. It may be a simple starting point, but I’ve found just having a table of interfaces to be an invaluable artefact. Each interface can have recorded against it a unique ID and a number of key criteria that he ...
July 04, 2007
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 regul ...
Hold on a tick
July 18, 2007
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. Potenti ...
August 01, 2007
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 th ...
August 07, 2007
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 more ...
Kill Your Children
August 14, 2007
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 and di ...
No C in Teamwork
August 15, 2007
The best you should realistically expect from any career was put beautifully in Jerry Maguire by his mentor, Dickie Fox: I don’t have all the answers. In life, to be honest, I’ve failed as much as I’ve succeeded. But I love my wife. I love my life. I wish you my kind of success. To fail as much as you succeed. Quite stark when you put it like that. I think when I got into IT I’d really been expecting to succeed most of the time, and I don’t think that was unrealistic - I mean, I knew I’d h ...
Fractal Amplification (1)
August 31, 2007
My favourite definition of technical architecture is simply that it’s the software delivery discipline that attempts to ensure the non-functional and strategic requirements are met. And further, I see the strategic and non-functional requirements as essentially the same thing. Whenever we talk about strategic requirements we’re really talking about future capability - a description of support for future needs, whilst behaving in future-compatible ways, that are generally appropriate for the kind ...
The Business Alignment Fallacy
September 19, 2007
I did a Google search for the phrase “business aligned” recently and got more than 54,000 page matches. I thought the figure would be much higher; there’s hardly a presentation or initiative these days that doesn’t mention it in somewhere. The theme of Business Alignment is a constantly recurring one, designed to keep you on your toes in case you were thinking that IT was all about.. well.. IT. But what is Business Alignment? Is it possible? What would it look like? As you may have guessed from ...
SOA Myth and Mystery
September 19, 2007
Update of original essay from May 14, 2007. Service-orientation is a good, but old, idea and the benefits it heralds are great indeed. Like all bandwagons that have come before, it’s attracted more than its fair share of misinformation, consultant-speak, and myth. Search for the one true definition on Google and you’ll find plenty, walk into any corporate strategy meeting and they’ll be working themselves up into a frenzy over it, ask a consultant for advice on it and they’ll look surprised that ...
Frequency Analysis Decoder
September 27, 2007
This is a simple game to illustrate how basic frequency analysis (which letters occur most commonly in English words) can be used to decode an enrypted message where a basic alphabetic substitution has been used (swapping one letter for another). The source code is available on github Get Started First choose a random piece of enrypted text to work on Choose Text ...
The Requirements Delusion
September 29, 2007
Is it me or is all corporate IT suffering a debilitating emotional crisis? The response I thought I would get to The Business Alignment Fallacy was one of hostility and general disagreement. Far from it. I was pleasantly surprised to hear that most people are tired of the annual pretence of business alignment only to watch everything get steadily more complex over the following year. One common criticism I heard was that whilst it’s all very well trying to get ahead of the business and take a ...
Build or Buy. Or Customise and Confuse
October 03, 2007
If an organisation developed all the software it needed from scratch, it would, in theory, never have a business need go unfulfilled. With full and free access to its own source code, changes would only ever be a matter of further development and enhancement. I say in theory because the reality is that some needs would require skills so specialised, investment so large, or numbers of people so great, that the business would find themselves wanting despite the tantalising promise of their hard ear ...
Enterprise Design Debt
October 08, 2007
I think the question I get asked most often is how to manage the constant struggle between IT trying to deliver something to quality and budget, and the business wanting everything yesterday. When a project is late, I have yet to see a business representative say that they want the good version next week, over the not-so-good version today. In fact the conversation tends to go along the lines of we’ll take the tactical version and launch that today, and install the strategic version later. Except ...
A Loose Coupling Strategy
October 18, 2007
When tactical or political pressures mean you can’t rewrite or restructure your applications in line with a best-practice architecture, or apply strategic measures with much effectiveness, then you don’t have many options to make an architecture function meaningful. One approach that I have employed with some success is to apply a refactoring strategy to legacy applications with the aim of creating a situation that supports the ‘right’ kind of change later. The majority of refactoring affects th ...
The Death of Architecture
November 16, 2007
If you looked for places on the earth to experience unusual clarity of thought I don’t suppose the island of Aruba would make it to your shortlist. I recently got back from a trip there to watch my brother-in-law get married, but if you’re not from the North or South Americas then you probably haven’t even heard of it (it being a very long multi-hop flight from everywhere else). I certainly hadn’t and had to fly there from London via Miami. Fourteen hours in the air, plus six or so hours hanging ...
The Governance Apparition
November 26, 2007
I first noticed the word governance being sprinkled liberally into IT conversations sometime in the late nineties. It was (and still is) used as foundational prop to suggest that, if you have it, all will be well. The word appeared first, as far as I can remember, in Finance and Investment Banking IT - not surprising as financial governance is all about the appropriate exercise of authority and control. The word itself means a method or system of management and so I guess it’s no surprise that yo ...
Reality Street ain't got no Vision
November 29, 2007
A few weeks ago I wrote a piece rather grandiosely called The Death of Architecture, insisting that, because the future can be thought of as something of an illusion, a determined focus on immediate results will get you further in your technology life than putting great efforts into what we lovingly call strategy, especially architecture strategy. Today I want to put that focus into perspective by elaborating on how the illusory qualities of time and strategy can make the immediate more productiv ...
The Trouble with Transformations
December 11, 2007
Transformation time. “Dr Chilton does enjoy his petty torments” “What did you mean by ‘transformation’, Doctor?” “I’ve been in this room for eight years now, Clarice. I know they will never ever let me out while I’m alive. What I want is a view. I want a window where I can see a tree, or even water. I want to be in a federal institution far away from Dr Chilton” I can’t hear the word “transformation” without thinking about that scene from Silence of the Lambs. Buffalo Bill, the psycho ...