Estimating - any guidelines out there

ryetee

Registered User.
Local time
Today, 08:40
Joined
Jul 30, 2013
Messages
952
After the analysis phase I'll have enough to create a relational database.
I'll know how many forms are required and how many reports.
Not sure how many queries but how do I go about estimating how long it will take to develop as I'm sure my boss will want to know.
Are there any recognised metrics - take the cube root of the number of tables and multiply by the number of forms etc etc ;)
 
I know you don’t have to hear this, but it alL depends. To many factors to consider.

Also, and I say this from personal experience, becuase you are employeee and developer, this is a project thst you will never finish until you leave!

Great place, the Canaries...
 
There are some guidelines but they depend on your methodology of development.

I take the time to design and build template forms that have pre-built components for adding, updating, and deleting records. They have events set up for all the controls that need them. They have other things behind the scenes as needed for event logging, error trapping, and other programming ills & necessities. Then I estimate how much of the "typical" form is covered by the contents of the template. Then multiply the number of forms by the time it takes to do one from the template. For my biggest project, that took about two days per form with template starting points.

Since the code wizards are ready to help you for all events, that kind of code almost doesn't need separate estimation. However, when you step out of the normal event cases, you might need to break down each function well enough to name it and place it in the simple, moderate, or complex cases, and allow 1, 2, or 3 days per function.

Invariably, the thing that trips up every new designer is integration of the parts into a cohesive whole. (Which is one reason I used templates - made integration a snap.) You also need testing time. The more forms you need, the more integration you will need. And the more integration that you require, the more complex the test design has to be.

When I was a project lead programmer early in my career, the marketeering guys were after us to "sharpen our pencils" so we could cut costs and "buy the job." However, I asked the president of the company if that meant "buy it for a loss." He said "No." The job would have had new graphics devices, new types of telemetry, new printers and printing requirements, and several other new features, so I added up the numbers for my estimate and told them the systems integration total. They said "No, too high." I said, "Actually, this is already razor thin. Can't cut any more." The argument lasted an hour.

To make the long story short, I stood ground on an estimate with some built-in time to fix errors because we knew they were going to happen. We didn't get the job. Two weeks later, the same customer called us and said that the original winning bidder revoked their bid because they said it would be too expensive. So we got the job on the rebound. The moral of the story is that if you undercut yourself on the integration estimates, you screw yourself.

My approach was always to allow a fixed unit of time per specific test, and then count up the number of interactions for the new stuff. Then add up the FACTORIAL of the number of components interacting in a given section. (Since it was usually only two to four elements, not that bad a number.) I think my usual scheduling units were 2 hour chunks for s/w integration and testing of a single factor. 'cause after all, you not only have to device the test, you have to execute it. And THEN you have to document it so that it will be in your readiness report.

I know it seems intimidating. (And the first time I had to make an estimate, it WAS.) Because estimation is a skill like programming or graphics design. You have to learn by doing. And the first few estimates will be woefully wrong no matter what you do.
 
I know you don’t have to hear this, but it alL depends. To many factors to consider.

Also, and I say this from personal experience, becuase you are employeee and developer, this is a project thst you will never finish until you leave!

Great place, the Canaries...

I know there are too many factors and there is nothing better than experience and in the past I have relied on this and been fairy accurate. I however am working on a project where I have no real estimating experience in the toolset I am using so wondered if there was a rule of thumb.
Incidentally I used the word boss fairly loosely. The boss is the client. He wants to know how much it will cost (roughly). I know I can just tell him x and see if he buys it, but what is more important to him is when he can get the product. For that I need to know how long I'm going to take.

And you're right the canaries are great!
 
There are some guidelines but they depend on your methodology of development.

I take the time to design and build template forms that have pre-built components for adding, updating, and deleting records. They have events set up for all the controls that need them. They have other things behind the scenes as needed for event logging, error trapping, and other programming ills & necessities. Then I estimate how much of the "typical" form is covered by the contents of the template. Then multiply the number of forms by the time it takes to do one from the template. For my biggest project, that took about two days per form with template starting points.

Since the code wizards are ready to help you for all events, that kind of code almost doesn't need separate estimation. However, when you step out of the normal event cases, you might need to break down each function well enough to name it and place it in the simple, moderate, or complex cases, and allow 1, 2, or 3 days per function.

Invariably, the thing that trips up every new designer is integration of the parts into a cohesive whole. (Which is one reason I used templates - made integration a snap.) You also need testing time. The more forms you need, the more integration you will need. And the more integration that you require, the more complex the test design has to be.

When I was a project lead programmer early in my career, the marketeering guys were after us to "sharpen our pencils" so we could cut costs and "buy the job." However, I asked the president of the company if that meant "buy it for a loss." He said "No." The job would have had new graphics devices, new types of telemetry, new printers and printing requirements, and several other new features, so I added up the numbers for my estimate and told them the systems integration total. They said "No, too high." I said, "Actually, this is already razor thin. Can't cut any more." The argument lasted an hour.

To make the long story short, I stood ground on an estimate with some built-in time to fix errors because we knew they were going to happen. We didn't get the job. Two weeks later, the same customer called us and said that the original winning bidder revoked their bid because they said it would be too expensive. So we got the job on the rebound. The moral of the story is that if you undercut yourself on the integration estimates, you screw yourself.

