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 want to make excellent estimations about, how much effort is required for a particular task.

The constraint is, that I have already solved the problem and written down steps required to solve it. Also I have the description of what kind of problems it solves, compiled example program, it's source code with comments, tests and test data, language abnormalities involved with particular solution and etc. And I have done this for set of languages X.

My sub questions are:

  • did I ask right sub questions?
  • is this a Fermi problem (or paradox)?
  • on what should I base my decision upon?
  • what elements should it contain to be effective?
  • what should a I know, before giving a rough estimation?
  • what kind of argument scales should it use: linear, logarithmic, ...?
  • how does estimation change, if definition of required feature changes?
  • how do I evaluate it, is there some-kind of table like this IBM's (bogus) one ?
  • how does estimation differ, if i'm asked to solve it in language {x, y}? Where x ⊇ X and y ∉ X.

My question is: What is the most efficient way, to rate task recreation difficulty?

About the question

Although I have been learning the profession of software engineering for quite some time, only now I find myself going to work as one. In university I found, that 2 time managemanet techniques work really well:

  • doing projects ASP - several weeks early also means virtually no competition at all, to be graded
  • timesliceing - deciding how much continuous time I will spend on a task, before switching to a new one. If it's important, I'll just schedule a new time slice sooner, then I would.

Thy seem incompatible for this task or rather, it seems a complex problem to adapt them.

Example: Irregular click event hot-spots

Difficulty rating : ★ ★ ☆ | Time estimation : 1 work day

enter image description here

Example of required data creation process

enter image description here

share|improve this question
    
I'm very confused. If you know exactly how long it took you to do something, what are you trying to estimate? –  Anna Lear Jun 5 '11 at 1:24
    
@Anna Lear♦: I appreciate the feedback and sorry for being confusing. Same way, as it's unacceptable to write just an answer to a university grade math problem, with comment "I have solved set of problems like this, before.". It seems to be unacceptable, to make time estimations based on past experience, without set of assumptions, that need to be correct. You can think of this question as query, about common assumptions. And it is not trivially obvious to me, how you can make a simplification of difficulty ~ time. –  Margus Jun 5 '11 at 9:37

1 Answer 1

I think you are misunderstanding the function of time estimates. The assumption for every estimate is that it is based on your past experiences with similar problems and you've considered the novelty of the current problem.

I've been running development teams for 8 years and I've never asked someone to give an estimate for something they've already completed. I have, however, asked for someone to give me a concrete example of a similar task already completed and how long it took.

share|improve this answer

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.