- going from contractor to shop = making a lot of mistakes and surviving them
defining the type of shop you are - what are you selling, what is your market?
- identify your team's strengths and go with them, but also be adaptable in case your market shrinks
- CivicActions - thought they'd be leading shop for political campaigns and candidates and nonprofits - they're a mission-driven, values-based company and choose clients accordingly. Quickly dropped notion of working for political candidates & shifted to large international nonprofits. Also use Agile project management, so they have ramped up competency around working with clients and bringing in projects on time and on budget
- figure out what you really enjoy doing and what you're good at, focus on that
Mission Statement & Business Plan
- you should have both of those early on, but those should be changeable and adaptable
- these help you create your website content, in your proposals, etc
- think about the value proposition that you bring to your clients
- do what you do best and outsource the rest - the skills necessary to build websites are not the same skills you need to run a website-building business
- Find people who fit good roles. If you're a dev, find a business person, or vice versa.
- Define roles for each partner
- Partners need to help boost each other, split tasks
- CivicActions started by 3 partners, were at 13 partners at peak, now at 9. Transitioning from LLP to C-corp. Business structure impacts liability, ability to raise capital, tax structures, and decision making structures. Need to be really clear about corporate structure, decision making, and responsibilities. Don't need to be set in stone, can rotate or swap tasks.
- Sometimes partners are more affordable than employees.
- Good idea to have a business-focused partner and a tech-focused partner.
- Have to have clear expectations for each partner - clear responsibilities, make sure they're aligned.
- Remove vs office - sometimes being remote takes too much time to communicate, for some people it works better to work together in person.
- CivicActions: intentionally remote, no office, let people live wherever they want to live. Business units or teams called "pods" will get together to sprint for a week at the beginning and ends of projects. Face time is important early on and throughout. Get together at DrupalCon, other conferences, video conferencing, phone calls
- If you're a "virtual" or distributed company, the overhead you save on rent, office, etc can be devoted to getting the team together in person
- Have people who are willing to be flexible, work across timezones, are responsible and dedicated
Bids, Juggling Projects, etc
- Advice = don't do fixed bids! Irresponsible to your shop and to your clients, especially when working with unpredictable open source.
- Juggling more and longer term engagements - you need a business person to juggle all the moving pieces internally and externally
- Balancing contributions to the community vs client work - balancing internal business dev with client work is also very difficult (building biz, website, documentation, etc)
- share back with the community - write up what you're doing, share your products, write up case studies and white papers. build personal brand.
Investors & Growth
- investors and loans? CivicActions bootstrapped the company, never took out loans or got investors. Advice: if you can't do this without capital, you might not want to do this now
- Another company did take out loans to facilitate staff growth
- CivicActions project estimating worksheet - very useful
- get advice from other shops, open source community, get advice from friends and family
- if someone's trying to pressure you into doing a fixed bid, you can give a "best estimate" range, do best to come in the middle
- educate clients so they're okay without fixed bids - provide estimates with an asterisk,
- prioritize the important pieces from the RFP first, do things in order of priority, if you hit the end of the budget it won't be such a big deal to leave the little details off
- get a lawyer, get an accountant! start out with good contracts revised by
- CivicActions doesn't employ people, they have contractors
Sales and Marketing
- create reusable templates for RFPs, Estimates, and Proposals
- demonstrate & publicize community participation and contributions - meetups, camps, local community sites, conferences
- contribute! in open source as in academia, publish or perish
- develop or claim modules or other products in desired markets (e.g. mapping, media, mobile, etc)
- make friends with the "competition"
Basic Roadblocks to Progress
- Cashflow is King! Especially once you get employees, since partners don't necessarily get on payroll.
- Get upfront money on projects. CivicActions does a monthly upfront; you can ask for half up front for the project, things like that.
- Charge finance fees on late bills
- Don't get too excited about the high points, don't get too scared about the low points
- Have a clearly defined payment schedule in proposals and contracts
- Taxes - very hard to anticipate, have to anticipate
- Accounts Receivable = what you've got invoices out for that you haven't gotten paid for yet, have to stay on top of this and do your best to collect
- SCORE - Service Corps of Retired Executives, SBA, Business Schools (sometimes they can give you interns)
- Collaborate with other shops
- Consultants email lists
- pacing growth (staff AND projects)
- speak to the shift from contractors to full-time employees
- if you don't use fixed bids, what do you tell your clients, ESPECIALLY nonprofit clients?