outsourcing

 
   
 
it outsourcing
3SI2 Development Blog

 

Outsourcing Development – Reducing Risk

One aspect of outsourcing that is often overlooked is risk reduction. Much has been written about how outsourcing manufacturing transfers the risks to the supplier, yet little has been written quantifying the risk reduction benefits of outsourcing software development.

The common misconception that many people have is that outsourcing their development is a risky thing to do. They believe they will lose control over the development process and lose flexibility. In fact, outsourcing development can be the most practical and prudent approach. Let’s explore how the right outsourcing company can reduce your costs and improve results through reduced risk.

1) The risk of limited vision and awareness of what is technologically possible. While an organization’s culture and history provides stability, it can also limit vision when it comes to implementing new technologies. A capable outsourcing company will be able to explain what options are available to you, pointing out things you may not have considered or even known were possible. The result? A better solution with better features, functions and performance.
2) The hiring risk. Hiring the right people, whether a permanent employee, or a contractor, is time-consuming and costly. Hiring the wrong person translates into lost time and money. Recovering from a poor hiring decision is more time, effort and money. Outsourcing can provide you a pool of talented individuals that are right for the job and available when you need them. No hiring costs, no delays, no risk.
3) Preservation of capital and minimizing long term fiscal commitments. Hiring permanent employees is a long-term commitment that includes salaries, benefits, space, equipment, and infrastructure. All have an impact on the bottom line, cash flow, and available working capital. Outsourcing development can eliminate long-term financial commitments and the risks associated with them.
4) Minimizing the risk of change. Contrary to popular belief, oftentimes outsourcing development provides greater flexibility and adaptation to change than internal development. Good development firms will have a pool of developers with expertise in a wide variety of technologies. It is contingent on their success to stay current with the latest and greatest. Say mid-project you suddenly discover that your application needs to be adapted to allow access from PDAs or cell phones. How likely is it that the developer you hired will have the experience to accomplish that? Not very.
5) The risk of failure is greatest when development projects are brought in house without experienced management and engineering staff on board. It’s always best to take the work to the experts, those with the specific education and experience required from project management to development to testing and quality assurance.

Before you decide whether to do your development in house, or to outsource it, consider the risks. It is very likely that the most cost effective and risk-averse approach is to outsource.

7/11/2007 – Software Systems and Services International Inc.


Successful & cost-effective corporate outsourcing strategies - why comparing 'offers' with 'offers' may leads to the revelation that size Does matter and smaller IS faster and cheaper.

Pricing of software outsourcing and finding out: "How much will this really cost?"

Creating business software became more complex with the growing number of technology options. The decision to outsource some development often is necessary because the size of the projects doesn't either support the hiring and training of new staff or requires it. Now comes the difficult process of selecting a development firm. There are many things to consider in making a wise decision.

As you begin your search, you soon realize that prices vary wildly. You see some offshore companies advertising development at $15/hr. Others advertise a price per line or page of code. A few may advertise hourly prices much higher. Many do not advertise prices at all. How can you tell what your total realized costs will be? Are you being 'low-balled' or is this a genuinely good solution for your need?

First, let's deal with expertise and tools versus cost. I've always done my own auto and home repair. I've rebuilt several cars and have remodeled a couple of houses. I do good work, but I don't have all of the tools that the professionals have. So while my cost per hour is very low, it takes me a lot longer than the professionals. And when I get into something I've not done before, it takes me additional time to figure it out. Similarly, cost per hour for development is not a measure of efficiency or actual cost. Neither is lead time (time between start of project and delivery of code). The right staff with the right skills and experience will always be more efficient. Cost per hour CAN translate into a lower overall cost, but only when all other factors are equal.

Second, there is code efficiency. Back in 1984, Lotus 123 required a PC with 64kb of RAM to run - 64k! Today a typical program logo is larger than that! As computer memory has increased, so have the size of the programs. Of course a lot of this is due to the additional functionality of the programs, but over time code has become less concise. We recently had a client that had gone offshore for development because "it was cheaper". They were seduced by the lower cost per hour. They sought us out 6 months later after they had received a hefty bill and a bunch of code that didn't work. One module of the code that we were contracted to fix was 80 pages long. Our re-write of that module was only 8 pages long. Not only is inefficient code more costly due to the sheer volume of it, it can negatively impact system performance. If a developer starts to boast about how many lines of code their largest program is, ask them for an example of the most efficient code they've written instead.

Third, find out if the development firm has existing software modules that they will be using for your project. The use of existing modules will reduce the amount of programming hours, which will reduce programming time. In addition, pre-existing module should be more reliable than fresh code, since they will have been tested in other applications. Is it important to you to know that the same developers you are contracting with now can make changes and additions 2 years later?

Lastly, investigate the hidden costs. Are you going to be charged for project management hours? What is the warranty policy? What is the response time commitment to reported bugs? How are scope changes dealt with? What is the price for ongoing modifications and support? Sometimes these "fine print" items can drastically increase the realized actual cost of the project. How accurate and detailed are the statements of work (SOW) you are comparing? Verify that everything you understand as inclusive in the offer is documented before the quote is final and the contract is signed. Omissions can send project costs spiraling. If you have a budget to meet then it is essential that the statements of work presented to you are complete and fully detailed thus allowing you a realistic comparison of the offers.

Remember, hourly cost is only one aspect of project development cost. The other aspects are equally important and require your thorough investigation.

6/11/2007 – Software Systems and Services International Inc.

what is outsourcing