Forum Moderators: LifeinAsia
Now my client wants to find another programmer to finish the job, and we need to decide together how much is left to be finished, or if they will have to recreate the database from scratch.
The client wants ftp access so his programmers can determine where we are at. However, I don't think that is a wise business move, as the could simply download the files. Although he is an associate of mine, business is business, and I always take all precautions.
Is there a way to allow FTP access and just let them view the files, and not be able to download them or copy them?
Also, I sent them the database files so they could view them. Was that a wise business move?
I'd like to think that having a 3rd party programmer look at the site and determine how much has been completed would be the best resolution, however, each programmer I speak to has a differing opinion on how things should be fixed.
Please advise.
Giving FTP access means you give them access to download the files. Even if you gave them direct access to the server (ick!) and somehow only allowed them to read the files, they could still save them to their hard drive. Unless you have them come to your office and do all the work. If you DO allow FTP access, I suggest just giving them read access- don't allow them to upload anything to your server.
For the DB, it really depends on what's in the data. Does it contain any proprietary or confidential information (customer names, addresses, e-mail addresses, credit card info)? It would have been best if you could have given them some test data instead of the full set of data (although that's not always practical).
No matter what, you should have had anyone you gave this to sign an NDA before seeing anything.
Does any part of the site work, or is it all a work in prgress? If some is working, your best bet is to probably show the potential programmers the site, let them know what your desired end result is, and have them give you a very rough estimate of what's needed to finish the job as well as an estimate to start over from scratch if the old code is beyond hope.
While your client MIGHT have somebody type-in the code, it's a lot less likely than if you hand him machine-readable files.
Or, as somebody else has suggested, allow them to review the code at your facility. (This is something that I have done on a couple of occasions, when deciding to accept a contract assignment or not. i.e. sit there for a couple of hours reviewing code on-screen.)
No, there's no way to give them FTP accept and only allow them to "look at" the code.
If I read this correctly, you've failed your job. You can blame the programmers that you hired, but ultimately it was your responsibility to find somebody who could do the job. (Certainly, I don't know the details of your agreement, so my apologies if I am misinterpreting.) If I were your client, I certainly wouldn't accept an excuse that the programmers were incompetant.
Under the circumstances, I think you're being awfully picky, and too worried about the possibility of your client "stealing" incomlete code. If you are concerned about third-party programmers, then certainly ask them to execute an NDA first - to protect both you and your client.
I'd be more concerned about being VERY cooperative and avoiding litigation than I would be about preserving your rights (or being paid for) what you couldn't deliver.
Do you honestly expect to BE PAID and/or retain rights to the incomplete site? That seems insane.
The most valuable thing in this situation for you is the lesson(s) learned. But apparently not yet learned?
One of those lessons is that if you hire programmers, you darn well better have enough knowledge/experience yourself to evaluate their competency. That doesn't mean that you need to be a programmer or have programming background (though it helps). But if not, you at least need experience, connections, and a good built-in BS filter.
I'd like to think that having a 3rd party programmer look at the site and determine how much has been completed
My. What a mess you're in. :-( Let me give you one insight to programming: in an office situation, multiple programmers have to support each other and work together or everyone gets fired. In a collaborative project, it's quite often the case a project will stall or die completely because one will competing against another. Even if they try to work together, people think differently. The best course of logic to one is a completely different course to another, and one programmer has to relearn the thinking of the other to work with each other's code. It makes the task at hand LARGER.
Now you want to bring in a third. Can you guess what the third will tell you?
Your client just wants the job done and wants to know what he's paid for and wants to see it him/herself. You can't blame them, especially if it's long overdue. If you've been paid for work to this point they have that right and I'd let them. If not, then yes, have them pay up to "now" and then let them at it.
however, each programmer I speak to has a differing opinion on how things should be fixed
That's perfectly normal. And they all may be right.
There is seldom a single "correct" solution. In some cases, what might be "right" is what is "right" for a particular programmer - that is, it is a solution that they can implement with their skill set. A different programmer, with a different skill set, may do it a different way. In many cases, either solution might be equally good.
That does point-out, as a previous poster mentioned - how important it is to pick a leader for any multiple-person project. In most cases, others won't have a problem following the lead, even if it isn't the approach they personally would take. But - don't pick a lead, and you will have chaos.
I have a project that has not gone as planned. Both designer/programmers that I have used on this project (first one, then the other), have not had the knowledge to complete the site, even though they said that they did have the knowledge.
I think these lines tell you all, you are at 10% or maybe 20% of the project. More than half of the projects I have been on in the last ten years were projects that couldn't be completed by the previous programmers for several reasons. In almost all the situations the project manager claimed the project was already finished for 80%, leaving only 20% for me to do. Truth is always different and I just laugh at those statements.
If the people working on the fundamentals of the project didn't have the knowledge they needed--according to your own statements--they made basic structural errors. Structural errors that are now at the end of the project causing the project completion to fail. The problem is not in the last percentage of the project that must be completed, the problem is in the completed part where structural problems make a completion impossible.
My experience is that starting at zero is faster, gives cleaner and faster software and less bugs to fix in the end than trying to find other programmers who want to complete a piece of spaghetti created by others.
what if I copy and paste each file of the code into a Word doc, create a PDF out of each doc
Since you can copy content from a PDF file, these steps accomplish nothing - you might as well email the code directly.
Are your programmers in the same legal jurisdiction as you are? Are your programmers the kind of professional people who will respect an NDA?
what if I copy and paste each file of the code into a Word doc, create a PDF out of each doc
You will go crazy maintaining the formatting, waste a lot of time, and, as somebody else pointed-out, accomplish nothing, since the code can just be copy-and-pasted out of the PDF file.
A more useful exercise would be to step back and ask yourself how you expect to manage development of web sites with so little technical knowledge. That is what got you in this mess in the first place.
Either educate yourself, or hire somebody who can manage it for you.
I have a lot more sympathy for those building their own websites with insufficient knowledge, and I'm more than willing to help them to learn the skills they need. They may make some goofs along the way, but at least they are at their own expense.
When you take on the task of building somebody ELSE's website, though, there's a responsibility to only do it if you know what you are doing.
It seems to me you are guilty of exactly the same thing you say the programmers are.
I am not trying to be mean - just honest.
BTW, lammert's advise is excellent. You will have to seriously consider whether there is any code worth saving. It's not so much that the CODE might be bad, but the architecture might be bad. (OK, if the architecture is bad, I'd bet the code is bad too... but code can be easily fixed piecemeal. Architecture - not so easy.)
however, each programmer I speak to has a differing opinion on how things should be fixed
Thats normal, there probabaly are several ways to proceed.
If you agree a simple user acceptance test (UAT) early, you can use it to quickly determine %age complete. You can use a simple ticklist of features.
I always determine completion from a users/clients perspective not a programmers, its the only true measure.