A few years ago I was asked to write a Foreword for a new book by one of the IT industry’s gurus, Capers Jones. If I recall correctly this was his sixteenth book, in it his emphasis was on the people and management issues of software engineering. Software systems are, after all, about people—the people who have the need for and use software, the people who build software, the people who manage software projects, and the people who support and maintain software. In my Foreword I asked why the IT industry still had such a concentration on technology.
Over the last sixty years a full generation has moved through the IT industry. During their time they have seen innumerable promises of “A better way”—silver bullets by the score. There have been thousands of new programming languages, all manner of methodologies, and a plethora of new tools. It sometimes seems as if the software industry is as driven by fads and fashion as the garment industry.
Technology is fascinating but it is not the most important factor when it comes to doing good work and delivering a good result. The way people work, the choices they make, and the disciplines they choose to apply, have more impact on the success of a software project than the choice of technology.
There have been times when I have surprised a prospect by telling them that there are probably three or four software packages that can meet their functional needs. What they should concentrate on when making a decision are the people factors—does the partner have a good culture, a good track record, and people who can relate to their business and their people? Do the cultures of the companies match? The very best software package with an incompetent partner is high risk and unlikely to deliver business benefits. Even a second or third choice package with a very good partner is a better option—low risk and capable of delivering business benefits.
People, culture and relationships are way more important than technology.