Outsourcing to software development team vs an individual developer


0

We are developing a relatively straightforward Windows software application, and the question has arisen of whether it makes sense to outsource to a four-person development team (Project Manager, Architect, Developer, Tester) or rather to a single highly competent developer.

I can see the pros and cons of both options, but the enormous expense and luxury of paying for 4-people on an hourly basis as opposed to one person makes me wonder whether it is worth it. From a testing perspective, we could always have the software tested independently in any case with many of the great online testing platforms.

Has anyone had experience with this kind of scenario? Your insight would be appreciated.

Software Outsourcing

asked Aug 26 '12 at 01:23
Blank
Josh
11 points

3 Answers


1

The option with 4 people would be viable if the software requires a very high degree of expertise in multiple fields of IT. This way, it's viable to outsource it to e.g. India, and works very well, as in India there is a lot of experts in various fields.

On the other hand, in Europe and US there is considerable higher number of talented developers with less expertise, but with wider experience, as IT was popular there for long time.

So, if your developer has 20 or 15 yrs of experience, it is equal to 4 people with 5-7yrs experience.

Then, figure out what is your developer really good at and if it is fit for the project e.g.:

  • Developer is expert in data modelling and processing (XML/DB/Forms), architecture, design
  • Expert in build, maintenance, automation, test
  • Framework development, project management
  • Fast and high quality implementation by the specification / book (without expertise in particular problems)
answered Aug 26 '12 at 01:37
Blank
Andrew Smith
211 points
  • Thanks for the advice. I think the years of experience does not always relate directly to the quality of experience, but often it is a reliable metric. – Josh 8 years ago
  • Well, depends on the person and not the company when he was gaining it. If somebody is learning well, he will take his lesson whatever environment he was exposed to. – Andrew Smith 8 years ago

1

This depends on anyone on your staff having the expertise and the time to find and manage the one great developer. You can start on that path, but you may find this to be very difficult.

I resently finished a couple of rooms in my basement. I got some quotes from general contractors and felt they were too high (Like your 4 man team.). Luckily, I have a relative who is a carpenter. I was able to trust him to not only do some of the work, but also provide a lot of advice on hiring, scheduling and managing some of the other work. It required a lot of my time since I had to purchase materials in some cases, do parts of the work, and wait until different people were available. Maybe I could have found a handy-man to to all of this as well (like your single great programmer), but I don't think I would have gotten the quality of work in all areas (The electrical work was more extensive since my current panel was not large enough).

There is no such thing as a "relatively straightforward Windows software application."

answered Aug 27 '12 at 01:11
Blank
Jeff O
6,169 points
  • Good answer, thank you. I take your point that there is no such thing as a 'straightforward' Windows app. Hehe. But seriously, I believe your point about managing the developer is highly important, and also about having the technical expertise and ability to do this. But the same would apply to any outsource project, you should be critically familiar with your industry (in this case technology) and must be able to manage your contractors, or they will end up managing you and taking you for a ride. – Josh 8 years ago

0

In my experience as a software project management consultant I have seen corporations with internal teams as well as outsourced.

I don't know your background and familiarity of software development, but my idea of ideal team composition is a little different. Developers should work in pairs, and for every pair there should be a QA analyst, a UX designer, and a creative web/graphics designer. Every project should have a project manager that is considered a stakeholder in the project and knows the goals and path of the project. Larger projects may have multiple teams of similar compositions under the project manager.

An architect doesn't necessarily need to be project specific. Sure, very large projects may require a dedicated architect, but in my experience architects are involved in the project planning and become unnecessary for the development operations aside from occasional guidance at major milestones.

I think in all cases you need at least one individual who is very qualified in software development that can oversee a project in progress. This may be an internal employee overseeing outsourced development projects, or an individual collaborating with your project managers to translate your requirements into functional components in a logical development path.

answered Aug 26 '12 at 04:08
Blank
Steve Buzonas
101 points
  • So you suggest that one dev on-site and another outsourced? – Andrew Smith 8 years ago
  • Thanks for the advice, I suppose the structure of the team or the choice of individual depends upon the type and complexity of the project. I agree that having an architect on hand for the entire project is a bit luxurious. – Josh 8 years ago
  • @AndrewSmith I suggest that if outsourcing is the decision, an experienced individual with the company's interests in mind should oversee the outsourced development to ensure the project remains on track and a quality product is delivered. This can be the owner of the company if they have the time available as well as the knowledge of the software development process. – Steve Buzonas 8 years ago

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Software Outsourcing