By: Michael J. Petty
Over the last 15 years, a lot has changed in IT even though we still face many of the same challenges today as an industry. One of the big challenges the IT industry is facing is the high rate of project failure. It has been shown by many surveys and studies by a number of organizations that nearly 70% of IT projects fail. A failed project can fall into any of the following categories:
Cancelled outright
Delivers no value to the business
Delivered late
Over budget
Doesn't deliver all the required functionality
By its nature, software systems are complex and are under continual pressure to change due to the needs of the business. It's a combination of art and science involving lots of competing opinions, tools and methodologies. In my opinion, the solutions that work best are the ones that are custom-fit to the organization, company culture, people and constraints under which the software project is being implemented.
Another key issue that few people discuss is the relative youth of the IT industry. The first electronic digital computers were developed between 1940 and 1945 which were used for military applications. Businesses started to leverage them in the 1950's. Compared to other industries such as medicine, aeronautics or electrical engineering, software is relatively new. As an industry, we're still trying to figure-out how to build high-quality systems on time, within budget that meet the business' needs. What makes information systems development hard to master, is the fact that it's a fast-moving target. The rate of innovation is incredible and I think that history will show that we're living through the heyday of computer technology innovation. There are many that believe that software development cannot be estimated accurately and that any attempt to do so is a work of fiction. I belive that software can be accurately estimated, however, there are a number of factors that influence the success of projects as follows:
Understanding of the problem being solved.
Selection of viable technologies that address the project's technical requirements.
Accurate and honest estimates.
A team that is competent with the tools, technologies and concepts being utilized.
An ongoing working relationship between the business and the development team.
A viable software development workflow to include proper development environments and source code management.
A proper software integration, testing and release process.
Accurate and honest status reporting of the project's progress.
Even though building software is very technology heavy, it's still very much a people business. The success of a software project is based on the things that people do, not the machines. This is where leadership, mentoring, training and good old-fashioned people management come into play.
Things would be so much simpler it we could just get rid of the computers, slow everything down to a managable pace so we could do it all on notebooks and index cards. However, those days are long behind us. The companies that win in today's marketplace are able to leverage the benefits that information systems have to offer. Not only do these systems reduce the cost of doing business, they also give companies strategic advantages in the marketplace. The companies that can combine creativity and innovation with business and IT expertise will win the battle for revenue and marketshare.