Programming costs - need some assistance
Hi guys,
Firstly, I know this isn't game development related, but I trust you guys more than anyone else to give me the right info on this.
I used to work for a Electromagnet manufacturing company a few years back as the design engineer. The equipment and software available for the design of the electromagnetic coils were really terrible, and gave false data. I was using game maker extensively at the time, and I felt comfortable to write my own coil design software to use at the company. Over the months and years working for them, I did several updates and upgrades untill the point were I moved on to different opertunities.
Now, they have asked me to make a preposal on re-writing the program and update it with a few new features and further improve on its accuracy. Effectively they want me to re-write it from scratch using a common language like C# or similar.
My questions are thus:
What software would you suggest I use. I mainly want the client to select the type of magnet casing, and input general dimensions for the magnet casing and the wire may be selectable from a drop down menu, and the results given on a seperate printable page they can use for the manufacturing process. I was thinking of using Visual studio express 2012 and use C# to make a windows application and learn as I go.
The second question is what should a charge them for this piece of software? I will be giving them full rights to the software, the sole ownership. So the source code will be handed over, and I will agree not to sell this piece of software to any rival companies. It's going to be very much tailor made. The programming itself and the algorithms are the easy part, as I have already done that in Game maker, and its a matter of syntax. As I have NO idee what a programmer charges per hour or per project I turn to you all for assistance.
Thanks in advance.
Firstly, I know this isn't game development related, but I trust you guys more than anyone else to give me the right info on this.
I used to work for a Electromagnet manufacturing company a few years back as the design engineer. The equipment and software available for the design of the electromagnetic coils were really terrible, and gave false data. I was using game maker extensively at the time, and I felt comfortable to write my own coil design software to use at the company. Over the months and years working for them, I did several updates and upgrades untill the point were I moved on to different opertunities.
Now, they have asked me to make a preposal on re-writing the program and update it with a few new features and further improve on its accuracy. Effectively they want me to re-write it from scratch using a common language like C# or similar.
My questions are thus:
What software would you suggest I use. I mainly want the client to select the type of magnet casing, and input general dimensions for the magnet casing and the wire may be selectable from a drop down menu, and the results given on a seperate printable page they can use for the manufacturing process. I was thinking of using Visual studio express 2012 and use C# to make a windows application and learn as I go.
The second question is what should a charge them for this piece of software? I will be giving them full rights to the software, the sole ownership. So the source code will be handed over, and I will agree not to sell this piece of software to any rival companies. It's going to be very much tailor made. The programming itself and the algorithms are the easy part, as I have already done that in Game maker, and its a matter of syntax. As I have NO idee what a programmer charges per hour or per project I turn to you all for assistance.
Thanks in advance.
Comments
GameMaker is similar to JavaScript which is not Java and you'd be better off in the long run switching to C# if you're thinking of eventually using Unity3D. As you've already stated there's Visual Studio Express which is free since you've already got the problems solved in GM it's just a matter of learning the syntax and moving to an event-based system as supposed to a game-loop.
This is an exciting opportunity and I would initially offer an unbelievable price to see if they bite. The last thing you want is to under sell yourself and you can also negotiate down.
So I guess a Fair amount of hours is then 32 - 40 hours. I previously charged this company R335 / hour for training one of the new employees. If I use that rate and use the 40 Hours it equals R13 400.00 ex VAT
That does seem a bit much to me though. I think a reasonable amount would be R10 000.00 ? I mean I do learn a new language, get some experience on my belt, and help out an old employer? Or am I selling myself short?
On the issue of the language, I think its settled on C#. Want to learn it for future projects and Windows 8 apps and so forth.
There's also no need to be "fair" in business. You can make the good presumption that they'll always try to negotiate you down hence you inflate your price. If they accept your price at initial offering then win! Part of the cost of a project is the R&D into technologies and tools to make it possible so you should definite include that in the price. Don't forget weekends are also time-and-a-half, if you're not working on this during the week you need to charge more because you're going to give up your free time and what happens when a commitment requires you somewhere on a weekend?
Seriously, think about about how much money over the years they're going to make using your product. You can definitely start at R100 000 I think and go down if they're not happy.
Don't underestimate the amount of time it's going to take you to get into the language and later to debug the little idiosyncrasies that pop up. I'd multiply your time estimate by 1.5 to be safe and then factor in that you're talking about weekend time here. At that point R25k doesn't seem that expensive, plus if you were a contractor and this is what you did for a living, you'd have to add in your lead-time cost between jobs as well, so you'd be looking at R35k quite easily.
Remember that they came to you because you already understand this stuff, they'd pay a ton more going to anyone else, so find out what their upper ceiling is and charge them a little more than that ;) Don't assume that you owe them anything, they can always say no thanks and go back to the other thing you wrote.
Guys so I sent them a proposal. It came down to the following:
1. Initial project establishment meeting, that will finalize the required features and functionality requried, and general layout of the software and such. At this meeting if any additional "Programming hours" is required above what is quoted, a variation order will be arranged for the additional work.
2. 70 Hours programming included. At a rate of R350.00 per hour.
3. Site commisioning and training on the software. Basically a single day trip, were I install the program, and we test run it through a few sets of magnet designs with the client.
The grand total came to R30 500.00 Excl. VAT.
I also set out the following payment terms.
25% deposit
25% at completion of BETA testing phase
50% on commisioning
And gave a 3month delivery from date of purchase order recieved.
The customer spoke to me, and explained that he has no problem with the pricing, but they now have to motivate it internally and budget accordingly. Will have to see if they go ahead and place an order on me.
Will keep you guys posted and thanks for all the advice.
I want to stress something though, get something (other than your proposal) in writing! Hopefully you'll never need to rely on it, but you'll want something that (at a minimum) covers:
What happens of you are late in delivering
What happens if they are late paying you
When BETA is considered close
What happens if your 1 Day testing is insufficient
How will disputes be handled
Clarification on IP ownership (verbal agreements are insufficient to cede copyright)
How changes will be handled/How you'll handle a change in scope
Well done on the 25% up front clause. I totally forgot to mention that - it's a very strong wheat-from-chaff separator: If people aren't willing to pay some of the cost up front, they're probably going to try and not pay you anything at the end either.