|
Many ISVs do consulting work or take on contract
jobs. Unfortunately, many developers that enter
into contract programming fail to put safeguards
in place to insure that the job will proceed smoothly.
It is important that expectations be clearly defined
and understood by all parties involved. With that
in mind, when drafting any such agreement, you
should...
Outline The Service
Detail the scope of the programming job. The
agreement should include detailed information
that defines the expectations of all parties involved
in the contract programming job.
Detail The Approval Process
It is important that benchmarks are established
and agreed to, so that everyone stays on the same
page. It is best to discover differences in expectations
early in the process, and planned and documented
benchmarks will help everyone know what those
expectations are.
Sign-Off Requirements
The person or persons authorized to sign-off
on the project or benchmark also needs to be made
clear to everyone involved. The decision-makers
need to be clearly outlined. If management has
the only sign-off authority, that fact should
be documented in the agreement.
Milestones
Payment or partial payments can often be based
on the approved completion of milestones or benchmarks
that are built into the software or programming
job. Structuring partial payments based on progress
milestones means that the developer is not "on
the hook" until the final completion of the project.
They can break the project into smaller jobs,
and receive partial payment as they complete each
segment.
Timelines And Deadlines
The dreaded deadlines often haunt contract programmers,
but it is important for people to have an idea
regarding how long projects are expected to take.
Outline the anticipated amount of time that the
various segments of the job (such as programming,
Q&A, testing, bug fixes, etc) are expected to
take along the way.
Copyrights
Clearly discuss and document who will own the
final product or who it will be licensed to. Will
the source code be passed along or not? Who owns
the rights to sell the software? Essentially,
determine who will own the source code and whether
any parts of the source code can be re-used in
other projects.
Developers can often supplement their income
by doing contract programming. This can be a great
source of additional revenue when properly structured.
Make sure you take the time to detail the plan
before your begin.
Related Articles:
Software
Business Automation
How to Conduct
an Effective Beta Test
How to
Offer Paid Support Options
How
to Reproduce Customer Problems
|