The Future of Corporate IT

In the software world, we live in the wild, wild west. Software development is hardly more than a handful of decades old and has only gained the attention of non-techies in the last 20 years. The software development world is fraught with people building applications by the seat of their pants. Failure is the rule, not the exception. But it is interesting to see how the world of software is gradually changing. Standards for coding practices, higher expectations by product managers, greater demands by end users and government regulations are making an impact.

We are starting to tame the wild west of software. We have a long way to go but there is some progress.

Sow what is going to happen to software and how will that impact businesses and the people who manage them? Probably the best answer to this is to look at similar well established industries. While there are some differences, there is a great deal we can learn by turning our attention to the construction industry (office buildings, homes, bridges, dams, etc.).

So why use the construction industry as a model for what is to come in software?

  • The construction industry has been around for 1000's of years, is well established and disciplined. The software industry is very young and needs a role model to help determine the best path for it as its industry matures.
  • Construction is focused on building new things, often custom tailored to each customer. The same goes for software development.
  • Construction is not cheap. Neither is software development.
  • They provide professional services (architects, inspectors, project managers, etc.) done by high paid and highly trained individuals. In many regards custom software is even more dependent on these highly trained individuals.
  • They provide an on-demand work force that comes and goes as the client needs. Companies need large construction projects done in spurts. There is no real steady stream of work to keep full time employees busy. Companies do NOT hire their own construction crew, purchase their own bulldozers and cranes or take on the responsibility to keep these people busy on a regular basis. Rather, companies hire the maintenance and management crew who need to be there to support what they have. In software, the maintenance crew are called system administrators. Software is heading this direction and fewer companies are keeping the development staff on board full time but are keeping the administrators.
  • The majority of construction utilizes modular or pre-built components that are then assembled in a way specific for that project's needs. Today, the majority of new software starts off by importing pre-built libraries which helps the development crew focus on what makes the project different rather than having to reinvent the wheel.
  • Successful companies focus on what they do best. They don't do construction or software as their main focus. It is much more productive and more highly successful to bring in outside experts to get the job done than to try and become an expert in software as well as the industry your business is already in.
  • Construction is heavily regulated by the government. This is for quality and safety reasons as well as customer protection and many other reasons. The same is becoming true for the world of software. HIPPA regulations, PCI compliance and Sarbanes-Oxley are among the regulations that are starting to affect the software world. Adhering to these regulations can become a full time job. Companies need the expertise of another firm that understands these regulations and rules.
  • Construction companies can be held accountable for their work, are expected to carry insurance and are also expected to get things done on time and on budget. It is much harder or in some cases impossible to impose this on an employee. If the employee screws up or doesn't get the job done as expected, the best an employer can do is fire them--but the company is still out the money. For this reason, companies like bringing in outside firms to mitigate the risk. The world of software has the same perils and companies are starting to see the benefits to budget, time and risk by bringing in an outside software development firm.

Traditionally, companies have built up their own software engineering groups, hiring architects and software developers to build software for them. But in the construction world, what company brings in a full time architect as an employee, hires their own construction crew or purchases the equipment necessary to do the job? Unless they ARE a construction company or their industry somehow revolves around construction, the answer is almost none.

So why do companies still insist on having their own internal software group? This is akin to having a company within a company. Worse still, it means the business needs to be great at software as well as great at what they sell. To top it off, software is getting more complex and difficult.

Companies that deal with construction almost always outsource the design, architecture and the build of the project to another firm. They do often keep on staff a project manager (someone who is well versed in the business needs and can evaluate, select and manage the outside firm), facilities manager and maintenance crew. Sometimes these functions are outsourced as well, depending on the amount of work required. But they (almost) never hire full time architects or construction crew.

The software industry is slowly shifting this direction as well. Larger and larger companies are beginning to outsource more and more of their software projects. I am not talking about overseas outsourcing--just outsourcing to other companies regardless of where they operate.

Gradually we will see that companies will begin to only hire the business experts, project managers and support and maintenance staff. They will keep the people who:

  1. Understand their specific business and how they uniquely operate within their industry.
  2. Have enough work to keep them busy on a full time basis.

So what are the advantages of hiring an outside company?

  • IT isn't what those companies do, it isn't what they are best at.
  • Technology companies bring in knowledge from the outside - new ideas and techniques.
  • It creates a more competitive environment to help drive down costs and drive up quality of service.
  • Outside companies are more easily held accountable to time lines, budgets and deliverables.
  • Easier to ramp up and down as needed.
  • The world of software is getting more complex and it takes a full time effort to keep up with the latest technologies and best practices.

Smart companies and managers are beginning to see the value of leveraging outside development firms. We are seeing more and more customers who are turning to using our services even though they already have their own internal software development shop. And we expect to see more of it.

As for the software developers who fear to loose their jobs to companies like ours, never fear. The future for developers lies in working for software engineering firms. And a bright future this will be! It is much more fun for a software engineer when they work for a software (or at least a high tech) company. There is more variety of work, they get to use more of the latest technologies and they get to work with more people who have similar interests and profession.

All in all, the future looks good for everyone. As we move more toward the use of software engineering firms for those big software projects, employees will have grater capabilities and job satisfaction, and companies will get better software at a greater value to the company and at a much lower risk.