Home » SQL & PL/SQL » SQL & PL/SQL » Estimation Template for PLSQL routines (Oracle 10g)
icon4.gif  Estimation Template for PLSQL routines [message #344172] Fri, 29 August 2008 00:28 Go to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
Hi,
I am looking for a template for estimation of completing a plsql routine.
It can be a generalized template based on very simple, simple, Medium, Complex and Very Complex.
Can anyone give me an estimation template for plsql programming which comprise of PAckages, functions, triggers, procedures, queries, cursors.

Please let me know if anyone of you have currently having a templet as I need this.

Thanks for your help in advance,
Mahi
Re: Estimation Template for PLSQL routines [message #344175 is a reply to message #344172] Fri, 29 August 2008 00:35 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Does "estimation of completing a plsql routine" means "complexity", "sophisticateness"?

Regards
Michel
Re: Estimation Template for PLSQL routines [message #344179 is a reply to message #344172] Fri, 29 August 2008 00:41 Go to previous messageGo to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
Yes, I needed a template which could be used as a generalized template for creating any plsql routine. It should give numbers of hours required for several kinds of plsql routines and which might be very simple, simple, medium, complex or very complex.
Below is one I have for Java projects.

Complexity	Presentation (hrs)	Flow/ Validation (hrs)	Business Logic (hrs)	Persistence (hrs)	Total
Very Simple	2	2	4	2	10
Simple	6	4	8	6	24
Medium	10	8	16	8	42
Complex	18	10	24	12	64
Very Complex	24	16	40	24	104


I needed one for plsql.
Please provide me some help me on this if you have one. It is required by managers to give estimation to clients whenever a plsql routine is involved. They can give a rough estimate on number of hours required as per complexity.

Thanks for looking into this.

Mahi
Re: Estimation Template for PLSQL routines [message #344181 is a reply to message #344179] Fri, 29 August 2008 00:45 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
What does mean:
Quote:
It should give numbers of hours required for several kinds of plsql routines and which might be very simple, simple, medium, complex or very complex.

What are these "hours"?
What are "Presentation (hrs) Flow/ Validation (hrs) Business Logic (hrs) Persistence (hrs) Total"?

Explain in details, if possible with example.

Regards
Michel

Re: Estimation Template for PLSQL routines [message #344183 is a reply to message #344172] Fri, 29 August 2008 00:50 Go to previous messageGo to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
Hi Michel,
I am attching one csv file (there were some colour used to show the complexity which have gone on changing .xls file to .csv file but hope it could help you know what I wanted)which is used for time estimation for Java. I needed a similar template for plsql routines.
Please look into this.

Thanks,
Mahi
Re: Estimation Template for PLSQL routines [message #344191 is a reply to message #344183] Fri, 29 August 2008 01:08 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Your file still does not explain what are "Presentation (hrs) Flow/ Validation (hrs) Business Logic (hrs) Persistence (hrs) Total"? It is just a result. What is the meaning of all columns? How are they compute? Post an example of a procedure and its result.

Regards
Michel
Re: Estimation Template for PLSQL routines [message #344195 is a reply to message #344191] Fri, 29 August 2008 01:18 Go to previous messageGo to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
It is just an example for java related job. And I needed a format for PLSQL work like what number of approximate hours can be given for Cursors, Procedures, Functions, Packages, Triggers when they range from 1-2, 3-4, 5-7, more than 7....

I only need to give a rough estimate so that a generalized template can be made.

It should be rough estimate for routines we generally make while doing plsql programming.
I hope you got what I wanted.

Thanks,
Mahi
Re: Estimation Template for PLSQL routines [message #344204 is a reply to message #344195] Fri, 29 August 2008 01:48 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Quote:
what number of approximate hours can be given for ...

What does this mean?
Does this mean, execution time for all these components? Actual or estimate? What is the relation with "very simple, simple, Medium, Complex and Very Complex".
Explain.

Regards
Michel

[Updated on: Fri, 29 August 2008 01:48]

Report message to a moderator

Re: Estimation Template for PLSQL routines [message #344206 is a reply to message #344172] Fri, 29 August 2008 01:50 Go to previous messageGo to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
Only a rough estimate
Re: Estimation Template for PLSQL routines [message #344210 is a reply to message #344206] Fri, 29 August 2008 01:53 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
I don't know how you can estimate execution time. How does it do it with Java?
You can use DBMS_PROFILER on a test case.

Also:
Quote:
What is the relation with "very simple, simple, Medium, Complex and Very Complex".

How to evaluate these categories?

Regards
Michel
Re: Estimation Template for PLSQL routines [message #344220 is a reply to message #344210] Fri, 29 August 2008 02:10 Go to previous messageGo to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
Thanks for looking into this Michel, However I have created the template and delivered.

Regards,
Mahi
Re: Estimation Template for PLSQL routines [message #344291 is a reply to message #344220] Fri, 29 August 2008 05:49 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Post what you did then we will understand what it is and it would be useful for others.

Regards
Michel
Re: Estimation Template for PLSQL routines [message #344305 is a reply to message #344291] Fri, 29 August 2008 06:15 Go to previous messageGo to next message
virmahi
Messages: 266
Registered: April 2008
Location: India
Senior Member
Michel,
I had to give it in a hurry so don't know how much useful it would be to others. There are colours used to show the complexity which won't be visible in csv format.

So I am sending it in csv as xls is not supported here.

Regards,
Mahi
Re: Estimation Template for PLSQL routines [message #344309 is a reply to message #344305] Fri, 29 August 2008 06:28 Go to previous messageGo to next message
JRowbottom
Messages: 5933
Registered: June 2006
Location: Sunny North Yorkshire, ho...
Senior Member
Well, the numbers are all plucked out of the air, you seem to assume that there is a relationship between the complexity of a piece of code and the number of transactions it processes, you assume that the most complex code can be created in a week, with a couple of days for testing, and I find the underlying idea that you can estimate the length of time a piece of code will take to produce without reference to the required functionality to be laughable in the extreme.

Other than that, it's not bad.
Re: Estimation Template for PLSQL routines [message #344461 is a reply to message #344172] Fri, 29 August 2008 21:50 Go to previous messageGo to next message
Kevin Meade
Messages: 2103
Registered: December 1999
Location: Connecticut USA
Senior Member
On the other hand, let us look at the problem from a different perspective.

The need to estimate development costs is significant to business. After all they have to pay for it so they have a right to expect some kind of estimate. You don't go to an auto mechanic and just give him your car, you expect some kind of estimate. Indeed none of us would just hand over money to any professional without getting some kind of estimate of cost.

So it has always amazed me how we technical folk in IT have such a problem in giving an estimate of cost for a job. We are experts are we not? We should be able to take a basic problem statement and give an estimate of cost without moaning and groaning about it.

Problem is we do a really bad job of estimating costs. So we should ask a question "WHY?". Why do we do such a bad job of estimation? One answer might be that we never thought about the problem of doing estimates.

This guy is trying to do just that. OK, there are holes in it maybe but at least he is taking a real look at a question that most people in our profession try hard to avoid. I give him Kudos for that. And until we all start asking this question, there won't be any real answer for us.

My brother is an auto mechanic. He has a book that tells him how much every job he can do is going to cost both in time and dollars. Why don't we have such a book in IT? And don't tell me because it is an impossible idea. I am sure the first time the idea was proposed for auto mechanics they said the same thing.

Keep trying buddy. Though there may be room for error in your example, I think JROW is wrong, your idea is not laughable.

Kevin
Re: Estimation Template for PLSQL routines [message #344502 is a reply to message #344461] Sat, 30 August 2008 01:49 Go to previous messageGo to next message
Michel Cadot
Messages: 68737
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
In auto mechanic the number of (standard) tasks is limited, so you can make a catalog. I bet there is not in your catalog "how many time to convert my car to a batmobile".
This is what we have in computer development, often new development, new algorithms, new rules, new...
I know this has been tried in Java with the so many available (and useful) classes. When you just have components to fit together, it is easy to determine a degree of complexity from the number of component and their types.
Otherwise, what are, what could be the criteria?

Many years ago, I tried to build such thing for a language like PL/1, this was build around a number of rules that developers must follow: each program unit must be a functional basic unit, it can be read in a whole without going back and forth to understand it, it must be highly commented and each "paragraph" clearly separated by empty lines, above all each part containing a programming difficulty must explain the algorithm, each program unit must contain a header listing all other functions or components it calls or it relies on, it must also list all functions or components that depends on it.
Then the criteria of compexity for a business function was given by the numbers of lines of code, of comments and empty lines per line of code, of called and calling functions.
Of course, this rely on the fact that developers follow the rules (which in our case was satisfied by reviewing by someone that does not know the specs).

Regards
Michel
Re: Estimation Template for PLSQL routines [message #344591 is a reply to message #344172] Sat, 30 August 2008 18:38 Go to previous messageGo to next message
Kevin Meade
Messages: 2103
Registered: December 1999
Location: Connecticut USA
Senior Member
Finally, they got OraFAQ working again.

Quote:
I bet there is not in your catalog "how many time to convert my car to a batmobile".


Actually there is... you need a Duramax Diesel 6600 V8, an Allison Transmission, and advanced intelligent fuel controler to start.

Then you need a HUMMER... and a good auto mechanic.

With these parts, you will triple your Hummer's gas mileage, double its horse poser, and 50% increase its torque (Smok'n).

http://www.4wheelonline.com/hummer/images/products/Hummer-Duramax/Diesel8_small.jpg

I'd say this comes pretty close to a Batmobile conversion. Wonder how long before the do-it-yourself kit arrives.

Also, as the brother of an expert auto-mechanic and an expert IT guy myself, I have seen both jobs up close and dirty. I take offense to the idea that an automechanics job is somehow simpler than ours. I can't remember the number of times my brother and I have argued over the meaning of a rail-road diamgram. Obviously the idea of a book like what mechanics have is not something we will have soon, but it don't view it as an impossibility. Nor do I think we want exactly that. However, the idea of being able to estimate better is very worth while and I suggest will eventually lead to a book of some kind. In particular, I expect to see guides for niche areas of development first.

Indeed, I might suggest that one of the the reasons mechanics and electricians are so much more successful at managing their time and cashflow than IT managers, is in part do to the fact that they do have these books. Indeed, every professional service I can think of from Doctor, to Lawer, to Accountant, to Mechanic, to Plumber, etc. has these kinds of written aids. I think the real reason we in IT don't, is because we don't want them.

Kevin
Re: Estimation Template for PLSQL routines [message #344635 is a reply to message #344591] Sun, 31 August 2008 04:56 Go to previous message
ThomasG
Messages: 3212
Registered: April 2005
Location: Heilbronn, Germany
Senior Member
I think the problem with estimating cost is with the type of job at hand.

You can estimate cost/time for production jobs pretty good.

Estimating cost/time for engineering something is hard to estimate.

I have worked as an electrician for 12 years before I went into IT. There it was basically the same. I was able to give you estimates and/or fixed prices for basic things like normal residential installation, or switch cabinets and machines that have been done before.

On the other hand I also worked on prototypes of industrial machines for a few companies. There it was pretty much impossible to give really meaningfull estimates. And the percentage of "prototype jobs" is much higher in IT.

Also, when I gave the estimate for a residential job, that was based on the plan I got. So when the owner decided "Oh, I want an additional outlet over there" then we both knew that that was not included in the estimate and will have to go extra. In a programming job those change request occur much more often.

Also, I was at a developer meeting a few months back. There one problem that was discussed was that estimates are not REVISED early enough. For example, you estimate a job to last 10 days. When you have done such jobs before, you should have some estimate how high a percentile of time the different implementation steps did take. Now when the FIRST step runs over time, one shouldn't says "Hey, I can make up for lost time in later steps" but immediately consider that the next step also will take longer and inform the customer.

Since you basically have two things that you can adjust: TIME and FEATURES. So inform the customer early on, so that they can decide whether they can give you more time/money or if they want to drop some of the features. Because you are basically doing a prototype. With a prototype the "feedback loop" between customer and contractor is much more important than with a regular, defined job. And that goes pretty much for everything, whether it's software, electrical, mechanical or something else.
Previous Topic: Creating associative arrays
Next Topic: Advance Distinct Check.
Goto Forum:
  


Current Time: Mon Feb 17 22:28:36 CST 2025