I am preparing a proposal for my company. I don't know how much I should budget for programming. Or how long I should plan. Finally I am not sure whether I should get one programmer or two. Now here comes the rub. At the moment I have to be a little vague. But let me outline what I am looking at and maybe someone can provide some guidance.
We need a web site developed for internal use only. Nearly all of the employees work outside the office all over the state of Texas, Colorado, Louisiana, and Pennsylvania. Who knows, we could be in New Mexico tomorrow. Everyone out there is gathering data and it is being put into multiple data bases by someone other than the one gathering it. It starts as a hand written card! Then the data is formatted and printed in a report that goes to our client. Needless to say, there is a ton of repeated data and the work is slow and there are no controls. The data is currently stored in small access databases. An empty database is copied and use for each of the projects. We are talking about 23 on my project alone. As it is now that would be 23 little databases with about 100 records each in a flat file format. I developed a relational database in Access where all of my data goes and so I don't even give it to the office. I just print the report and give it to the client and skip the disaster. The data is an abstract of a legal document. It includes about 30 fields. The data includes scanned maps and documents.
So we need a relational database that can be accessed by the employees via the internet from their various locations. There needs to be a form that is used to enter the data with built in checks to make sure the employee isn't entering something stupid. We need security. We need to be able to get a report that is printable. We also need a forum for the employees like this one. On the office side we need access to the data that the attorneys can use to make corrections to certain parts if required.
I was thinking of server side being php, mostly because I am more familiar with that than ruby or anything else. But I am not sure what should be used today. I have been out of the programming business for about 7 years now. I developed something similar for Dow Chemical a long time ago. I used access to develop the database. Employees had access to some, not all, of the data through the intranet. But I had to use asp and I didn't like it. I also had a template for the web page that was a mess of tables, and I didn't like it either. So I don't know what should be used in this case. MySQL? php, ruby, java, you tell me.
I know there isn't a lot of detail, and it is nearly impossible to write it all out. I was not thinking of getting a hard dollar quote, I was thinking of getting a programmer or two for a few months. How much do programmers make these days? Most of our employees are paid per diem, plus expenses.
We also need to have a page where employees can enter their daily billing. As it is today we email the office our billing for the previous day in the morning. It may or may not get put into a word based spread sheet (I know) by the end of the billing period. The daily report is necessary because the GIS people use it to update the project so the client can go on line and see how much he is spending up to the minute. We need to automate the process.
So here are the questions;
How do programmers usually get paid?
What should the server side be developed with?
What should I guess for time?
How do I chose a programmer?
Do independent programmers usually provide references?
Do I need more than one programmer?
Should I have specific hardware available?
How do I have proprietary control of the finished software?
As I said, this is just for a proposal to the company. It is just one of the items in my proposal. But if, and when, I get passed the pitch, I want to be able to give the president details on what I will need and how many people and for how long and a starting budget. There is no way I will give him carved in stone answers, so I'm not looking for them now. I hope you guys can help guide me to that point.
Thanks for looking.
Always happy to learn from pros.