WEBSITE DEVELOPMENT AGREEMENTS
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.
Key
Provisions
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.
Website Development Agreements
William S. Galkin
Attorney at Law
6 Reservoir Circle, Suite 102
Baltimore, Maryland 21208
tel 410 484 2500 fax 443 378 7172
William S. Galkin
Attorney at Law
Internet Law
Computer Technology Law
New Media Law
6 Reservoir Circle, Suite 102, Baltimore, Maryland 21208