This is a part of the Consulting Lessons Learned series.
As a software consultant, “Consulting Agreement” and “Statement of Work” are the two main pieces of paperwork you want to have in place before you start a project.
The consulting agreement should be “standard paperwork”. While it is important, the more important and interesting piece of the puzzle that you need to put a lot of effort into is the “Statement of Work” (SoW), which is what we’ll focus on here.
Your lawyer should be able to give you a consulting agreement template, often for free. But in my experience, the clients usually push for their version of it to keep things uniform, save lawyer fees, and avoid surprises. Either should be fine as long as your lawyer reviews it. Not getting your lawyer to review your paperwork is false economy.
I’d suggest that you too read the agreement thoroughly, though you may think it is boring. You’ll be able to ask your lawyer well informed and incisive questions as a result.
Importance of SoW
If you draft the SoW well, you’ll give both you and your client a lot of clarity on what exactly to expect. This is a vital precondition to the success of the project. You can’t exceed nebulous expectations.
Our primary goal is to get clarity on requirements, payment, and schedule.
I’d suggest including at least the following sections in your SoW:
- A brief description of the project
- Architecture / Designs / Mockups
- Out of Scope
- Cost and Schedule Estimates
- Project Deliverables
- Acceptance Procedure
Build a single-page web application and backend that functions as a marketplace for various web assets of Acme Corp.
- Ruby on Rails
- Postgres, Postgraphql
Open source libraries and frameworks used must have permissive licenses such as Apache, MIT, BSD, or similar.
Browser Support: Current versions of Chrome, Firefox, and Safari. Internet Explorer: IE10 and above.
Mobile Support: Responsive design should be used to support iPhone5 sized mobile browsers (Android, iOS).
The Company shall provide the Consultant with
- design assets such as color palette and images to be used
- access to source code repositories and deployment environments
1.4 Out of Scope
Any user interface, interaction, or work flow not shown in the “1.2 Mockups” section above is strictly out of scope for this project.
2. Cost and Schedule Estimates
Consultant shall push commits to the source control repository at least twice a week.
The project as defined in “1. Requirements” is estimated at $82,000.
Consultant shall be paid $41,000 upon acceptance of this Statement of Work.
Consultant shall be paid the remaining $41,000 upon completion of the project.
Consultant shall accommodate change requests, including minor alterations, at a billing rate of $2,000 per day.
Given the Company provides the Consultant with timely access to information, tools, and other resources necessary to perform the work, the project is estimated to be delivered on July 31, 2017.
Retainer: After the delivery and acceptance of the project, the consultant shall be retained for email support of the delivered software for a fee of $10,000 per month. This retainer may be terminated by either party with a 30 day written notice. Any additional work will be billed separately.
3. Project Deliverables
- Source code of software as described in “1. Requirements“
- Documentation detailing installation and maintenance procedure
4. Acceptance Procedure
The deliverables are deemed accepted after 3 business days of delivery, unless explicitly rejected by the Company or an alternative time frame is agreed upon in writing by both parties. Rejection must specify reasons.
CEO, Acme Corp
100 Market St
San Francisco CA
CEO, Stark Consulting
100 Mission St
San Francisco CA
Retainer for Post-Delivery Support: It sets clear expectations on support. I’ve heard stories of consultants being contacted out of the blue, several years after delivery, for free fixes. However having a strict agreement in place doesn’t prevent you from delighting your clients with free fixes, if you so choose. It just makes sure your goodwill effort isn’t taken for granted. You can’t delight someone by doing something if they already feel entitled to it.
Having a good SoW helps you and your clients avoid misunderstandings and the resulting headache. It sets the stage for you to win the hearts of your clients by exceeding the expectations set by the SoW.