Wednesday, April 23, 2008

Quality Software Development - Science or Art?

In a thoughtful and well reasoned post on Sys-Con, Dirk Morris draws on the arguments in Zen and The Art of Motorcycle Maintenance to put forward the view that software development is both Science and Art. Rather more interestingly he suggests that Open Source tends more towards the science, and proprietary software tends more towards the art, citing Apple's OS X as the prime example - open source engineering at the core, with proprietary eye candy on top.
Blogged with the Flock Browser

Mad Old Men

I took my son J (13) to his first real gig on Sunday. We went to see the Blockheads at the Stables in Milton Keynes. J isn't a big Blockheads fan (although he might be now), but he's a pretty good musician and singer, so I thought he'd enjoy it. After 3 songs, he turned to me a said with a big grin "they're just a bunch of mad old men". I guess they are, but after 30 years of playing together they are an unbelievably good band; with some absolutely classic old material as well as some surprisingly good new stuff it all adds up to a great night out.
I've seen them three times now in the last year or so, twice at Cox's Yard in Stratford upon Avon and this time at the Stables. The Stables is a nice venue, set up by John Dankworth and Cleo Laine, but Cox's suits the Blockheads better - something I think Johnny Turnbull had in mind when he asked the audience to give themselves a round of applause for staying sat down all night. On the other hand, if we'd been at Cox's J would have difficulty seeing anything - neither of us are particularly tall.
Anyway, overall we really enjoyed it, the nearly two hours of their set passed very quickly (certainly much more quickly than the 40 minutes of the support act, which was absolute torture). If you get the chance to go and see them, don't miss out!
Blogged with the Flock Browser

Sunday, March 16, 2008

Specialized Defroster Shoes

Cold feet are not something I have ever really suffered from - at least, not unless they were soaking wet. So I've been cycling offroad year-round in a pair of lightweight summer cycling shoes for a quite some time. The uppers are largely mesh, so they do tend to fill with water/mud fairly frequently in winter riding. Usually, on the wetsuit principle, the water/mud warms up and after the initial unpleasantness my feet are OK again, but when it is really cold this doesn't always work, and does tend to provoke some protest from the kind person who washes my socks. So when I found myself in the Specialized Concept Store and saw a pair of Defrosters I thought I'd give them a try.

I bought a pair of size 44 rather than my usual 43, and I despite going up a size I can't fit my feet in with anything but my thinnest socks on as they are too narrow. Despite that , my feet have been extremely warm on all of my recent rides. Of course, as soon as I bought them the rains stopped and the trails got dryer than I've ever seen them at this time of year, but today in the rain, mud and severe winds they got a proper test and passed with flying colours. It was very comforting to have such warm, dry feet in such inclement conditions.

These are my third pair of Specialized shoes, but the first for a few years and the first that I have found to be too narrow. Perhaps they now use a different last?

Apart from the width issue, the only other issue I have with them is that clearance for Crank Brothers pedals is pretty marginal - you need to fit the shims provided with the cleats, and even then clipping in is not as easy as it should be.

There really isn't much choice in the winter mtb shoe market, and finding a shop with anything in stock seems to be a major challenge. In fact, I think this was the first time I had found any winter show in stock in my size, so I didn't really get much choice. So overall, I guess I'd give them a 6 out of 10.

Monday, January 28, 2008

Can outsourcing save money?

The AA has decided to bring its datacentre operation back in house to save money. This isn't very surprising if you stop to think about the basic economics, but it does seem quite brave of them to admit that the outsource decision was flawed. It has always seemed unlikely to me that you could save money by outsourcing infrastructure in this way, unless your in house setup was totally incompetent (in which case fixing it would seem to be the better option). Unlike in the early days of facilities management, there is no option to save money by consolidation workload onto fewer mainframes, so the cost model for the outsourcer is likely to be the same as yours - add in a profit margin and account management overheads and you are paying more. Even worse is the degree to which your ability to support your business is compromised. I have worked on accounts with some large infrastructure outsourcers over the past year and the striking thing is how long it now takes to make any changes - and how much it costs.

The other interesting thing about this news item was the decision to accept a lower level of availability - 99.5% instead of the 99.9% or more that is usually asked for. Like Google's practice of running their datacentres rather hotter than is considered normal, it suggests that there are a few bits of conventional wisdom that could do with revisiting.  All it takes is a clear look at the numbers

