Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: What does "efficient" mean?!?

by Albannach (Monsignor)
on Jan 15, 2002 at 20:39 UTC ( [id://138941]=note: print w/replies, xml ) Need Help??


in reply to What does "efficient" mean?!?

To me efficiency means the ratio of output resources to input resources, and the problem as you noted is how best to measure the input and output. You've come up with several specific ones that apply to IT development, but a problem of bias arises when measures are taken individually. One solution to this is to estimate economic efficiency. In my line of work we often use a concept known as generalized cost in which we estimate and/or calculate dollar values for just about anything you can imagine - it's the only way to do some of the modelling and simulation in transportation planning (for interest, the other most common generalized cost unit is time, but it is often much more difficult for people to convert things into units of time). Though I hasten to add that it is just as simplistic a view as any other, it has the benefit of combining normally disparate measures.

In your examples then, one could use generalized cost to calculate the values of different approaches to a specific project (subject of course to one's ability to reliably estimate things like development time and maintenance costs) and come up with different ways to satisfy the same set of project goals. In the extreme it could end up with a choice between hand-coded assembler running on a 80386 (high development and maintenance cost but low CPU and RAM cost) and perhaps Perl on a present-day off-the-shelf system. While the choice may be a no-brainer to most readers, it still may be an interesting exercise and could reveal something surprising about the project specifications, and how they may be altered, remembering that efficiency depends on both the input and output, and it may be a mistake to fix either side of the ratio too early.

After the best analysis however, one is still dealing with the real world, where a project honestly intended to be a temporary fix ends up in use for years. For this reason, any planning exercise based solely on calulating efficiency and effectiveness will be doomed to fail, unless a good effort is expended on examining the sensitivity of each assumption to unexpected changes ("what happens to our maintenance cost assumption if ...", or "what if our compiler vendor ..."). The project may still fail, but at least there will be a better chance of anticipating the failure and mitigating the losses.

--
I'd like to be able to assign to an luser

Replies are listed 'Best First'.
Re(2): What does "efficient" mean?!?
by dmmiller2k (Chaplain) on Jan 20, 2002 at 06:18 UTC
    "After the best analysis however, one is still dealing with the real world, where a project honestly intended to be a temporary fix ends up in use for years.

    Well this statement hits the nail on the head, doesn't it?

    No matter how many places I've worked -- and we're nearly into the 30's now, in terms of how many -- having been a consultant for eighteen years), I've learned: there is no such thing as a "temporary fix." All but two of such things that I've personally worked on are (AFAIK) still in use today. And the two that aren't are currently in my care for rewrites.

    ++Albannach. If I had any votes left today I'd use one for this.

    dmm

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://138941]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2024-04-19 21:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found