Are you responsible for having technology in place for your organization? Do you need to develop software to run your business? If so, then there is a good possibility that reading this will provide you with some interesting information.
In your search to create software you probably started asking your friends, “How do I get software built?” or, “Where do I start?” Right? Your friends said something like, “My brother-in-law works in software. He could probably build your project for you.”
Another scenario might be a response to something you posted on LinkedIn. You are approached by companies from India pitching you on their $15/hour rate. Or, similarly, perhaps you were approached by US companies offering to build your solution by using offshore resources.
You may have spent some time thinking about hiring a group of developers and building out your solution yourself.
Maybe you should be entertaining the idea of outsourcing the project to a company that does software professionally.
If any of those thoughts crossed your mind, here’s what you might experience with each:
In the case that you chose to build your software using your friend’s brother-in-law. You should know that most developers have very little experience. In 2008, the number of developers was doubling every four years. Today that number doubles every two years. So, what does this mean? It means that 75% of developers working today have less than four years’ experience! Maybe it’s just me and I’m a bit slow, but everyone I’ve worked with have required more than 4 years in the business to learn how to produce high quality software. If you went this route, you will likely endure a lot of headaches as your developer completes their education on your dime. As they realize they’re in over their heads they may begin to panic and communication with them will become more difficult. It can be frustrating.
Let’s say you’re approached by an offshore development company. They’re promising you a low hourly rate and guaranteeing high quality results. Unfortunately, the majority of these companies cannot deliver on their promises. The main reason is because of the physical distance and the lack of face-to-face understanding. These companies want you to make a decision and they will code it, that’s it. They will not share their technical expertise toward guiding you along the process. Their approach is more along the line of malicious obedience. They want to build something and get paid. They don’t really care whether it meets your needs. They are going to do exactly what you asked them to do and expect to be paid regardless of whether it meets your needs.
What if you decide to use a local company who uses offshore resources? The only benefit to this approach is that you might have better communication so that the use of offshore resources is more efficient. The downside is that the code will most likely not be written in a way that is easy to understand for new developers. If it’s not, then you’re locked in with these developers. If they’re the only ones that understand the code, then you’re limited in what you can do with it. If you want to give it to another developer or hire an on-site team to take over the project the chances of them understanding that code and being able to pick it up quickly are unlikely. The whole process takes time and time is money.
So, what if you take the approach of hiring a team and building the solution yourself? Before doing this, it is extremely important that you understand the difference between a good developer and a mediocre developer. You may think that the difference is in how much they cost you. That would be true, but only if you think of that cost as a dollar-per-hour-of-work value. If you think of it as a dollar-per-line-of-code you will have better luck hiring the kind of people that produce results. I have found that the mediocre developer can cost twice as much as the good developer in terms of dollar-per-line-of-code.
The only way to truly stay ahead in this software game is to use people that understand cutting-edge technology and to stay on top of changes in the software development industry. Those people are hard to find and have plenty of people offering them jobs at any given time. Because of this, one of best your choices is to outsource the work to a technical agency.
Here’s what you might experience if you decide to outsource. You’re probably going run into a lot of people that want to sell you the moon. They have all the right buzzwords and they may even be able to talk the talk well enough to convince you of their expert status. But, using buzzwords isn’t a substitute for having built an enterprise-level system. If they haven’t built, maintained, and supported a complex enterprise system, then they don’t know how. It’s important to look at their track record and make them prove to you that they know how to build and maintain supportable software.
It is possible to be successful using any of these approaches to having software development done for you. So, what we’re really talking about is reducing the amount of risk involved in doing so. When it absolutely has to be done right the first time, you need to use a professional team of experienced developers, business analysts, and software professionals that not only know what it’s like to produce world-class systems, but have the ability to help you drive the process.
Please leave me feedback in the comments section and let me know what you think. Is this what you’ve experienced?
– Dan Prince CEO illumisoft http://illumisoft.com