Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Doing contract programming...

Options
  • 17-12-2006 11:52pm
    #1
    Closed Accounts Posts: 4,943 ✭✭✭


    Basically, i've been contacted by a fairly large company who want to contract me to write some code for them. Now, we've been discussing exactly what it is they want and it's all documented in emails and whatnot. So the specs of what they want are pretty well detailed out.

    The problem is this. I sent them my quote earlier today along with an ETA for completion. Assuming they say "deadly, go right ahead, sounds good to us", what should i be getting written and signed to make sure that i get paid. While i would trust that i'd get paid, is there anything in particular i should be asking for, other than a contract signed by both them and me.

    Are there any conditions i should mention to them etc. I just want to make sure that i get it right ;) Needless to say i hold all rights to the code until i've been paid in full, that has been spelt out. So worst case scenario and they don't pay me, i sue them if they use the code ;)


Comments

  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    A final agreed payment date would be a good plan.


  • Closed Accounts Posts: 4,943 ✭✭✭Mutant_Fruit


    The plan is that once i complete the code and submit it to them, they get 1 week to validate. If no issues are raised during the validation period, the code should be deemed accepted and payment will be issued within 10 working days. If issues are found that require fixing, the'll be dealt with and the code will be resubmitted with a validation period of 2 days and so on. That's what i've suggested.


  • Registered Users Posts: 21,257 ✭✭✭✭Eoin


    May be no harm to have them sign off on the functional requirements / what exactly you have agreed that the code will do before you start development. Any enhancements or changes after that can either be looked at during a subsequent release, or you can price extending the development time if this is what required.

    If the code you are writing for them requires any user interaction, then document the procedure, and have them sign off on this beforehand so there are no surprises when it comes to user acceptance testing.


  • Registered Users Posts: 1,193 ✭✭✭liamo


    Staged payments, with agreed amounts paid upon reaching certain milestones, mean that you don't have to live on the breadline until you finish the project and get paid.

    The idea of developing an application with no payments at all until the customer decides that it's a perfect fit just doesn't sit well with me at all. That kind of situation almost invites the customer to ask for additional work, over and above the agreed spec. They hold all the cards at that point.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    I'd echo most of the recommendations here. One observation though is that I would not use the term contractor. A contractor is in common usage, for good or ill, someone who is essentially a self-employed employee. A more correct term is consultant or even supplier.

    I would recommend a staged payment system. There are various options, however I would suggest a 40/40/20 model - that is:
    • 40% upon exchange of contracts, zero days credit (i.e. when you get a green light on the spec and a purchase order number)
    • 40% upon delivery of the project, thirty days credit. In this you need to have a spec or perhaps more correctly a deliverables document. Itemise each deliverable of the project and number each of these (if there's disagreement later being able to cite "section 2.3.4" rather than "the third bullet from the bottom on page six" will save you a lot of email writing). Anything that is not included in the above is not part of your quote and should be treated as a change request.
    • 20% following user acceptance testing, thirty days credit. This is a period of grace that allows the client to use / test the application and report issues they discover. Again, if it does not follow the functionality described in the deliverables document it should be treated as a change request. Also after this period (say three calendar months) if they find any additional issues then they also should be treated as change requests - this overcomes the tendency of clients to assume that because you wrote something you're also tied into a free and indefinite service level agreement with them. If they want a service level agreement, btw, that's a whole other pricing model.
    None of the figures above should be taken as gospel - different consultants are comfortable with different models. Neither should you be too draconian in their implementation as there is inevitable give and take (and subsequent good will) in any client relationship. However it will eliminate a good few of the problems that inevitably will take place alongside the miscommunications and expectations between both you and your client.

    HTH


  • Advertisement
  • Closed Accounts Posts: 198 ✭✭sh_o


    If it is a fairly large company, I would be surprised if they do not get you to sign a 'standard' software development agreement or a contract for services agreement depending on what exactly you will be doing.

    If they have not asked you to sign such an agreement on their own paper, that may suggest that they do not have much experience with getting software written externally so proceed with caution. A staged payment agreement as suggested above with defined milestones could avoid feature creep and you being stuck over a barrel without payment and an ever growing project.


  • Moderators, Politics Moderators Posts: 39,821 Mod ✭✭✭✭Seth Brundle


    Not quite relevant to your Q. but many (larger?) companys will require some kind of non disclosure agreement where you cannot reveal details of them or their software app to anyone else. If this is the case then be careful if asking for help online.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    kbannon wrote:
    Not quite relevant to your Q. but many (larger?) companys will require some kind of non disclosure agreement where you cannot reveal details of them or their software app to anyone else. If this is the case then be careful if asking for help online.
    Thant's only relevant if he discusses the software itself or perhaps even names the company. The OP's question is entirely generic and the responses that have been given are relevant to any development project, be it a Web site, a CRM system or an accounts package.


  • Moderators, Politics Moderators Posts: 39,821 Mod ✭✭✭✭Seth Brundle


    @TC - not necessarily - I am frequently given FTP details or parts/all of an app to debug/etc.


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    I'd recommend try doing a search for "The Corinthian" in this forum as well as apart from the good posts above he has written some other good stuff in relation to contracting. (should be faq'ed tbh)


  • Advertisement
  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    kbannon wrote:
    @TC - not necessarily - I am frequently given FTP details or parts/all of an app to debug/etc.

    As The Corinthian said that's not really relevant to the question. He didn't give FTP details or even a company name. He just asked for general advice on billing and Ts & Cs. Nothing confidential was disclosed.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    As an addendum, there are other things to look out for when giving any estimate. I've already touched on SLA's and how this is often overlooked by both consultants and clients, however other areas that should be considered are training (if a client wants you to come in for two hours to show them how to use their new content management system to their Web site, that's still two hours of billable time), expenses (hosting, licenses, etc) and documentation (user manuals, technical architecture, etc.).

    I should also have pointed out, just to be clear, that the initial exchange of contracts should include the deliverables document.

    Finally, I'd also mention that all of this can be overkill for small projects - if the value of the contract is under €1,000, for example, I'd probably not bother with much if any of the above.


  • Closed Accounts Posts: 4,943 ✭✭✭Mutant_Fruit


    other areas that should be considered are training (if a client wants you to come in for two hours to show them how to use their new content management system to their Web site, that's still two hours of billable time), expenses (hosting, licenses, etc) and documentation
    Already factored in. They requested detailed documentation and NUnit tests, so i added time in to accommodate those.

    There have been a few points mentioned here which i haven't dealt with explicitly, so i'll get those hammered out before things get signed. I expect to receive a contract off them over the next few days detailing everything, so i'll be back to bother ye if i have any more questions.

    Thanks for the tips.


  • Moderators, Politics Moderators Posts: 39,821 Mod ✭✭✭✭Seth Brundle


    Evil Phil wrote:
    As The Corinthian said that's not really relevant to the question. He didn't give FTP details or even a company name. He just asked for general advice on billing and Ts & Cs. Nothing confidential was disclosed.
    Im aware of that and that is why i started my first post with "Not quite relevant to your Q.".
    I merely thought it could be helpful if the OP was thinking of doing out some form of contract!


  • Closed Accounts Posts: 198 ✭✭sh_o


    kbannon wrote:
    Im aware of that and that is why i started my first post with "Not quite relevant to your Q.".
    I merely thought it could be helpful if the OP was thinking of doing out some form of contract!

    You can be certain that in any standard contract there will (or at least should) be a confidentiality clause


Advertisement