
|
View Full Version : question to programmers who make scripts for people
matt2kjones 11-09-2002, 04:14 PM Ok im just wondering, do you tend to rush, or spend time on the script until your happy, or really go over the top with little things to make it a really good script.
I have been doing php for a while now but i have started doing scripts for people. Today i was writting an installer for a script i was making.
and basically, the user types in their database host, username password and a database to use. The user also types in a username and password that they want to use for the script (as it has a login)
and then the installer will check all the fields have been typed in, then it checks if it can connect to the db host, and then checks to see if the database exists and if if does, it selects it, then it goes on to makeing all the table and that.
It lets the user know if it has any problems along the way, and a possible reason why. It also totals up the number of errors the installer has encoutered.
if it completes with 0 errors, the script then writes a config file to their server, which holds the username, password, database to use and database host.
The script then says it has installed sucessfully (if it has) and then user is then told to delete the install.php file (the file that installs the script)
The script is then installed.
Im just curious here. But do all of you do simular things like this for your clients? or do u just give them a plain old .sql file to run from phpmyadmin or simular database management software?
I personally like to make installers like the one i just describes since i know i have put allot of effort into making the end user do as little as possible to get everything up and running.
Well im only 17, and like i said, im new to making scripts for people other than me, so im just wondering if its pretty standard to make installers and that.
Thanx
MarkIL 11-09-2002, 04:28 PM Your Prime Directive is to make the client happy.
If it means checking for every possible condition the script may encounter, then by all means, do it -- but only if the client wants it.
Your post is an example of what should be done: extensive error checking, with verbose error messages and fallbacks.
What you should never do is rush things. If this means taking a few more hours to make the script work in the best way it possibly can, then it should be done. If you rush things, you'll probably encounter a problem, bug, typo, etc -- which will result in extra time spent on the product.
The bottom line is: invest as much time as needed to make sure that your product is working correctly, handles errors gracefully and doesn't make the client jump through hoops just to complete a simple task.
I hope this was clear... I'm tired :)
matt2kjones 11-09-2002, 04:40 PM ok, because im makeing a product review script for a person, and i have made an install for it, (the one i explained above). Since im new to making scripts for people (been using php for a while for myself) im charging relativly cheap prices.
Basically, im makeing a product reviews script for this person, with the installer i mentioned above, for $65. Do you think that is reasonable?
MarkIL 11-09-2002, 05:22 PM I think the price is a little low, but since you said that you're just a beginner, then its acceptable.
I could give you a more accurate estimate if I saw the specification for the script and had more details regarding the timeframe and other requirements.
Rich2k 11-09-2002, 07:53 PM One of the key things is to write or get a specification so you can program to that i.e. find out EXACTLY what they want it to do.
I don't tend to write scripts individually (unless specifically contracted to do so) I tend to design entire sites. Although I spend a lot of my own time writing my own content management system and database schema to make it much quicker to deloy a new site.
Bulldog 11-10-2002, 06:50 PM Simple as this, give the client what they want based on the terms dictated in the contract.
iSPtek 11-10-2002, 07:01 PM matt2kjones, I think you are going about this in the right way
If you are just starting you need build a good reputation and the little things can make a difference
Satisfying the contract will make the customer happy, adding the little extras they weren't expecting can make them delighted and a good reference point for future work.
Acronym BOY 11-10-2002, 07:22 PM Originally posted by iSPtek
Satisfying the contract will make the customer happy, adding the little extras they weren't expecting can make them delighted and a good reference point for future work.
This can (and I have seen it) come back to bite you in the ass.
A guy I know did all the little extra things, and he was always refered by way of mouth. He was refered to a company and they drew up the normal contract and agreed up on. When the work was done, he did all the little extra things except one. Only problem is the company was expecting it to be done.
They refused to pay, he refused to hand over the rest of the finished work, and he lost 3 months worth of pay over it. All becuase a previous customer said he did WXYZ extra and this time he only did WYZ extra. And even though he went above and beyond the contract, they assumed.
Did he make a mistake? No. Did he learn a lesson? Yes, do the exact same for each customer.
Bulldog 11-10-2002, 08:32 PM Absolutely A. BOY, I've done some pretty large contract jobs in my time (from General Electric down) and as a rule of thumb you don't add "extras".
Why not? Simple ... if it's not requested then they either don't want/need it or didn't think of it.
Hey you're right, they MIGHT like it ... but they might not and won't you look like a fool when you lose money over something that was beyond what the contract dictated.
sasha 11-10-2002, 10:08 PM Agrreed. Simple thing like adding extra color to the text can result in: Could we have color for this and that, but they would not like to pay more. Client is happy when they receive what they requested and everything works.
Advice: stick with specifications, add extras at your own risk, and if you do, make sure that they do understand what is an EXTRA.
Regarding installers, i suggest do not bother. Install the scripts yourself and charge for service. If they manage to screw up installation, you just set yourself up for failure.
Bulldog 11-10-2002, 10:46 PM I agree with Sasha, an installation script is pointless.
I include it in my fees and if they need it again then they get charged again.
refcom 11-11-2002, 01:04 AM I wouldn't personally write an installer script unless this was for mass-distribution. With the time you take to write the installer you could have just installed it yourself.
As for contracts - make sure you get every detail hammered out first. We had a customer who almost changed the whole database layout every week, causing a one-week project to drag on for over a year. We let him do the change the first time, just out of good-will. However, because we let it happen once without extra costs, it just kept happening. In the end, we only got to keep his deposit because he had no intention to pay (even though everything was done way beyond the initial agreement) and we had no intention to go to court over $3,000. Fortunatley, we had that 50% deposit.
Don't add little features and extras until the project is totally finished. Once done to specs, you can go back in and say "BTW - it would really help this project out if you added these features: ....... " Include a quote to add those features/extras, and another contract to be signed as well.
Always require a deposit. When you are a beginner, it might be tough to ask for this - when you start to deal with something that takes an investment of over 5 full days work on your part though, a deposit is mandatory to ensure you aren't going to be losing your time.
As-is comments, sorry if I rambled - Late night can't sleep.
iSPtek 11-11-2002, 05:56 AM if it's not requested then they either don't want/need it or didn't think of it.
Usually you will find that until development is started there are things which the customer has not even thought of and only in developing the software does this come to light.
As for contracts yes you should do exactly whats in the contract, part of which should be a development plan and the ability for both sides to add/delete or edit this plan if agreement is reached on a new or not needed part of the program. A simple update of the development plan then covers all, those who do not use a written development plan as part of the contract are looking for trouble anyway. It should be at this stage that a developer suggests improvements or additions to a customers project.
Most customers are looking for a developer who can not only carry out their instructions but add value by being more knowledgable about the development of project.
I have yet to find a customer who can write a brief for a project (small scale) that can be executed without change or suggestions.
Bulldog 11-11-2002, 12:14 PM Changing and suggestions being implemented are part of the development process, without doubt.
When you say "extras" what comes to my mind is not what the client desires to make an application functional to them but beyond that.
Which returns to my core argument of "sure they make like it, but hey ... they might not"
... and since they didn't request this extra of yours the best case is taking the time to remove a component that you spent the time to program and a worst case is a breach of contract.
iSPtek 11-11-2002, 01:22 PM certainly adding functions without informing the client and then delivering would be wrong, but not what I am suggesting, what I am saying is that the developer can and should make suggestions of additions to the client which are extra to what the client has defined. If he doesn't want them then ok, but at no point would I as a developer just drop something on a client and as a customer I wouldn't want any surprises either.
ServerCorps 11-11-2002, 01:28 PM I tend to add lots of internal "extra's" that keep callbacks from draining any initial profit. These are usually in the way of validation and error handling that go way above what the customer would expect, even if they specified error handling in the contract. You can't be held up for these "extras" because your claim is that these are your standard error handling routines, not "extras". You'll then become known by rock-freakin'-solid scripts that never break or branch inappropriately.
And you'll be paid much more money.
jtrovato 11-11-2002, 02:26 PM How about this question??????
When making a client happy how much do you charge them??? I have spent about 4 months on this project.
A complete content management system for their company. The company is an event planning company here in NY and they do large corp events all over manahattan.
It keeps track of all leads, clients, events, employees, hours, notes, activity, etc. You name it it does it, reports and so on
I still in the process of programming it, and when new features are available I mark them to go live.
I was thinking around $3000 for the whole project and then charging a monthly fee for upgrades and database management. In addition to my hosting cost.
Where can I find what "designers" charge for their services...
Thanks for any input
John
Bulldog 11-11-2002, 02:56 PM I charge a flat fee for the project.
Any work after what is specified on the contract I charge per hour.
Contracts with cities are by far the most profitable and I've routinely fetched hourly fees of 600$+
|