I just want a estimate it does not have to be accurate.
Nobody can (or at least nobody should) tell you what to charge for *your* work, so that's likely one of the reasons you're having trouble getting a straight answer. Most developers calculate costs based on an hourly rate, and they estimate how long it will take *them* to do the requried work, multiply it by *their* hourly rate, add in any expenses or overheads and thereby arrive at an estimated price.
The problem with other people telling you what to charge is that what takes another developer eight hours may take you three - or vice versa. The amount of work you complete in a given time and the quality of every aspect of your work are two of the variables that you can use as a guide when determining your hourly rate - but what you can charge will also depend on where you're located and what the typical rates of other developers (with comparable skills) are in your region or country.
By way of example, if you determine that the complexity of the forms is such that, based on other similar work you've done, it will likely average about four hours each to design, code, layout, test and do any final tweaks or revisions per form, then you're looking at about 44 hours total. If you work a lot faster than that (or you consider the forms to be less complex, or some of them are similar to others) then you can reduce the estimate accordingly.
Once you have made an assessment about the time required, you need to do some research to ascertain what kind of rates developers with similar levels of skill in your area are able to charge and decide what rate is fair for you at this point. Then you need to add any overheads (eg costs of travel for meetings at the client site if required, etc) to arrive at a price.
Sorry that I've not given you the definitive answer you were hoping for - but without knowing all the variables, I'm afraid a more specific answer would be meaningless.
R J Cologon, Ph.D.
FileMaker Certified Developer
Author, FileMaker Pro 10 Bible
NightWing Enterprises, Melbourne, Australia
Thanks you have been more helpful then the other answers I received.
1 of 1 people found this helpful
Just as a very rough estimate, but there are many unknown variables in your question.
It depends whether:
- you need and can build a good template (form view, list view, script set) and work from there.
- How many tables?
- How complex will the worklfow be?
- Do you have complete insight in the workflow now, or will this be a moving target throughout development?
- How secure?
- Maintenance scripts for new versions?
- How will you implement your solution (FMServer, stand alone, runtime, web-access, FMGo, etc)?
- will this by company-critical software or nice to have?
But if you can roughly do the basic math based on your current experience, then add:
- 40% of development time for analysis and design
- 20% of development time for testing
- 10% of development time for deployment
- pro memori: training users
These numbers were based on experiences from a wide range of developers, it was presented at a US Devcon a couple of years ago, but I forgot who presented them.
Make sure you use certain minimal standards in naming conventions, script comments etc. so that other developers may take over at some point in the future.
Fix the expectations of your client and your work in a written document, signed by both (a database is never finished).
Hourly rates will vary from country to country, your level of experience, your negotiating position with the assigning party. From what I've seen, they range from 60 $/h to 140 $/h
How much do you want to invest in your own training? (you cannot expect your client to pay for all the hours you are undoubtedly going to make while you become a more experienced developer)
I hope this will provide you with the basics.
p.s. I just saw the reply from Ray and I am in complete agreement with them.
1 of 1 people found this helpful
Both responses here give you a good guide...
The one comment I would highlight is "(a database is never finished)". The danger in ignoring this is that you quote on doing a big job and it keeps expanding as you go...
There is always a client who keeps sneaking little extras in... and the client who says "... but I thought it would..." after you've delivered. Specifications can also be open to interpretation and certain things implied that you didn't specifically quote on. You must make sure that agreements state that only what has been specified is included and hourly rates apply for 'Author's Corrections".
Some clients will try everything they can to reduce their costs. Some of these are designed to make you feel sorry for their circumstances or to accuse you of not performing according to the contract timeline or such. Make sure you don't trap yourself into discounting or impossible delivery schedules... or doing a deal based on later reselling the solution to others.
Also make the clients themselves accountable. They have responsibilities and the choices along the way are theirs in many cases. I once (no twice come to think of it) had a client who refused to articulate the charging mechanisms for their services. In one case they ran with the one which I had proposed (as a point to start narrowing down what they needed)... then 3 months down the track said "oh... one thing... we don't charge on that basis... we do this entirely different thing". As if that wasn't bad enough... but then they turned around and completely changed things again. The entire system was based around the mechanisms for charging so we are talking major changes.
You may deliver the first draft in 4 weeks... but you can't possibly deliver the final in 8 weeks if they don't test and give you feedback until week 7. It would be better to deliver the first draft in 4 weeks then require them to respond in a timely manner after which you will take another 3 weeks to deliver the final. Once delivered, you need to have a deadline on acceptance testing. If you allow them a month or whatever to test and trial the system... then when they come back in 6 months with a problem... it should be at their cost to fix. That said, it is good to take pride in your work and fix genuine bugs gratis.
To run a business, you have expenses... including a wage to yourself. If you work for yourself... you have to wear the marketing hat and the accountant hat and the developer hat... so you can't possibly do a 40 hr week developing plus the other tasks. If you don't market yourself... you don't get the work. The work itself is draining and the reality of your capacity is probably less than a 40 hour week even if you could get the work on a constant feed.
So... my calculation for a beginners rate says:
A. Capacity to work = 20 hrs per week times 40 weeks a year = 800 hrs pa
B. Cost of Admin, marketing, accountancy, legal, hardware, software, rent, phone, expenses etc etc = $? (you figure)
C. The annual wage I need +10-20% to administer (depending on your local compliance regulations)
Then (B + C) / A gives you a starting point minimum hourly rate. Compare this with as many local developers and job ads you can find.
There is jargon you should know: "Agile Development". It loosely means 'pay-as-you-go'. You take on a job with a loose spec and make a guesstimate only as to the hours involved. You then begin the work and at regular intervals invoice for the work to date and provide access or send the solution to the client as a progress snapshot... allowing their input to the next iteration. This is the fairest method of development for both parties.... and generally more so for the developer as you don't go a long way down the development path on the wrong track and you make the client responsible for ongoing participation in their own project.
PSijmons said "(you cannot expect your client to pay for all the hours you are undoubtedly going to make while you become a more experienced developer)". I agree with this... The rates charged by experienced developers are based on 20+ years learning and perfecting. We also bring to each job a host of developments that we can resuse for the next client... but probably weren't fully financed by the last client either. Each new job builds on what we already have done. There is, however a necessity to be constantly upgrading your skills and each and every client should be contributing towards this at some level.
Thanks I agree, I did a database for a friend that owned a company and at the time FMtouch was out, they started having problems a few months after I finished his database using FMtouch, I emailed the company With the problems I was having it took awhile for them to answer but it did not help. Then FileMaker Go came out and I tried to get him to use FMgo but he would not switch.
He said he liked that he can have his database on is IPad and then syncing that data, the problem was the syncing process was messing up his database it would lose the relationship with other tables, it was truly a nightmare. Just recently his database reached 1000 records and FMtouch would not even load and if it did launch it would take forever to go to the next layout. Once again I tied to contact FMTouch with the problem someone contacted me and asked me to send them the database so they can have their developers look at it. Have not heard from them and I sent it to them December 7th. My experience with FMTouch has been a nightmare and what matter worst is I used their service to convert one of my databases into a IPad app that is currently in the App Store.
I discontinued my service with them as of Feb 1 because of the terrible customer support. I can't say this enough it has been a nightmare.
I finally got my friend to use FileMaker Go after I told him that my design is sound, if it works on FileMaker pro and FileMaker Go then the problem is FMtouch, I really had to put my foot down and told him I can't help him anymore if he continues to use FMtouch. He is now using FileMaker Go.
That might be a lesson in itself...
Not enough work is bad... too much work can be worse. When a business grows... so does the scale of the ups and downs.
I have over the years always been content to wait for the genuine article. There were plugins I avoided... convinced that one day FMI would add the feature. This has been a mixture of delight and disappointment each new version release.
I have no direct experience with FMTouch but have studied the specs and seen demos etc. Their product filled an empty niche and showed a lot of innovation... but ultimately FM Go's release threatened that market, presumably, so again they innovate but under a lot more pressure... But of course it is of no concern to Burger King if they wipe out Uncle Joes Burgers in the process of opening a new store...