One of the most puzzling things in high technology, especially for executives on the business side of things, is the software development process. It's the high tech equivalent to the "Black Hole" phenomenon made famous in Astronomy. Endless resources can be poured into a software development project, yet there never seems to be an end in sight.
And why is this so? It seems that in such a typically high tech, yet now familiar activity, we would have long ago figured it out. You would think that the process of software development would, by now, amount to simply turning a crank—yet it seems it hasn't advanced much since the dawn of the PC age.
I don't mean to be overly dramatic here. But I have been in the high tech and software industries since 1983, and I have never been involved with—or even personally known of a software project—that came in on time and under budget. Never. Not even ONCE. That's pretty incredible. Now, I realize that there are almost certainly examples of on-schedule projects out there, but they are in the overwhelming minority of all software that is developed.
THEY ALWAYS SLIP
It's just accepted in the software business that projects will slip, particularly when the end result is an actual commercial product. The businesses I've been involved in have tried everything. We've tried an approach of "No upfront planning"-starting coding as soon as possible. We've tried "extensive and laborious upfront planning"-with a detailed spec, and a prototype, completed prior to initiating production coding. I've seen many projects that tried using intermediate steps, falling between the two extreme approaches above. We've tried to start projects by purchasing as many "pre-written" modules as possible, used various languages and platforms, hired dedicated debugging personnel, tried code-generators, assembled both small teams & large teams, you name it—we've tried it. Project schedules have been written with the utmost conservatism, at the insistence of senior management. No matter. Across a number of different companies, EVERY project has slipped out beyond the wildest nightmares or everyone involved.
ONE LINE OF CODE, TWO WEEK DELAY
Once I asked our lead programmer to change ONE LINE OF CODE in a well-established product. He estimated it would take just a few seconds to make the change, and a few hours to test it. The change would be final by the end of the day, at the latest. Two weeks later I was still waiting for a solid product.
Now, don't misunderstand. I'm not writing this to bash software developers. While not every developer I've worked with over the years has been a world-beater, I've had the fortune to work with quite a number whom I consider to be outstanding. But no matter how much thought, time and effort went into it, our projects always slipped. A lot. We usually ended up with a commercially successful product, but how much better we could have done, had we figured out a way to bring the product to market on time? The only saving grace was the competition had the same problem.
MORE ART THAN SCIENCE
The reason, I believe, is that writing software remains much more of an art than a science. This statement is a bit surprising, until you look a little deeper. There is certainly much methodology available to guide a team to use sound, time-tested practices in developing software. However, a software program is really just a document written in a foreign language. That's why C++ and Java are called Programming Languages. In writing a novel you are essentially creating a unique work that has never been done quite the same way before. Also true for a software program. If you knew exactly how the writing of a novel or software program would go before you began, there would be no need to write it—it would have already been done. While there are plenty of rules (representing the science) to writing good software, at the end of the day it's a unique, written creation (the art).
COMPLEXITY OVERWHELMS EXPERIENCE
Another key reason why conquering the software development process has appeared to be impossible, is the vastly increased complexity associated with software projects today. Let's face it, the average piece of software today does a lot more, and is quite a larger in terms of the number of lines of code, than at the dawn of the PC era. The creation of graphical user interfaces really started the explosion in the size of software code. So much more code is needed, to bring the user-friendly products of today to life. And what enabled this, of course, was the dawn of the modern operating systems, especially the overcoming of the 640K limit that the original DOS operating system required PC programs to run in. Windows and other modern operating systems almost eliminated the need to write software efficiently, at least from a code size perspective. It's interesting to speculate—if we were still writing in the 640K box, would software development have evolved to a more predictable science today? Maybe, but the world would be a less productive as a result.
WHAT TO DO FROM A BUSINESS PERSPECTIVE?
As you can tell from this discussion, I don't have a great set of answers on how to bring software to market on time. It's one of the great frustrations of my career. I still strongly believe that getting the best people you can get will make the problem better, even if it can't be solved completely. I also believe in keeping development teams small, with the minimum of structure necessary to run the project. It's also wise, in my opinion, to structure your product releases to be more frequent, while adding fewer new features per release. This should at least minimize the pain of each release slipping, since the slip time of each release should be less. And knowing what you're going to be coding, developing a spec document and sticking to it (no feature creep!) is also sound practice, although I've found it to be no panacea. Beyond that, I'm at a loss. Maybe one of you has a strong opinion on how to bring projects out on time? If so, post a comment—this is a discussion worth having.
Monitoring the progress of a software project can be like peering into the darkness of a seemingly bottomless pit.
And why is this so? It seems that in such a typically high tech, yet now familiar activity, we would have long ago figured it out. You would think that the process of software development would, by now, amount to simply turning a crank—yet it seems it hasn't advanced much since the dawn of the PC age.
I don't mean to be overly dramatic here. But I have been in the high tech and software industries since 1983, and I have never been involved with—or even personally known of a software project—that came in on time and under budget. Never. Not even ONCE. That's pretty incredible. Now, I realize that there are almost certainly examples of on-schedule projects out there, but they are in the overwhelming minority of all software that is developed.
- Related Videos
- Related Articles
- Ask / Related Q&A
- A Few Different Types of Blog Software
- Blogging Software- Free Useful Guideline For Bloggers
- Do You Need SEO Blogging Software?
- Easy Blogging Software- Related Facts For Making Blogs
- Blogging Software- Assistive Tip For Bloggers
- What To Look For In A Blog Software Comparison
- How Can Blog Software Reviews Help You?
- Upload Video to Blog Software © - Uploading Videos the Easy Way!




