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

I spoke to my first potential client today and he told me about the requirements of his project - an Android app. He is a well-known designer / photographer in my country and now wants me to "convert the website into an app, custom-tailored".

So the requirements, details stripped out, are as follows:

  • eCommerce
  • Aggregating all his content like videos, blogs, tweets, etc. into the app
  • Live streaming any of his studio demos
  • Augmented reality. So that people can see what his painting will look like on their wall before they buy it
  • Taxi Sharing

Now, for a freelance project, it seems too over-scoped.

I am not saying that I cannot do it. I can. But let me be realistic:

  • There is a steep learning curve when it comes to VR.
  • I am not a tester. I have never white-box tested my own apps. I always black-box test.
  • Since he is a renowned artist, something short of perfect might harm his public image

So, I asked him for 2 weeks' worth of time before I give him the final answer. Now knowing whom to consult for advise, I am posting the question here.

Although interesting and personally challenging, I am split-minded about accepting a project like this. I will be the only developer for this.

Should one reject a project that seems to be over-scoped for one's own abilities?

share|improve this question

closed as too broad by Michael Kohne, gnat, GlenH7, Bart van Ingen Schenau, MichaelT Aug 23 '14 at 21:12

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

and RSS is not so good, according to him. It has its own "drawbacks" – Little Child Aug 23 '14 at 14:51
up vote 4 down vote accepted

I would

A) give a time estimate of how much it can take to complete the project (say it is two years).

B) notify him that, of course, such time estimates do not include anything that he may think of in the following two years.

C) tell him that, given the time spent, you need to get sure you will be paid in full. So you will want a substantital of the money upfront. And not your ordinary rate (in a project that lasts two months, you can afford accepting only half pay in advance because that means that you will only have to live from savings for a month; but in a project that takes two years you cannot afford living off savings for a whole year).

Given that he should not be happy to hear about A, B and C(*) gladly, offer him to separate the project into smaller iterations; the most basic first.

  • At the beginning of each iteration, he only needs to pay the upfront money for that iteration. Also, he will only need to give detailed specs for that module, so one can expect that they will give be more detailed.
  • He will get the results sooner. In fact, he will have something that can be distributed in a few months, instead of a couple of years.
  • At the end of each iteration, he can check the quality of the product, and decide if he has the money/will to continue for the next iteration, stop the process altogether or even move it to a different contractor later (which would help if you want to "chicken out" the VR part).

Bonus points if you may sell the idea to modularize the application and make each iteration a module, so users may chose which modules/plugin they will use.

(*) If he does not care about A, B & C... Run for your life, the man is a lunatic

share|improve this answer
Thanks fro your amazing answer. Tell me this: how do I decide the cost for each iteration / feature ? Is there a formula or something ? – Little Child Aug 23 '14 at 17:56
There are methods to help stablish the cost/duration of a project based in some metrics (lines of code, function points) but for unipersonal projects the best way is experience. If the part with VR is frightenning to you, you may leave that out ("this is my estimate without including the VR, which I will need some more study to estimate"). – SJuan76 Aug 23 '14 at 18:17
I found some amazing websites that calculate the cost for making apps. Dont know how accurate they are but they gave me an estimate od $66,000 for this whole project. – Little Child Aug 24 '14 at 3:27

If you want the project you ought

  1. Split the project into discrete subtasks. Selling point: if all but AR and "Taxi Sharing" are complete and running, wouldn't that be better than the whole thing on hold waiting for AR? If everything was running, but you never found an AR that you liked, wouldn't that be better?

  2. Prioritize the subtasks as I implied in (1).

  3. Remember the iron triangle. I'm sure you know this stuff, just apply it to the contract: of course you can do this project given sufficient personnel and time, specifications, and money. If you need to subcontract a QA person or team, do it. If you can be working on commerce while someone else handles the VR, budget the VR engineer in. Too expensive? We can certainly remove or defer the VR part or the "Taxi Sharing".

  4. You say you are to be the only developer? If he's alloted you two years to complete it, go for it. This spec is the scariest one for me. I suspect he wants one person because he doesn't want to pay two. This entails he wants fabulous work completed in no time and only your labor to bear on it.

Give him an accurate appraisal of the time, labor, personnel it will need. Many plastic artists are of the mistaken impression that people are far more interested in him than they actually are. I have no idea who this guy is; I guarantee you that I'm not (yet) interested in his blog.

Another conjecture, he imagines the the VR stuff will be nifty enough to actually drive sales. I really doubt it, but his fancy could cost him considerably with no expectation that it will be used. This indicates to me that he needs to have his expectations reined in, and you're the one with the reins.

share|improve this answer
Okay and how is cost calculation done ? – Little Child Aug 23 '14 at 17:55

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