Tuesday, December 18, 2007

Is it China? Or is it you?

Will Hutton, in the Observer, explains "why the Himalayas might not look like this for much longer". He points out that the Chinese are playing an enthusiastic role in the destruction of the Earth's ecosystem, and seems to assign a large part of the blame to the lack of democratic accountability in China. But we should look closer to home for those responsible for this destruction of the environment. Have you bought a computer recently? Have you benefited from the deflation in consumer goods prices? Ever wondered how it is possible to make all this stuff so cheaply? It isn't just that the workers in China don't get paid very much; or that they don't get sick pay, or a pension. It is also that there are no expensive restrictions on the disposal of toxic waste, or the emission of toxic pollutants or greenhouse gases. When we 'outsource' this manufacturing, we also outsource the damage that it does to the environment. The companies that do this do it knowingly but in general the consumers who collude with them just close their eyes to the reality - out of sight, out of mind. But it won't go away; there is only one planet, and we are all living on it. We must consume less, no matter how tempting those low prices might be.

Saturday, December 08, 2007

Good job HP!

Not quite such a good job Citylink.

HP have been doing pretty well in the PC market recently. Looking around my house there are 5 computers, 3 belonging to us and two belonging to my employer - they are all HPs. I can't answer for my employer, but in the case of our machines I didn't go looking for an HP, it just seemed to be that the best deal I could find was an HP. Now it turns out that the after-sales service is just as good.

My son has an HP laptop, abut 9 months old, which recently started forecasting the demise of its hard disk. So we called HP and they said they'd pick it up on Wednesday. On Monday we got home from work to find a card from Citylink saying they'd tried to deliver something, and if we wrote on the card where we wanted it left they'd have another go on Tuesday. So we wrote some instructions and left the card for the Citylink driver, and when we got back from work we found a card saying that he was actually trying to collect the laptop. On Wednesday, as arranged, we were in to hand him the laptop - he had a specially designed transit case for it with lots of foam padding. On Friday he reappeared, with the transit case again - I wondered if a routing error had just returned the broken machine to us. But no, the computer had a new hard drive and a reflashed BIOS and seems to be fixed - all under warranty. I think this is pretty good service - if Citylink had managed to turn up on the right day I'd say it was perfect service.

Monday, November 12, 2007

Target-driven management

Once again, I am inspired by Simon Caulkin of the Observer. The context of his rant is the health service, but the lessons are far more broadly applicable. It's long been the case that you could trace the ills of most organisations back to the performance-related pay schemes of its managers, but the problem has got worse (at least in the UK) since our government's enthusiasm for 'proving' what a good job it is doing by 'meeting' targets.

In our business, I have seen many instances of damaging targets. I once worked in an organisation where it was decreed that we all should be given a target of contributing a certain number of pieces of 'intellectual capital' to the knowledge bases every year. Unsurprisingly the knowledge bases soon filled up with utter cr*p, but hey, we met the targets so the bonuses were paid. To deal with the quality issue, someone came up with a cunning plan - all contributions had to be rated by one's peers, and only those which had a high enough score would count. So a system of 'you rate mine and I'll rate yours' arose, the knowledge bases continued to fill with rubbish - and we continued to get our bonuses, effectively being paid for wasting the companies' money and time. Other instances are paying people a bonus based on bugs fixed, which leads to the deliberate introduction of easy-to-fix bugs and a nice little earner, or rating people by lines of code written, which leads to an orgy of cut-and-pasting.

Caulkin points out
if enough pressure is applied, people will meet targets - even if they destroy the organisation in doing so. As quality guru W Edwards Deming put it: 'What do "targets" accomplish? Nothing. Wrong: their accomplishment is negative.'

At a high enough level of abstraction, targets are fairly benign. It is when they are chosen just because they are measurable the damage really starts. They also usually encourage short term thinking, erode trust and therefore the feeling of personal responsibility for outcomes. Targets are set top-down, in advance - the management equivalent of waterfall development. Human nature being what it is, targets trump thinking - and if we've learned one thing about software development in the last 40 years it is that thinking generally helps the process.

The agile movement tends to avoid numerical targets in favour of more woolly but also more useful aims such as delivering value to your customer. My experience is that when we trust people to do a good job, and remove the obstacles to them doing so, the results are invariably superior than when trying to coerce that behaviour by the use of targets.

Tuesday, October 16, 2007

Open Source Lessons

