Most companies today hire some number of software developers to create custom applications that fit their business, which creates a business within their business. They understand that off the shelf software can only meet a portion of their needs and in many cases they have already been down the road of attempting to conform their business to some piece of predefined software, which rendered less than desirable results.
- Every business has some amount of unique qualities that differentiate it from other businesses
As a result of the above, these businesses will need software that helps set them apart and out perform their competitors. With this in mind how should businesses proceed?
- A. Hire a bunch of developers and pray they know what they’re doing
- B. Outsource everything to India, Columbia, or some other foreign entity
- C. Ask your software savvy buddy to handle it
- D. None of the above
This is one that many companies prefer, because it gives them total control over development. At least they think it does. However, what happens is in-house developers get so busy trying to keep up with corporate demands they loose site of proper process and procedures, their technology stack diminishes, because they are so busy they don’t have time to learn new technologies, and then burn-out sets in.
What happens next is worse. The business now considers the in-house developer indispensably due to the software they have written and maintain. Your afraid to fire them, because of the ‘magic box’ they have created and worse, no one else seems to have a handle on how this concoction of custom software even works. Now the in-house software developer has got your company by the proverbial balls. Sound familiar?
The good news is the life cycle of most business software should be no greater than 2-3 years and in many cases less. In fact, if your business hangs on to old software too long the competition will pass you up as software innovations continue, whether or not you go along for the ride.
In the early to mid 2000’s American companies of all types were outsourcing their Information Technologies to foreign entities with the promise of cutting their costs in half or better. American business knew it must continue to automate and refine processes in order to keep up with their competition, but there was a deficiency of quality developers in America.
As a result, outsourcing across the pond became a solution; however, many businesses found out quickly that cheap doesn’t equate to quality. Language barriers, time zone constraints, and frankly terrible software and source code were in abundance. Many companies had to scrap there outsourced projects and start over.
- Software developers should bring continuous ‘Business Value’ evidenced by bottom line company numbers
There are still a multitude of American companies who outsource to foreign companies; however, they now understand what to outsource and how to manage those components. It’s more infrastructure items such as call centers, server farms, and help desks. Yes, there is still software development, but most companies move with caution and education.
‘Software Bob’ is not an answer. Let ‘Software Bob’ hack around on your home computer and keep him out of the business.
- Most companies should consider a blend of both in-house and outsourced software development
You need an advocate on your team who knows the business well and can communicate intelligently with any outsourced or in-house development staff. The advocate must have most of the answers or derive them quickly, so bottlenecks do not form during development. Typically this is the job of the ‘Business Side’ Project Manager. Hired by the business to make sure both in-house and outsourced development go smoothly from a business perspective.
The business will also need some number of Production Support developers depending upon the size of the project. Their role is to take up where the development team left off. Adding new features, squashing bugs, answering questions, and ensuring the integrity of the software. Many times they are also in on the ground floor of the project, so knowledge transfer and cross-training happen naturally.
Past these two functions the business really needs to ask itself “Are these other developers really needed?” “Are they cost effective?” “What continued business value do they bring?” In some cases the answer will be yes, we need them, but in a lot of cases the business value will just not be there. Weight the factors:
- Heath Care
- Sick Leave
- Office Space
- Computer Software
- Desk, supplies, phone, cubical
- Network access
- Continuing education
- HR management
- Payroll management
- IT resource management
- Hiring process/Recruiter costs
It’s about being good stewards with company assets. These may seem like hidden costs that can be absorbed by the company, but make no mistake they are not. Companies who outsource correctly can typically save over 15% from the bottom line each year. Outsourcing may look like a lot of money upfront, but the benefits can far out weight the cost. Outsourcing benefits include:
- None of the items from the above list apply
- Needed for only short periods of time
- Dedicated team of experts
- Improves company knowledge and expertise
- Risk sharing
- More diverse skill sets
- Accelerated time to delivery
- Business must know and define what they want
Stay away from Software management that want total control of everything. These are power mongers attempting to make themselves indispensable. “I must have every software developer be an employee of the company. I must be in control.” Most often these people do not have the best interest of the business in mind, but are looking out for number one. Themselves.
- Companies need the ability to plug and play development resources, so they do not get left holding the bag when key personnel leave the organization
Organizations must give credence to cross-training, transfer of knowledge, and formal training to in-house developers or they will not be able to derive the best solution for the given business problem. Outsourcing to quality software development firms handles this very scenario for the business. It’s not even something they need to worry about.
Selecting the right Software Development Outsourcing firm can save your company big money, so do your company a favor and weight the factors. You’ll be surprised.