People Skills - Are They Born or Made?
By: Robert Tanner | 02/01/2010Managers usually are promoted for their technical skills. Having technical skills does not mean one has people skills, however. Technical skills will take a manager only so far in their career. Without people skills, their progress will be limited. This leads to the question, Are People Skills Born or Made?
Managing A Restaurant Effective- Fire In The Kitchen
By: Santos Jarvis | 02/01/2010One area that many restaurant managers do not get as involved in their management as they should is food prep. This sounds a bit far fetched, but bear in mind that some of the largest fast food and other restaurant franchises have one thing in common: all have a very consistent menu. The way that they do things, is the way that they have always done things- and the public likes that. If you want to see an increase in your profits, whether you're managing a local mom and pop diner, to a...
Safety Awareness for Hotel Workers
By: Nikunj M Patel | 01/01/2010hotel workers who do a lot of house keeping work always have to lift heavy objects or be constantly exposed to cleaning chemicals. For instance, the act of changing bed sheets requires the hotel work to bend down, lift the mattress up with both hands, and slip the sheets under the mattress. Mattresses are considered heavy objects, especially if one has to repeat the same movements several times a day. If not careful, this seemingly harmless act can lead to severe back injuries.
Middleman System New Review December 31st
By: Clare Clements | 31/12/2009Aymen and his team at former Arbitrage Conspiracy have released Middleman System on December 17th, through a Special Webcast ,with Guesr Brian Tracy what is to be the Biggest Launch in the Internet marketing History.
Why Virtual CFOs Have to Be Better, Faster and Smarter
By: Scott A. McPherson, CPA, CFG, CVA | 31/12/2009There’s no doubt that the realm of the CFO has shifted dramatically. And by some economic and marketplace indicators, dynamic virtual CFOs, especially those who specialize in partnering with small and mid-sized businesses, could become the next generation of chief financial officer professionals. That is, as long as those virtual CFOs stay better, faster and smarter.
ERP Software: Increase the Efficiency of Your Engineering Department
By: S. Daggle | 31/12/2009Manufacturing companies rely on their engineering department in order to secure a profit. While the sales department initiates leads, the engineering department is in charge of creating products and filling orders which ultimately results in the sale and revenue. This means that the efficiency of your engineering department directly affects...
How Do I Earn Extra Incomes - Extra Incomes With Style
By: Rok Pisek | 31/12/2009Do you need extra income and are you willing to have it? We are talking about extra income to develop your lifestyle level or even to give a chance to quit your current work and start to work on internet which can make your life easier. Of course there exists many...
What makes a toddler an entrepreneur?
By: Kim Roddy | 31/12/2009There are numerous fables of people who have risen from to being a downtrodden person to an entrepreneur. These are the people who were once an employee and after conquering a series hardships and adversities of life they attain the position where they generate employment for others and become a source of inspiration for the society and for who strive to be successful
Flattening of the Growth Curve Part I
By: Phil Morettini | 22/10/2006 | SalesIn every company's history there comes a time (or two or three or four times!) when your momentum slows, and the sales curve begins to flatten. This can be one of the most trying and frustrating times for software and technology companies.
Flattening of the Growth Curve Part II
By: Phil Morettini | 22/10/2006 | ManagementIn part I of this article we discussed the issues that lead to flattened growth. So what's a befuddled and perplexed tech company CEO to do?
The Importance of Strategic Advantage
By: Phil Morettini | 22/10/2006 | ManagementHow does a company compete in the long run? I'm not talking about day to day stuff--but what sets your company apart, and gives it a place in the marketplace that allows it to survive, and hopefully, thrive?
Promoting your content through RSS feeds
By: Phil Morettini | 22/10/2006 | Viral MarketingTo many of you, this article will be preaching to the choir. In fact, quite a few people already read these articles via an RSS feed in a newsreader, browser, or on their Google, Yahoo or MSN personalized homepage.
The Rise and Fall of Novell
By: Phil Morettini | 22/10/2006 | ManagementOnce again one of the great brand names of High Tech has been prominently in the news, for disconcerting reasons (if you're a fan or shareholder, anyway). This time it's Novell, Inc. A while back Novell announced that they are to lay off 1000 people, roughly 20% of their workforce.
Software and High Tech Product Planning
By: Phil Morettini | 22/10/2006 | ManagementThere are many ways to skin a cat, so the saying goes. Planning high technology software and hardware products seems to fit in the same category.
Software Product Development--the Unsolved Mystery of High Tech Part II
By: Phil Morettini | 22/10/2006 | ManagementWe've covered a lot of what goes wrong in the software development process in Part I. Let's continue that discussion, and look for some answers:
Software Product Development--the Unsolved Mystery of High Tech Part I
By: Phil Morettini | 22/10/2006 | ManagementOne of the most puzzling things in high technology, especially for executives on the business side of things, is the software development process. It's the high tech equivalent to the "Black Hole" phenomenon made famous in Astronomy. Endless resources can be poured into a software development project, yet there never seems to be an end in sight.