Writing in The Observer (a UK Sunday Newspaper) Simon Caulkin suggested that open source development represented a new way of working with wider applicability than software development. Commenting on a new book by management guru Gary Hamel, he points out that existing top-down management structures are both expensive and inefficient, and then continues:
But internet-enabled networks offer a credible third way, Hamel believes. The prime exemplar is Linux, the open-source operating system developed by a self-selecting band of volunteers linked only by the web and their motivation to contribute. There are now 150,000 open-source projects using the freely given energy and initiative of 1.6 million people, according to estimates. While many of these are not-for-profit enterprises, the lessons that they embody have wide application...

Leaving aside that the primary purpose of management books is to sell management books, there is clearly a grain of truth here. The self-organising teams of the agile movement, and the open source community have shown that it is possible to manage complex endeavours without a huge management overhead, and often in a way that is far more enjoyable for the workers than conventionally managed efforts. The main objection that I can see is that the members of successful agile development teams and open-source projects are largely self-selected and drawn from a very thin layer at the top of the development gene pool. Translating their experience to the wider working world will be challenging; and of course, getting management to support it will be like getting turkeys to vote for Christmas :-)

Thursday, October 11, 2007

Why did he jump?

That's the big question he doesn't answer, but apart from that this interview in the Microsoft Architecture Journal with Don Ferguson, ex-Chief Architect for IBM Software Group and now a Technical Fellow at Microsoft, makes interesting reading. Some selected nuggets of wisdom:
You should never underestimate the importance of a social network. You don't know what you don't know. You don't know what someone may say to you that can push the reset button in your brain and make you think differently.

...communication skills matter. They really do. It's really important to understand how to write well and how to present well.

Secondly, many people who work in technology suffer from the "endgame fallacy." We are all pretty bright. We see a lot of customers. We see what they are doing and then plot a trajectory for where they will be in a few years. Once you do this, however, it's too tempting to build what they will need in five years, and not what they need next or are ready for.

Still wish he'd explained what was behind his move from the top technical job in IBM software to Microsoft though.

Wednesday, October 10, 2007

I paid £4...

..for the new Radiohead album, 'In Rainbows. I thought that £4 was probably more than the band would get if I bought a CD, or downloaded it from iTunes, but it was less than I would be prepared to pay for a CD. I almost never buy downloaded music, because I hate the DRM schemes that limit the devices on which I can play it. If I buy a CD, I can listen to it in my car, in any one of the 6 rooms in my house that have a CD player or three rooms with a computer, or I can rip it and listen to it on my MP3 player. If I lose my player, or a hard disc, I don't lose my music. I know I can get round the DRM if I can be bothered to do a bit of research on the net, but it is the principle of the thing. So I still buy CDs, usually from on-line retailers now that Fopp is gone.

What about the music? Well, I've only listened all the way through once, but I like it better than 'Kid A', or 'Amnesiac', or 'Hail to the Thief', but less than 'The Bends' or 'OK Computer' - it's rockier than the last three releases without being a return to the dense, complex textures of the earlier stuff. I do wonder how the rest of the band feel - it seems to me that everything they've done since 'OK Computer' has sounded like a Thom Yorke solo project rather than a full band effort. Still, I guess they get a fair share of the cash.

Monday, October 01, 2007

Spb Time review

I wouldn't be writing this review at all if Windows Mobile 5 didn't have some serious shortcomings in the alarms department. As a recent deserter from the Palm camp, I'd been used to using my PDA (a Palm TX) as my alarm clock - I always had it with me and with some add-on midi files the sounds were fine for waking me up. Trying to use the WM5 Alarm applet in my Orange SPV M600 to do the same thing got me in to trouble. Sometimes the alarm just wouldn't sound at all, leading to some embarrassing oversleeping incidents, and if it did sound, there was often no way of cancelling the alarm, so it just kept on sounding. A bit of googling revealed that these were known issues that had been around a while but which Microsoft had not thought important enough to fix. My searches also revealed that there was no easy solution to these problems.

