Question:
I am trying to determine the efficient person in a group, given a
same set of tasks to each person.

For example:
Two sets of task, each estimated to be done in 100 hours.

John took 80 hours for the first task and 120 hours for the next task.

Dave took 100 hours for the first task and 100 hours for the next task

Jessi took 90 hours for the first task and 90 hours for the second
task.

Nancy took 120 hours for the first task and 120 hours for the second
task

Obviously Jessi is efficient.

I am trying to develop a software to determine the efficient one given n set of tasks and n number of persons.

Thoughts:
I determined Jessi's average rate of work be, (100/90 + 100/90) /2 =
2.222/2 = 1.111

Dave's average rate of work = (100/100 + 100/100)/2 = 2/2 = 1

John's average rate of work = (100/80 + 100/120) / 2 = 2.08/2 = 1.04

Nancy's average rate of work = (100/120 + 100/120) / 2 = 1.66 = 0.8333

So I ranked them as follows (most efficient to least efficient):
Jessi, John, Dave and Nancy

I have doubt about John's ranking though!

Please let me know if my approach is correct. Can I also apply this
to n number of persons.

if this post is on wrong forum. I apologize. I am a legacy programmer and so kinda inclined to put it here..

If the task are related, John is a slow learner.

Instead of ((expected1 / hours1) + (expected2 / hours2) + ...) / N, use
((expected1 + expected2 + ...) / (hours1 + hours2 + ...)). It makes more sense for me to use total time over total time, because if somebody takes 1 hour for one task and 199 for another, he's just as efficient as one who takes 100 hours for each task.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.