# Assigning effective complexity ratings to tasks

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?

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

Example of required data creation process

• I'm very confused. If you know exactly how long it took you to do something, what are you trying to estimate? Jun 5, 2011 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. Jun 5, 2011 at 9:37