I tried a couple of freeware alarm programs, but wasn't particularly impressed - some of them suffered from the same issues as the built-in app, and all had pretty ropey UIs. So I turned to the commercial solutions. Spb Time was actually the third of these that I tried. One of a suite of applications from the same developers, Spb Time's UI is anything but ropey, my alarms now go off when I want them to and can be cancelled by a nice big red button or snoozed with a big green one. I also now have a very nice skinnable clock and world clock, countdown timers and stopwatches (with lap times that can be saved to a text file) all accessible through a Today plugin. Alarms can be set to go off on particular days of the week, so it is easy to set different alarms to get you up for work in the week and for whatever you do at the weekend. You can also set a one time alarm for a time in the next 24 hours. There are plenty of options for sounds (MP3s included), repeat intervals, auto-snooze and snooze delays. All in all it is a great little application, does exactly what is claimed for it and the cost is reasonable, particularly at today's $/£ exchange rate. If the experience encourages you to try other Spb apps you can get a discount on those as an existing customer. I hope you can tell, I'm really very impressed. Just to be clear, I have no connection with Spb Software except as a satisfied user of their product.

Just as a footnote if unlike me you've stayed loyal to Palm you can get pretty much the same functionality from Palmary Clock, which was one of the most used applications on my old TX.

Monday, September 17, 2007

Team Banana


Tense and nervous, waiting for the start.



Racing



A well earned banana for everyone.

Friday, September 14, 2007

SOA still struggling

I don't want to be a luddite about this, but it has been apparent for some time that the hype about SOA was out of all proportion to actual implementation. I've formed this view based on talking to customers, partners and competitors about what they are actually doing, but this report seems to confirm my observations. Apparently,
Only 10 per cent of respondents believe that their business understands SOA 'quite well' and 22 per cent pointed to a 'medium amount' of knowledge.
and
A third of respondents to the survey have started to design and implement systems based on SOA principles, and a further 16 per cent are in the planning stage.

However, this still leaves a significant number of companies which have yet to embark on this route. Some 16 per cent are planning to look at SOA 'sometime in the future', and 23 per cent have 'no plans' to use SOA at all.

Since SOA has now been around for several years, but a very large proportion of the people who claim to have actually adopted SOA turn out in reality to have implemented a bit of EAI or used a couple of Web Services inside a single application, I think it may be time to ask whether it will ever deliver the goods.

Monday, May 14, 2007

Playtime

Working for an IT consultancy can be tough. The hours can be long and you can be away from home for a long time. For most of us the variety of the work and the quality of the people we work with make up for the privations of the job. But however keen you are it is important to get away from the screen occasionally, to refresh your mind and body and to reset your perspectives.

Some people become gym rats and choose their hotel by the quality of its exercise facilities. Personally I can’t stand gyms so I look for something different. When I was working in Singapore for several months I bought a very cheap mountain bike, and believe me you haven’t lived until you’ve tried mountain biking in 34 degrees and close to 100% humidity. If you are on a long term assignment you can probably find somewhere in or around your hotel where you can keep a bike, and particularly at this time of year it is a brilliant way to get the office out of your head.

An assignment in Ipswich gave me a perfect opportunity to learn to ride a unicycle - the staff at the Marriot Courtyard became used to seeing me falling off it in their car park, and as I got slightly more competent I ventured further afield and the denizens of Ipswich were entertained by my attempts to keep vaguely upright. Unicycles are great because they are really easy to sling in the back of the car, and if they aren’t too big it isn’t impossible to carry them on the train - I guess it helps if you have a slight exhibitionist streak. I’ve since unicycled all over Twford Down while on assignment in Winchester (the only time I’ver ever met another unicyclist while on an after-work ride) although I bottled out of taking the uni to Dallas.

If you can’t manage the wheels (or for some inexplicable reason you don’t get on with pedalling) then what about your feet? Sling a pair of lightweight walking boots in your luggage, buy an OS map of wherever you are and start exploring. Even cities can be interesting places to walk - the Thames path goes right through London, and the City is very different out of hours.

Wednesday, May 09, 2007

It's just garbage

