Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I was wondering whether there were any estimating models for projects which use the results of previous projects.

For example, imagine I want to develop an application for a phone based on a web app I completed last month. Say the web app took 1000 hours but that I don't know anything about mobile development. If you wanted to add another number into the equation you could say that 50% of the features implement in the web app will need to be implemented for the mobile app.

Where would I even start to form an estimate for the new project?

Thanks in advance.

share|improve this question
add comment

5 Answers

up vote 6 down vote accepted

Project estimation is a skill (and a hard one at that). I suggest you do some research if you want to aquire it. (here is a thread full of good books)

For example, imagine I want to develop an application for a phone based on a web app I completed last month. Say the web app took 1000 hours but that I don't know anything about mobile development.

If you dont know anything about mobile development any estimate you give will be basically guesswork. The accuracy of the estimate is based on your knoledge of the platform (none in your case).

My suggestion would be to do some prototyping first so you get a feel for the platform and can give them a ballpark estimate.

share|improve this answer
add comment

Where would I even start to form an estimate for the new project?

You start by implementing one use case and see how long it takes. Then you estimate a multiplier for the rest of the use cases, and extrapolate.

share|improve this answer
add comment

Where would I even start to form an estimate for the new project?

It doesn't much matter. Seriously.

Effort can be shown to depend on lines of code. Read Boehm's Software Engineering Economics for details. Pretty much any other measure has no usable correlation with effort.

The joke is this: You don't know lines of code until you're done.

You can try to use other "features" to predict lines of code. A commonly-used feature the "story points" for each user story, since that's something you often know at the beginning of a project.

However. Personal productivity, tools in use, and organizational politics have more impact than lines of code. The time to learn new technology, for example, is almost impossible to predict. (Except to say that it takes years to become an expert at something.)

In short, it doesn't much matter if you use a previous project or not. Predicting the future is really hard.

share|improve this answer
add comment

There are indeed estimation models for projects, and in general they will definitely benefit from the results of previous projects.

However, the more unknowns in the project, the more difficult the estimation becomes.

In this specific case, the killer would be "don't know anything about mobile development".

If you were to redevelop your existing web app for a more limited mobile-web platform, your existing project experience would stand you in good stead.

However, it sounds as if you are going to create an actual mobile app? If so, then the previous experience in this case is not quite worth nothing, but it is not worth very much. Adding a feature to a web app can be quite different than adding it to an actual mobile app. Some things are much simpler, and some things are much harder.

If you are stuck on getting some kind of estimate, then my suggestion would be to find a mobile-app expert. Discussing/designing closely with someone who has that expertise should give you some of the answers you are looking for with respect to the overall (re)development time.

share|improve this answer
add comment

Dont take the webapp effort as basis for estimations of the mobile app. Though you maybe just do the webapp on mobile, you are developing a complete different application in technical Terms. I mean native development, no PhoneGap/HTML5 stuff.

share|improve this answer
1  
+1 for the caveat, especially being unfamiliar with mobile development makes the two projects totally incomparable. –  Péter Török Dec 7 '11 at 16:03
add comment

Your Answer

 
discard

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

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