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
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).