Skip to main content

Craig Norris is a regular contributor to TV Technology.

We may be living in a software-centric world, but my observation at least within the broadcast industry, and quite likely outside our industry too, is that the quality of software has not kept pace with the rise in the quantity of software. In fact -- dare I say it -- I believe the quality of software development has, on average, deteriorated.

It was during the past six months that I stumbled onto the reason for the deterioration. I was called upon to provide an independent critique of two different reports from two different software vendors associated with a long-term software project for a major broadcaster. The project has been a big source of frustration for the client, due to ongoing delays and disappointments. By delays, I mean two years and even longer. By disappointments, I mean things that just don’t work as they should, and still don’t work some two or more years after the first observation that they weren’t working.

To cut a long story short, I’ll just mention my conclusion, which is that the reports from both of the vendors that I studied showed a complete absence of system design know-how. It seems that those vendors have plenty of programmers on staff, but no good system designer to guide them.

Moreover, the fact that the client didn’t recognize the fact that the system designs were so sadly lacking is evidence that the client – the broadcaster – also doesn’t have a good system designer on staff. They have plenty of good broadcast engineers, but no good system designers.

It came as a shock to me when I realized that this was the fact. It’s like having lots of builders and construction workers, but no architect.

Imagine if you assembled a large team of builders and construction workers, and asked them to build you a stadium and all of the required facilities for it. Yet there was no architect on the job to design the stadium and to apply expert knowledge to the way the stadium and all of its facilities should come together as a unified whole: That would be the same situation we have today with a lot of the software projects I have seen in recent years in the broadcast industry.

The lack of good system designers isn’t the only problem. The other big omission is project management skill. The system designer is not necessarily the project manager as well.

In my past career I often wore both hats: I was the project manager and the system designer. And perhaps that’s why I enjoyed some success in my role, because the project manager and the system designer were totally in sync at all times, because they were the same person.

Project management and system design are two quite different but very complementary skill sets. A good project manager will recognize that there isn’t a real system designer on the job, and will then do something about it. Similarly, a good system designer will recognize when there’s no good project manager on the job and then insist that one be appointed.

Three years ago, I was called in to consult for another broadcaster in a different country. That project was in very deep trouble. Six months late and counting: The same project was well over budget and facing a mutinous user base. After some intense and urgent analysis, I found that there were many, many system design deficiencies, but the over-arching problem was the incompetence of the vendor’s project manager. If the project manager is the wrong person for the job, the system designers don’t have any chance of success.

Here’s the rub: To design a system well, there has to be full and accurate knowledge of the user’s requirements. But the system designer can only get that information via a good project manager who takes responsibility for finding out and clearly communicating those requirements.

As well, the project manager must genuinely care about the ultimate satisfaction of the users’ hopes and dreams for the project. It’s the determination to make the users completely satisfied, within the constraints of budgets and schedules, that drives all the activities of a good project manager.

How do you know when a project manager has failed? You’ll know whenever the customer has a big complaint and the project manager say s something like, “It isn’t in the contract.”

The fact that the answer to the customer ’s complaint isn’t in the contract is an immediate admission of failure on the part of the project manager. Why didn’t he know that the customer wanted that thing? Why isn’t it in the contract? Only the project manager can be to blame for that, and a good project manager will accept full responsibility for it.

In conclusion, there are three skill sets that I wish to declare as ‘endangered species’, if not already ‘lost’. These are system design know-how, project management know-how, and the willingness and ability to accept full responsibility for the degree of their presence or absence.