A dead body is just another rubbish disposal problem. If anyone makes a fuss about mine when I'm dead, I'll come back and haunt them (OK, given that I don't expect any kind of afterlife that may be a bit of an empty threat). I simply don't understand why anyone needs a helpline to know whether bits of their relative might have been removed (for pretty sensible scientific reasons) several years ago. I get on fine with my parents, but when they die whatever it is that makes them human will be gone, and the physical remains will have really very little relevance to what or who they were. While I may miss them as people, I won't be getting sentimental over the garbage that's left.

Sunday, March 25, 2007

Reality disrupting SOA sales effort

I’ve had conversations about the practicalities of SOA with various people over the past couple of years, and the gulf between what we expressed in relatively private forums and the public pronouncements was striking. It was apparent to most of us that the pre-requisites for successful SOA were significant, and unlikely to be present in any organisation we had ever encountered. It was also clear that there were huge challenges in delivering adequate quality of service from SOA-based systems.

For whatever reason, people seemed reluctant to express these concerns in public. Perhaps they didn’t want to kill the goose that might lay the golden eggs, or perhaps they just didn’t want to be seen to be out of step with the rest of the industry. Something seems to have changed, and the first items of dissent are appearing. The lead article in “Information Age”, March 2007 issue (not yet online - I’ll edit and insert the link when available), is called “Structural Hazard - The Pitfalls of Service Oriented Architecture” . The article discusses the difficulties of governance, infrastructure and culture, as well as the potential SOA has to make the organisation’s IT even more complicated, rather than simpler. Steve Jones, in his Service Architecture blog, points out the implications SOA has for availability, and also notes the potential for complexity. There are other examples - Googling for “SOA pitfalls” gives 691000 hits.

I don’t know what has prompted the new realism (perhaps people realised that the goose didn’t appear to be laying any golden eggs), but it can only be a good thing and will likely lead to a healthier relationship between the IT industry and its customers.

Wednesday, March 21, 2007

What's wrong with process?

Ivar Jacobsen makes some interesting comments about the value of process in a recent article on the Dr. Dobbs site. He is obviously setting himself up to introduce his new ‘Essential Unified Process‘ as the answer to the issues he raises in the next article in the series, but many of his points are nonetheless valid.

Of course, process blindly applied is unlikely to be useful, and process without underlying understanding of engineering good practice is of equally dubious value. Which is why my three priorities for my teams’ learning and development this year are:
  • RUP - as a process framework, backed up by practitioners who understand how to use RMC to produce a process and a set of guidance that is sensible for the project

  • UML - as a common language that allows communication between elements of the team with the minimum possible ambiguity and maximum clarity

  • Construction - good practice as embodied in Code Complete, Steve McConnell’s seminal book on the skills, tactics and techniques needed to build quality software

All three elements, applied with intelligence and with the benefit of experience, need to be present to deliver a successful project. Oh, and a bit of luck too.

Tuesday, March 13, 2007

Hardware and Productivity

Developers working with modern IDEs like Eclipse, Team Studio or Netbeans need all the screen space that they can get. Martin Fowler points out the value of larger screens in his ‘Big Screen’ blog article, and states that his $700 investment in a pair of Samsung 204Bs could easily be cost justified.

In fact it gets easier by the day as Pricerunner tells me that today he would only need to pay just over $600. Unfortunately this translates to £600 in the UK :-(, but the Samsungs are high-end kit so if you were prepared to slip your standards a bit a 20″, 1650×1050 widescreen TFT could be yours for less than £150. You know it makes sense.

While I’m on the subject of hardware, when I began my IT career a gigabyte of disk storage cost about 10 times the annual salary of a junior programmer (as I was then). Today, the cost of a gigabyte of disk is roughly a minute of a junior programmer’s salary, leading to the conclusion that the storage for our 50MB Outlook Inbox is worth three seconds of their time. Perhaps it is time to revisit the cost/benefit assessment for that particular limitation…

Thursday, March 08, 2007

Open Source Quality

It has always been said that the openness of open source led to higher quality code, because there were more pairs of eyes looking over the code, and because if they found a problem they could fix it rather than having a depressing conversation with first line support.

As far as I know, there has not been much actual research to prove this point, it has been more like an article of faith for the Open Source community. But the Register reports that Fortify Software (which uses Fortify SCA tools and Findbugs to look for defects in software – as a service) are finding some very low defect rates in popular OSS applications. You can see the results at the Open Review pages.


The relevance for us as developers, apart from confirmation that using OSS does not necessarily represent a technical risk, is that the principles espoused in Builder.com’s 10 Commandments of Ego-lesss Programming really do lead to higher quality. For what is OSS if it isn’t a comprehensive implementation of those commandments?

Friday, February 23, 2007

Blue, and big...

I used to work for them, and I have some good friends who work for IBM, and the company does a lot of things really well. Doesn't mean you can't poke a bit of fun at them now and again, and this post by FSJ (Fake Steve Jobs) is just brilliant. In fact, FSJ is well worth adding to your blogroll for his entertaining view on the IT business.