Website Development Agreements
Flat Fee Arrangement
Website Development Agreements can often be prepared for websites on a modest flat fee basis. The fee will vary based on the simplicity or complexity of the website. Please contact us at email@example.com, by phone at 410 367 5222 or complete our Contact Form to schedule a free initial consultation a free initial consultation and to receive a quote for a flat fee to prepare a Development Agreement for your website.
Purpose and Approach
Website development agreements are in many ways similar to software development agreements. However, the agreement needs to address the various unique aspects of website development. Typically, the functional components that a website agreement needs to address are (1) development of specifications, (2) code development to implement functionality, (3) interface design, (4) integration with 3rd party systems (e.g., payment, search, database, etc.) and (5) integration with existing client systems.
Following are some of the main issues that need to be considered when preparing a website development agreement:
- Specification Development. The development of the specifications is a critical stage for several reasons. Obviously, the specifications are the description of what the customer expects to be delivered. However, the specifications are also essential for the acceptance procedures, milestone definitions, payment milestones, and warranties. Specifications may be created by the developer or the customer. The level of detail will play an important role in determining how effective the specifications are for the purposes mentioned above. In almost all cases, specifications will be a moving target. As the development progresses, there is a great likelihood that the specifications will be adjusted. A website development agreement needs to address the possibility of such adjustments so that modifications in pricing and scheduling can be efficiently agreed to so as not to impede the progress of the development.
- Development Milestones. As mentioned, the specifications will be the basis for defining development milestones. The purpose of development milestones will vary depending upon the complexity of the development. For simple development projects, there may be a single milestone, which is the delivery to the customer for acceptance testing. For more complex projects, there will be multiple milestones. Each milestone can be subject to acceptance testing or signoff. This allows the customer to monitor and confirm progress.
- Pricing and Payment Terms. Payment for website development will usually be on an hourly basis or on a fixed price basis. Fixed price allows the customer to have some certainty as to the total cost. However, changes in specifications that often occur during the development will usually result in an increase in the fixed charges. Fixed charges also lend themselves to being linked to milestones. So that as milestones are completed, payments are made, with a final payment occurring upon final acceptance. A similar objective can be achieved when charges are hourly by holding back an agreed percentage until final acceptance has occurred. There are many other pricing and payment terms that can be negotiated, including some based upon revenue sharing.
- Delay Penalties. Development schedules are often critical for websites that are looking to launch their businesses as soon as possible or based upon specific dates. Therefore, the question arises, what happens if the developer’s schedule starts slipping, what are the customer’s remedies? Of course, termination for breach may be an option, but this is rarely a good option. The goal is to have the original developer complete the job. Therefore, it may often be useful to be able to impose some penalties on the developer if deadlines are missed. However, penalties need to be carefully drafted so that they also relieve the developer of liability where the delay results from causes under the customer’s control.
- Acceptance Procedures. Acceptance procedures are the best opportunity for a customer to verify that the work has been performed correctly. They can be developed and performed jointly or by either party independently. The clearest procedure is where detailed specifications have been agreed to and the testing is designed to confirm compliance with these procedures. If there are not clear specifications, then verifying more general functionality might be an alternative approach. The customer will want latitude to determine when the acceptance procedures have been successfully completed. On the other hand, the developer is going to want objective criteria to be assured that the process will not be dragged out. Additionally, the parties need to determine what happens if the acceptance is not timely achieved, what are the correction time periods, and what are the consequences of failure to achieve acceptance.
- Change Procedures. As mentioned, specifications, even when well drafted initially, are likely to be modified during development as the customer identifies additional functionality that it wants, or the parties realize that desired functionality is not practical from a technical or financial perspective. These procedures should be designed to allow a smooth change order process that does not impede progress.
- Confidentiality. It may be very critical that the idea of a new website that is being developed be kept secret until the launch. Additionally, business and technical information regarding strategies, long range plans, potential partners, etc. may be valuable to either party. The best way to protect confidential information disclosed during development and relating to either party’s business in through non-disclosure provisions.
- Non-Competition. During development, the developer might learn critical information that would allow it to either compete with the customer or assist a third party to develop a competitive website. Non-competition provisions can help prevent this occurrence. However, since non-competition restrictions are not favored by courts, these provisions need to be carefully drafted to make sure they are enforceable.
- Ownership. The components of a website may come from various sources and therefore it is important to clarify which party owns which components. The work that a developer specifically develops for a website might be unique. In such a case, the customer may want to own the rights to such development. On the other hand, the developer may see opportunities to reuse this development for other customers. Therefore, these competing interests need to be resolved during negotiations.
- Warranties. Warranties will need to cover a variety of critical issues such as (1) quality of work, (2) conformance with specifications, (3) verify that all rights can be transferred to the customer, (4) verify that no viruses or disabling code are included in the development, and (5) confirm that the development will not infringe any 3rd party’s intellectual property rights.
- Indemnifications. Both the developer and the customer can face liability from a variety of sources based upon the other party’s actions. Therefore, it is important that each party indemnify the other party against such liability. Liability can arise from causes such as (1) intellectual property infringement, (2) property damage, (3) employment tax and benefits, (4) development defects/malfunctions and (5) failure to comply with applicable laws.