Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

If SaaS development is to be outsourced, do i need to provide the development environment for the developer, I mean is it pretty much a standard thing to do? Or a choice made out of personal preference.

By development environment I mean the hosted environment.

share|improve this question
Do you mean provide a server to host your app? If that's what you mean by hosting environment then that's totally different from development environment. So which one do you mean? – Tim Jan 7 '12 at 16:26

5 Answers

My preferred model is that the contract says that the developer develops on their own machines, and then when the work is complete they transfer to your hosted environment. I think it saves everyone hassle.

But I've seen contracts that do it other ways too.

share|improve this answer
1  
-1. Because you assume simplistic development. I know projects where dev environment consits of hald a dozen physical servers, the biggest one costing some hundred thousand USD. – NetTecture Jan 8 '12 at 18:59
up vote 1 down vote accepted

There are a number of aspects to this.

If the work is hourly and is not being delivered to you as a productized thing, then you should probably supply the environment for development.

This is even in light of the "tools of the trade" argument. I view it more as staff augmentation, and you are essentially the employer of the moment.

One big factor to consider is version control and control of the source code. If you don't own the environment that the developer works within, then versioning is anybody's guess.

Another factor - slowly disappearing with open source stacks - is the cost of the tools. A few years ago, Delphi Enterprise Edition was priced at around $3000. No way I'd buy it out of my own pocket for an hourly assignment at commodity rates. So be realistic about what burden you expect the freelancer to take on.

share|improve this answer
Thanks Don, a few things that you mentioned there i hadn't thought of. – user14718 Jan 8 '12 at 18:34
Still the costs of th tools can be significant. Not everyone uses open source - sometimes with good reason - and even with open source, the hardware requirements may be a little tricky. I do sopftware testing on 1000gb data against a dedciated sql server with half a dozen discs. If the project has to have quality, control over the development stack is crucial. – NetTecture Jan 8 '12 at 19:00

My initial thought when you mention development environment is that it should be similar to your production environment. I am not a programming expert, but it might be best to just allow the "outsourcee" (not a word) to use your environment. This will help eliminate some issues when development code is moved to production code because the developer will be using the same environment for both. Otherwise there is a possibility of developing an application in one environment (with a set of options turned on/off) and then having issues to resolve when the application is moved to another environment (with a different set of options turned on/off).

share|improve this answer
Another good suggestion, thank you, forgive my lack of knowledge regarding development and production environments but if you have the time can you briefly explain the differences between the two please if there are any significant differences? – user14718 Jan 7 '12 at 20:12
1  
Development environment is the server technology setup on the developer's computer or in their office. Production environment is the technical term for the client's hosting. The two setups must match as much as possible because mismatch will result in non-working web applications. – dnbrv Jan 7 '12 at 22:17
1  
dnbrv explained well. I will add that for a project of mine we have development code and database on our server which are effectively copies of the code/database being modified / changed and tested (without revealing changes to the public first) before the updated code (and database schema) is copied to the production (i.e., code and database which are available to the public). Even though the coder uses his own environment on local computer, all final testing is performed on our server in the development environment. Then all code is moved to production. – Vasiliy Jan 8 '12 at 3:04

I'd say it depends. While I agree with @dnbrv to a certain extent, it isn't always possible for a developer to replicate your environment. And if they had to, you can bet that it would easily drive up your operating costs. In your case, if it's feasible and cost effective, there is no need to outsource the development environment.

share|improve this answer
I was thinking the same. – user14718 Jan 7 '12 at 20:06

An outsourced developer should have their own tools of trade. The fee you're paying them is supposed to cover all of their operational expenses. After all, when you hire a plumber or a carpenter you don't buy them tools every time.

share|improve this answer
unless you're in India +1 – Sunil Jan 7 '12 at 17:52
Sunil can you expand on that please? – user14718 Jan 7 '12 at 18:59
dnbrv, thanks, im taking your comment on board as well as the others since. – user14718 Jan 7 '12 at 20:14
This doesn't really answer the whole question - the "environment" could mean other things aside from a computer, network connection and a C++ IDE or something like that. – TimJ Jan 7 '12 at 22:09
Development environment is server-side stack (LAMP/WAMP, Rails, ASP.net, etc), which is hosted on their local machines and/or servers with the purpose of developing & testing the client's application. Even if you also consider IDE, it shouldn't be a problem since there are plenty of good open-sourced free IDEs available. – dnbrv Jan 7 '12 at 22:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.