Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A prospective employer told me they took a company level decision to do only outsourcing projects.

I do not understand why they took such a decision and the guy I talked to did not elaborate. He further said only that "their intention is to build software components".

Since they are growing quite fast and reached around 300 employees, shouldn't they be at least open to the possibility of having a project of their own, maybe? All other companies I've had contact with were at least open to have one in the future.

I talked to a few of their employees and some are working in parallel on more than 2 outsourced projects (dividing time something like 4 + 4 hours / day). It seemed like a lot of projects with a period of a few months, maybe half a year come and go.

Why would a company choose to provide only outsourcing services like that? How does it work to keep hundreds of people on outsourced projects with a seemingly high project turnover rate?

share|improve this question

closed as not constructive by Oded, World Engineer, kevin cline, Walter, Justin Cave Sep 15 '12 at 8:41

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

We can't guess as to the motives of a company. – Oded Sep 14 '12 at 20:42
@Oded That is true. I was wondering if perhaps someone has experience with similar companies.. – user19833 Sep 14 '12 at 20:51
So they're a consulting company? That's pretty common. – CaffGeek Sep 14 '12 at 21:16
up vote 5 down vote accepted

Risk aversion, probably at the very top.

Launching is a risky venture. What if the product fails? Five to ten people years is a million dollars. That's a modest investment. If the product fails, that's a million bucks down the drain. Even if the potential upside is huge, that downside calculation is abhorrent to risk averse people. It's their house, their very very big house, that's on the line.

Compare that to software that some other entity pays the company to develop. Risk of failure is small and manageable. Product failure? That's the problem of the entity that paid for the work. The biggest risk to the company doing the development is whether the cost estimates in the proposal work were correct. With 300 employees, this company most likely has the cost estimation problem pretty well nailed. The potential profits aren't near as great as the profits would be from launching the "next big thing", but 10 percent or so of the net revenues of a 300 employee company is still pretty sweet.

share|improve this answer
"people years" _ I'll remember that – superM Sep 15 '12 at 8:39
Regardless of how mythical the concept is (Frederick Brooks, The Mythical Man-Month, an essential read for software engineers), it is still an important concept for costing exercises. – David Hammen Sep 15 '12 at 11:25
Absolutely agree, but have never heard in such an accurate wording ))) – superM Sep 15 '12 at 11:30

There are two approaches that a company that requires some amount of something (accounting, payroll, IT, internal software development) (outside the company's core competency) can take (a former tech company I was employed at laid me off saying "web development is not our core competency"). Either the company will have an internal staff to do the development, or the company will use an outside source for that.

If this something is fairly consistently needed, it tends to make sense to have that be in house. A large retail company may find that it is more cost effective to hire its own people to do payroll and accounting than it is to outsource those tasks (compare this to a small company with 10 people total on staff where having payroll (done once per month) on staff would be substantial).

On the other hand, if the something is occasionally needed (legal help, IT development) or the staffing levels need to flex from few to lots periodically (tech support with a new release), it may become more cost effective to have that be done outside of the company rather than trying to maintain the staff in house.

Having a person on staff is not cheap. From things of additional payroll and benefits to less immediately identifiable things of additional facilities (phones, cube floor space). Additionally, having to staff down with a layoff is not cheap either (severance, California WARN law, paperwork).

When a given task is outsourced, all of those staff is not cheap things get moved to the outsourcing company. Less floor space is needed in the building, less water is used, etc... and when times get lean it tends to be easy to just say "project is canceled" without having to worry about down staffing at all (or reporting to Wall Street that the company is having a layoff).

In some cases, it may make sense for all of the in house development of internal software to be done externally. In the development context, there are repercussions to this in terms of quality of the item, ability to support it and turn around time for changes... but in some ways and cases, it may make sense.

So, why would a company be one that only does outsourcing? Because all of the above companies are hiring them to do it.

share|improve this answer
+1, nice. Another option when times get lean: Take all those outsourced projects in-house. Fire a contractor? No big deal. Lay off an employee? Big deal. Employers don't like to lay people off, both from an economic and emotional perspective. – David Hammen Sep 14 '12 at 21:39
Thank you for the very nice explanations MichaelT and @David Hammen. When considering the fact that their primary activity is outsourcing and the fact that they have an increasing market, it makes a sense not to develop something on their own as risk aversion. – user19833 Sep 14 '12 at 21:57

A company is providing "services like that" (outsourcing services), because someone else is buying them. It is a completely different discussion if this is proper or not.

What I have seen is that many companies have a person high up in the hierarchy that runs the whole place with "dogmas" or "doctrines". Stuff like "we will only use C#/Java", "only compiled languages" etc. So one possibility is doctrine. The other one is that there is so high market demand that it would make no sense at this point to do otherwise. I would also like to point out a nice opinion on why such stuff happens from Clayton M. Christensen: marginal decision making.

Decision making based on marginal costs, happens when an organisation/person decides based on marginal cost, neglecting what is best for them in the long run (maybe some years from now). For example for the company you mention, doing something "on their own" requires some infrastructure that they simply do not have, so they have two options: either to create/buy it, or to continue what they are doing at the moment. For the next outsourcing project, they might have people waiting (so no extra cost) or can take some people off from something else, or hire a small number, which is not the case of hiring say, a new sales department to sell their new "product".

share|improve this answer
I did not mean "services like that" in a negative way, rather I was referring to them as peculiar, odd in the way the company functions. I think it must be a combination of the two situations you mention. Thank you for your answer. – user19833 Sep 14 '12 at 21:00
Yes, it is not treated in negative way, the intent of the "s was that I was quoting you. – dimitris mistriotis Sep 14 '12 at 21:01

Something to consider here is the scale and length of projects the company handles. If they are generally working for a few years on projects and being able to move from company to company, it could be quite a nice cash cow for them to have an expertise in some other software and not have to work on innovating that software and take advantage of an existing brand.

For example, at a previous workplace, the company bought an off-the-shelf CMS that another company was hired to help with the integration and customization that comes from that system. We spent a couple of years on that project and so the firm probably made quite a bit of money off of that expertise. Consider how many software companies customize Oracle, SAP, Microsoft and other enterprise software where they want to get paid for the project and then possibly return years later for a major upgrade that may happen.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.