Comments on: DirecTV - an example of modern software incompetence
This is a blog I've been wanting to write for a long time. It's about software complexity, the way it's "managed", and the harm that it can do to your company. After tonight, I decided that this needs to be written.
I sat down tonight to watch a movie, Knowing with my wife and one of my sons. We could not watch it because, once again the DirecTV system and its software was completely out-to-lunch. (And, I'm actually saying that quite nicely.)
Look, I have a message for the executives of the direct satellite TV system known as DirecTV: Please stop listening to your software technology department and get with the real world. They're milking you like a cow.
No, you don't need to take your system down each week for "maintenance". That's 1982 technology. Really! This is 2009. We've come a long way! Get with it.
What's going on, really?
At many companies, perhaps even most companies, and the government for sure, software technologists spin a convoluted web of complexity in order to entrap their high-level executives. It's really quite clever. It puts the CTOs in the driver's seat, even though the CEOs get the nice title (and the house on the beach.)
Software CTO's know that their respective CEO's (and the rest of the exec team) know nothing about software or systems... zero, nada, zilch. And, in fact, because those same CEO's struggled with math in school, they openly admit they know nothing about such technology. How many times I've heard high level executives say: "I'm an idiot when it comes to computer technology." (Almost proudly, oddly enough.)
Let the games begin!
The CEO, who perhaps along with his high-paid staff might be able to decide on the color of the product box or the enclosed marketing brochure, really has no idea what the CTO is talking about.
What's the result? The CTO runs the show... but even worse, no one even questions if the CTO knows what he's doing. Or, maybe the situation is even worse than that: the CTO isn't a tech guy, he's a manager. He doesn't understand what his team is talking about, so what chance does he have to relay that to top level management. Does "zero" sound about right?
Frankly, that's the only way I can explain why DirecTV is so broken... from their receiver technology, to their user interface, to their back-end databases. It's why, on a Wednesday night (right now), when I sit down with my wife and my son to watch a movie, I can't get it. And, when I call the 800 number to talk with someone in Asia, I'm told: the system is down for maintenance! What!?? (And, it does so every week! WOW!) Little does the CEO know that modern systems don't need to go down for maintenance. It's really quite easy to keep them up and running full time. But, the CTO doesn't tell him that... or, perhaps, the CTO doesn't know himself.
So, the CTO runs DirecTV. The CEO is just a figurehead, a puppet.
It's a long story...
Anyway, I could go on for a very long time, but this company isn't anything special. It's just a perfect example of modern software incompetence. No sadly, it's not unique.
But, the root of this problem has become quite clear to me, and I apologize for picking on one specific company. Substitute any company name you want, Goldman Sachs, General Motors, or even most (all?) governmental organizations, from small to large.
But, let's be perfectly clear here: The root problem is that top level management thinks that in 2009 it is just fine to "not understand" the technology.
Sorry, that's a recipe for doom!
Yes, as a company, it spells doom. You're in over your head. (And, to extend that statement, as a government, it means doom too.) Nothing good comes from that path. So, wake up. Learn your algebra. Get smart. This is 2009. We have computers now. You need to know the basics.
Ok... sorry, I just had to write this. I've been holding back a very long time. It's time to vent, and... I guess it's time to subscribe to NetFlix again.
While I fully agree with what you are saying, and definitely sympathize, I have never had that kind of problem with DirecTV, and I have been a subscriber for about 8 years now.|
It's one of those systemic issues that goes far beyond any one company. I'm mainly against the mentality that it's ok for multi-million dollar software systems to be "broken".
WRT DirecTV, I wish I'd kept a log over the last decade, but I decided to "wait and see" if they got better. What's funny is that these issues have a direct affect on their bottom line profitability.
This is perhaps more a commentary on modern management than anything else. I could just as easily have commented about phone company DSL, California university web sites, or many other "consumer technologies" where it's a "standard practice" to be broken.
Really, if these services and devices were more physical, like cars or trains, we'd all have a much stronger reaction. But, we're even beginning to see that now too... consider BART's shutdown this year due to computer problems or the DC train accident last month due to improper signalling.
I work in Telecom in software. The problem is that much software is purchased "off the shelf." We don't have much control over it. So we integrate much of our own software with 3rd party stuff. When it comes time to install the latest service packs, we have no idea what's going to happen. Testing the install doesn't tell you what will happen on the production machine.
We've been trapped on older version of software b/c updates to our important production systems failed and had to be rolled back.
You're right it's complexity but it's complexity that increases at a geometric rate. Most sufficiently large organizations rely on software from other organizations which rely on yet more software from other organizations (OS, drivers, libraries, etc).
We also stream TV and Movies to customers and it takes a lot of software to do that. There's a ton of special equipment and the movie on demand thing is hard. But we somehow manage to do it, and better than DirectTV from the sounds of it.
The only minor improvement I've seen is the use of virtual machines. You can clone an existing machine, upgrade it and the put it right into the production replacing the old one instantly. Think Indiana Jones swapping the bag of sand for the statue.
Just this week I was reviewing Silverlight and ASP.NET MVC for a possible replacement or compliment to our current ASP.NET intranet. I was amazed at how much more complexity had been layered on for a small improvement in the user experience.
I said not to both Silverlight and ASP.NET MVC at least for now. The increased complexities just don't make sense. I wish more people would just say no.
I'm sure it's all Microsoft's fault.|
Off the shelf software suffers from a phenomenon known as 'overfeaturism' (to coin a word). Most software is purchased to solve one issue. The software however is designed to try and solve 100's of issues. 99% (unscientific number yes I know) then is not needed, unnecessary over-bloat.
I concur Carl. Every organization I've been in seems to have the over complications of 1982 technology. Information teams are stuck in a complex, never-ending vortex of over complicating the most simplest matters.
Execs, training (from most all sources) and marketing helps - to our detriment - keep us in this cycle. Execs ignorance are not the only ones to blame but are a large part.
(Now for the shameless plug for Carl, Rebol, and the Rebol team)
I have solved in a few steps, several 'nagging' issues, with the free version of Rebol in a fraction (say 1/10th) the time and the same fractional memory overhead. Oops, did I just commit myself to purchasing a version?
That's why I like Rebol so much. Its a way out of the complexity vortex. Keep up the great work! - ben
Has software really improved since 1982? We have better compilers, debuggers, IDEs, virtual machines, version control and software methodologies, but I think most of this has only provided more leverage for us to ratchet up the complexity even further.|
Sometimes it just has to be said how much company's suck
regarding product delivery!. I fully agree here and can tell story's they fit right onto yours...
Another example is HP.
To manage my HP Wlan-printer Photosmart C4380 (used at home) HP indeed needs 700 Megabyte of slow, ugly and buggy software.
With good luck it works sometimes, but this is the exceptional case. I have to reinstall the printer almost every second day and sometimes even must reboot after using HP software.
Good managing of printers normally needs a few lines of code. For each different printer just a few bytes, not kilo- and not at all megabytes of all that scrap produced by HP.
The hardware of the printer (produce of China) is ok, the 700 MB software, obviously also designed to sell with wrong but intrusive messages HPs ink, rubbish.
I agree with Carl. All show, no substance.
Off the shelf software suffers from a phenomenon known as 'overfeaturism' (to coin a word). Most software is purchased to solve one issue. The software however is designed to try and solve 100's of issues. 99% (unscientific number yes I know) then is not needed, unnecessary over-bloat. Ben (Zap)
I am just a user, at work and at home. The simple word processor my most used software I have features coming out my rear-end, that is unnecessary features, unused bits which ironically are all useful (almost) doing one job or another.
At work we have five people more or less producing the same types of documents. We are all researchers in a difficult humanist subject, native title. Imagine five different people with hundreds of ways of doing things producing documents which appear similar (we have templates of course), but which internally are so different that electronically they may as well have been written on paper.
Experimentally I produced a VB report template for my boss, that cut out all the alternatives, allowed only a number of specific styles to be used that is all it did. It was a crude attempt to simply reduce the endless reformatting she did when writing. She used it and was very pleased, there was a significant productivity improvement and she was much less stressed; but it was a essentially a mess of patch-work solutions (jerry-rigged).
99% of the time you know the type of document you are writing, what it is to be used for and what needs to be done with it, before a single word has been typed.
Only having the tools for the specific job, pre-arranged to do that job, easy to evolve, perhaps even designed to update previous documents of the same type, is my nirvana.
A thoroughly modular word processor, one not artificially cut off from other software where that could be integrated with the workflow and allow us to concentrate on doing our research rather than battling software is the most important step in technical development.
Since SGML, long before HTML I have been waiting for the technology to catch up with need. XML is perfect for the written word (sorry Carl I am a quasi-historian, the preservation of the written word in a plainly marked up language requires something like XML TEI the Text Encoding Initiative is a classical example of just what this could mean). We have features we have a general format, but we are using 1980s technology.
The word processor, the most used software product that exists on earth, is a complete clunker. WYSIWYG yes, but WYSIWYG that is arbitrarily applied, and adds nothing to structuring the underlying material that is a joke.
I live in this type of hell everyday and it is very painful to see how much $$$$$ is spent on something I have to later on fix after the big M. consultants / architects have left and $$$$990K of consulting fees is paid out.
REBOL "Free me please"
I liked that comment about how software can be written to solve hundreds of problems but is purchased to solve one problem. That's a good thing to chew on for a bit.|
I couldn't agree more.
In particular software development tools/languages haven't improved.
I started writing software the year Carl mentioned, in 1982 on mini-computers. Out of college I started writing mainframe apps, was later a member of a development team developing client-server GUI apps way back in 1991 and today write web-based business apps for one of the largest software firms in the world.
IMHO I feel software development has become MORE difficult for developers. Too many black boxes, verbose syntax, overly complex IDE's with ever more buttons/listboxes/panes/trees/dropdowns.
KISS! But the bottom line is that isn't in the best interests of the software industry ...
I liked that comment about how software can be written to solve hundreds of problems but is purchased to solve one problem.
The biggest villain here would be MS Office. It's quite amazing how it has created an ecosystem of:
- Document "standards" struggle over the past 10 years with government level interference.
- Required support staff
- Training and re-training programs
- Document translation software to other office packages
- Incompatibility handling between MS Office versions
- Complex hardware and software upgrade path to the latest MS Office version
- Resources spent on reverse engineering document formats
- Clones such as Open Office
- Millions, no sorry billions of wasted work hours on handling issues with MS Word, myself with some sleepless nights included.
- Hilariously expensive document search engines integration software
All in all, just so we can read and write some documents! Also pray, that you haven't written any documents in MS Works. There are so many corners you can paint yourself into and MS has made sure that the "best" path to reading documets is the one that makes your money become a part of their money mountain.
Tens of thousands of people must be working in this ecosystem, which, had document authoring software been engineered correctly, would largely be unnecessary.
"I need to read those MS Word documents on my computer that [someone important] sent me via email." is an incredibly expensive sentence. I shudder to think about how my government has spent millions and millions on making sure that MS Office will be required by most citizens in the forseeable future along with the further millions spent on maintaining their internal archive of documents and to make them searchable as an afterthought.
Lovely stuff -- thank you.
In a strange quirk of providence, I have been developing software for a research team for use on small classroom calculator networks (2-4) users.
We use Net Logo on the PC and TI-83-Plus calculators. It took me about ten minutes to become productive in Net Logo since REBOL borrows some of its fundamental concepts from Logo. Writing Basic/Assembly code on the calculator (Z80 processor) has me wistfully remembering the days of the Timex Sinclair.
I created a dialect that allows the calculators and Net Logo to control each other, although it works more like AREXX than a real dialect. The result has been a phenomenally reliable system, even when high school kids do their best to abuse it.
I can't get over the irony that a 17K Net Logo program and a 1700 byte calculator program require a Java installation of more than 100 MB to run. To make the irony even greater, the calculator is doing all the heavy lifting. Net Logo basically manages lists and displays a few graphs.
It took me a few weeks to develop the latest application. Our presentations at research conferences are greeted with a sort of misty-eyed admiration at our phenomenal abilities. If people knew just how simple things can be.
Complexity has become a form of enslavement. It is time for an emancipation.
I work in the "technology strategy" group of one of Canada's largest telecom company. Our roles is to search out, acquire, and develop new platforms that are the foundation of new services.
The thing is our technology managers are not supposed to be "technical" there roll is to delegate tasks and make sure we update our hours and vacations. I was initially out back when my manager explained that managers are not there to understand the technology or to provide technical guidelines. Well I stopped asking for direction and just do what I think makes sense (sometimes I make the right decision but sometimes not). At least I don't think I have to worry about what my manager thinks, they only care about not making waves.
So I would put forth that not only the CTO but their directors and managers don't know of care about the technologies entrusted to them. worry only about, minimizing risk, hitting budget, and being able to quote the HR manual verbatim.
Why do technical people start being proud of not understanding technology as soon as they are promoted to management?
This is the real reason technology is complicated, lack of vision, oversight and caring.
Post a Comment:
You can post a comment here. Keep it on-topic.