Answers

Vinay J.

Business Development Manager at Rishabh Software

see all my questions

.Net OR Java what technology projects you outsource

Does technology matter for making decision to whether outsource or not? Here I am referring technology to either .Net or Java.
Your views, experience please.

posted October 15, 2008 in Computers and Software, Offshoring and Outsourcing | Closed

Share This Question

Share This

Good Answers (3)

Nick K.

Information Technology Executive

see all my answers

Best Answers in: Offshoring and Outsourcing (7), Software Development (4), Corporate Governance (1), Project Management (1), Small Business (1), Computers and Software (1)

This was selected as Best Answer

In my experience outsourcing .NET projects nowadays is easier than Java projects; the main reason is that in Java there is always 10,000 ways to do achieve the same goal, many competing technologies, etc. while .NET provides a clearer path; a couple more reasons to consider - .NET dev tools are getting increasing better and Visual studio today replaces a whole bunch of tools you would need to assemble in order to run Java project, as well as a very reliable support infrastructure from Microsoft vs. several vendors + vast yet less reliable open source community. There is of course a price to pay – being locked in Windows as OS and semi-lock on MSSQL and plenty of other Java over .Net issues, but that has nothing to do with outsourcing.

Links:

Clarification added October 21, 2008:

i put a few more thoughts on the subject in my blog, see the link below

posted October 16, 2008

Steven P.

AVP Application Development at MetLife

see all my answers

I do not believe the technology is relevant. What matters is whether you have the onshore staff to support an offshore development model. The biggest issue I have dealt with for an offshore development model, regardless of technology, is management over-head. Offshore development models tend to require higher management over-head and more detailed technical specifications. In an enterprise environment, time for detailed specifications and management is hard to come by. I have not been able to reliably outsource software architecture. The results have not been acceptable and always require re-work.

I have found the offshore models work best for operations and support roles. Roles where there are pre-defined steps and guidelines.

posted October 15, 2008

Dan M.

CEO and Chief Engineer at Liftoff Software

see all my answers

Best Answers in: Public Funding (1), Economics (1)

As far as outsourcing, the language shouldn't matter that much depending on your requirements. If this is just a short-term project that has a life cycle less than 5 years .Net or Java would be fine (depending on your requirements).

If you're looking to build a longer-term solution I'd go with Java. Only because Microsoft has a habit of abandoning support for languages every few years in an effort to force everyone to buy their latest offerings. How many companies are still using ActiveX or old-fashioned VisualBasic? Microsoft has made it clear that the future of their platform is in .Net... and/or Silverlight, and/or their new language, "M". See what I mean? Who knows what they're going to force everyone to switch to next?

Also, using .Net ties you to one platform: Microsoft Windows. You can use Mono on Unix systems for .Net but you'll never get the functionality of .Net on Windows (Microsoft did this intentionally).

With Java you can run your application on whatever platform you desire and have the ability to scale it up way beyond what Windows servers are capable of (if that's a concern). Also, if you're outsourcing development of a .Net application you can bet that the developers will want to use Microsoft-everything in your software to save time (they're all made to tie themselves together). It'll end up tied to Microsoft SQL server, Microsoft Office, and (lately) Sharepoint running on Windows servers with absolutely no option to ever migrate off of the platform.

Whatever you choose make sure that getting data OUT of your shiny new application is as easy as getting it in. You don't want to be stuck with a proprietary black box you'll have to reinvent in a few years.

-Dan McDougall
"'One tool to rule them all' was the governance policy of Mordor."

posted October 15, 2008

More Answers (4)

Allan K.

General Manager(Market Development, Sales, Technical Support Conduit) S. Korea at Unicoi Systems

see all my answers

I don't think it would matter at all.
Instead, one would need to think whether it's embedded system that is hard to outsource as a separate module or whether it's core logic that you might like to secure. If decision is made based on this, whether it's JAVA or .NET doesn't really matter.

posted October 15, 2008

Sean V.

Geek in a Suit: Creative Developer with Pragmatic Business Sense

see all my answers

Best Answers in: Equity Markets (1), Ethics (1), Enterprise Software (1), Software Development (1)

I agree, the platform is not a primary concern. Instead, I'd say the decision to outsource is best decided on three criteria:

1. The clarity of the business requirements - Ideally every development project would be well-defined, but projects at particular risk to scope creep can be expensive to outsource in both time and vendor relationships.

2. The expected revision schedule - Modifying code is expensive, even more so if performed by other than the original author(s). Clients have no control over the assignment or retention of development resources within contracted firms, creating a risk of business knowledge loss.

3. The relative balance of required business/system knowledge - If all the required knowledge is in-house, knowledge transfer takes time, and strictly in-house communication is probably more clear, open, and fluid. I would stress "relative," because outsourcing can create opportunities for better use of internal development resources, outsourcing the least specialized components. Finally, if there's limited knowledge in-house, such as would be required to extend a proprietary system, it can be more cost-effective to outsource development to system-specific experts than to develop the expertise in-house.

The last of these points, outsourcing components to niche firms for expertise you don't have the time or money to develop in-house, probably has the most compelling argument.

posted October 15, 2008

Thomas L.

CEO at Chestnut Street Group

see all my answers

Best Answers in: Software Development (2), Exporting/Importing (1), Offshoring and Outsourcing (1), Change Management (1), Commodity Markets (1), Computers and Software (1)

Not really.

It's more the business objectives thjat I take into consideration.

posted October 15, 2008

Eric S.

CEO at Frozen Elephant Inc.

see all my answers

The technology does make difference...

If you use Windows as an OS then use .NET. If you ever need to integrate with Windows, MS Office, MS SQL Server, third-party software you will have more options and less problems .

The real question should be "Should I Outsource?"

posted October 16, 2008