Before starting my law practice I ran a consulting programming business for many years. Since starting my practice I've assisted a number of web development agencies (and independent programmers) get off the ground/upgrade their contracting processes.

A rough overview to starting a web development/digital marketing agency:

0. Get accounting advice

1. Incorporate a federal company (or perhaps set up a partnership but this is less common)

2. Issue shares in the company to the partners and ensure the appropriate people are directors

3. The partners should have a shareholders' agreement in place and/or vesting agreements

4. Ensure contracts are in place with everyone who will be doing work (including subcontractors). IP assignment, confidentiality and method of billing (hourly or milestone-based) are important considerations.

5. Design a Master Services Agreement (MSA) that sets out the framework for contracts

6. Create a Statement of Work (SOW) for the main kinds of work (these form an integrated whole with the MSA)

7. Develop a workflow for proposal -> MSA -> SOW -> invoice -> payment. Beware of “scope creep”.

8. Improve contracts and processes over time as experience develops and budget dictates (i.e. don't spend too much on lawyers/accountants at the beginning)

Starting an agency business, even with several partners, doesn't have to be expensive. It should not cost more than $2500 to complete all of the above steps (and with the right lawyer, it should be under $2000).