My approach was always to allow a fixed unit of time per specific test, and then count up the number of interactions for the new stuff. Then add up the FACTORIAL of the number of components interacting in a given section. (Since it was usually only two to four elements, not that bad a number.) I think my usual scheduling units were 2 hour chunks for s/w integration and testing of a single factor. 'cause after all, you not only have to device the test, you have to execute it. And THEN you have to document it so that it will be in your readiness report.

I know it seems intimidating. (And the first time I had to make an estimate, it WAS.) Because estimation is a skill like programming or graphics design. You have to learn by doing. And the first few estimates will be woefully wrong no matter what you do.
Appreciate the answer.
I know how to estimate for other languages (I'm old school COBOL/Natural etc) but with access although I can do it I have no idea (or experience) estimating access projects
 
Last edited:
Incidentally I used the word boss fairly loosely. The boss is the client.

I see I Ass-U-Me’d incorrectly (happens a lot!), my apologies. I will grow up one day, but today is not that day.

I was just a guy who knew a little about Access and virtually nothing of VBA when I decided to show my boss a better way.

2 years later and my project, although functional, is FAR from completed and the “Good Idea Fairy “ lits upon my leadership’s shoulder and whispers seductively into their ears with introductory sentences like “You know what would be cool...”
Which prompts them to say “John, can we have a button that...”

Not even going to get into the reports that mutate on a regular basis and the degree of granularity they keep asking for.

I shouldn’t complain, it has provided a ‘purt near perfect lifestyle for me but some days it can be pretty frustrating and I am wishing I would have just left them to their @#$&* spreadsheets.

I see you actually have some programming experience which will help, but indulge another assumption on my part and offer some advice: know Access. There are features within Access that will save you a butt-load of time. In my opinion (Macros aside), the more things you can achieve within native Access and just use VBA to connect the dots, the easier your life will be.

Best of luck and this forum is definitely a resource that will ensure success.
 
Last edited:
I see I Ass-U-Me’d incorrectly (happens a lot!), my apologies. I will grow up one day, but today is not that day.

I was just a guy who knew a little about Access and virtually nothing of VBA when I decided to show my boss a better way.

2 years later and my project, although functional, is FAR from completed and the “Good Idea Fairy “ lits upon my leadership’s shoulder and whispers seductively into their ears with introductory sentences like “You know what would be cool...”
Which prompts them to say “John, can we have a button that...”

Not even going to get into the reports that mutate on a regular basis and the degree of granularity they keep asking for.

I shouldn’t complain, it has provided a ‘purt near perfect lifestyle for me but some days it can be pretty frustrating and I am wishing I would have just left them to their @#$&* spreadsheets.

I see you actually have some programming experience which will help, but indulge another assumption on my part and offer some advice: know Access. There are features within Access that will save you a butt-load of time. In my opinion (Macros aside), the more things you can achieve within native Access and just use VBA to connect the dots, the easier your life will be.

Best of luck and this forum is definitely a resource that will ensure success.
LOL,no worries.
 
I know how to estimate for other languages

Ah, therein lies the problem. In most of those other languages, you are responsible for everything including putting images if it is that kind of environment. But Access has an active infrastructure and you are no longer writing main programs that have a single start point. Access is your main program and you are writing / designing six different kinds of objects that must integrate well based on someone else's (Microsoft's) ideas of how things will work. What that means in practical terms is that your estimating skills are going to depend INCREDIBLY STRONGLY on how well / how closely you can design the project. Because you will NEED to know the number of components that will go into your intended project. Like Gent, I don't believe that there IS such a thing as a "finished product" if the goal is something that will be used in a living, evolving office.

Estimating for time is tricky only because you have to remember to include breaks for maintenance such as backups, documentation, and research. And NO, I don't mean "consumer documentation." If it grows at all, you will need a journal or other documentation for yourself so you can remember what you were smoking the day you design the XYZ widget.
 
...or other documentation for yourself so you can remember what you were smoking the day you design the XYZ widget.

Now THAT is a question I have asked myself more than once...!
 
Ryetee, at the risk of insulting you, there is an excellant tutorial(s) by Steve Bisho on YouTube:

https://youtu.be/kogGwRIHH6o

There are over 100 videos from beginning to Advanced VBA. I have learned MUCH from these...
 
Ryetee, at the risk of insulting you, there is an excellant tutorial(s) by Steve Bisho on YouTube:

https://youtu.be/kogGwRIHH6o

There are over 100 videos from beginning to Advanced VBA. I have learned MUCH from these...

I can't see why anyone would be insulted by this suggestion ....
Steve's videos are for all abilities from novice to semi-guru.
Something there for everyone ... and i've only found one that wasn't up to much - Advanced no 37 - Importing JSON files into Access -
https://www.youtube.com/watch?v=5qpUFV5Gtb0
 
What I found worrying was that Steve had only been using access for a year when he started the series ....
I have to admit I've only dipped into some of the later ones in the series

At the risk of sounding like my racist namesake, it's a pity he's got an american accent ...otherwise excellent
 
Now that’s funny! Never really thought about the whole accent thing, I DO know I have trouble understanding the dialogue in Peaky Blinders, but it could be my hearing is failing at my advanced age...

I have mentioned to my poor wife who has endured listening to his videos that he sure takes a long time to get to the point...

So he had only been using Access for a year...I really feel like a Dim-wit now.
 
he sure takes a long time to get to the point...

But if he didn't there would only be 30 videos instead of 100

So he had only been using Access for a year...I really feel like a Dim-wit now.

That was my point as well!
 
You know, you could always get Uncle Gizmo to dub over is video, then you would have it all...
 

Users who are viewing this thread

Back
Top Bottom