Thanks to Josh Eaton, I recently discovered git clean. This command came up because I had somehow created a rogue file in the root directory of a site I was working on (I’m not even sure how it got there), but couldn’t figure out how to delete it, due to its odd name: Josh helpfully suggested that I try using git clean, which worked!
Basically, git clean removes any “untracked files” from the working tree. That is, it removes any files you haven’t already told Git about (e.g. via git add [files]). This was useful in my case because I couldn’t easily delete the file otherwise, but it could also come in handy if you started experimenting with some new work, especially if that work were in several different new files, that you hadn’t already started tracking yet.
Warning: this will delete files, so be careful! In my case, just running git clean by itself did nothing, resulting in the error message
fatal: clean.requireForce defaults to true and neither -i, -n nor -f given; refusing to clean
However, just to be sure, you should always run git clean --dry-run first, which will show you what would be removed if you ran it with the -f or –force flag. You can also perform an interactive clean; see the linked documentation for more information.
In my last post, I talked about the relative value of setting up systems versus setting goals. Basically, the argument is that if you set goals but don’t set up systems, you might not get anywhere. However, if you set up systems, but don’t have a concrete goal in mind, you can still make forward progress. (The idea behind this and the motivation for that post comes from James Clear, who goes into more detail on the concept)
With that in mind, I want to share some ideas for systems you could set up for yourself and your business, based on what I’m doing in 2014. This assume you’re some kind of freelancer/consultant doing design/development/marketing type work, but these same ideas could easily be applied to other types of businesses and people in other situations. Need help applying them to your situation? Email me and just ask – I read and reply to every email I get from readers.
On to the systems!
Set up a system for regular writing
It’s no secret that writingregularly can have a huge impact on your business. What might not be obvious is all the different ways it can benefit you.
1. More traffic to your site
Google loves fresh content, and the more fresh content you post, the more search traffic you’ll get to your site. This is definitely a long-term benefit; don’t expect stunning results overnight. However, if you stick with it, the results can be very impressive (and impactful).
2. Build an audience
What should you do with all that traffic you get? Build an audience, of course. Don’t just give people to read and no way to stay connected to you: ask them to sign up for your email list (while offering them something of value, of course), then **help them** by sending them useful information often. Later on (or now, if you’re ready), when you have something to sell, you’ll have a (hopefully large) group of people who care about what you have to say and trust you, and who will thus be hot leads for whatever you’re selling.
3. Become a better communicator (and look more professional)
Have you ever received an email from someone that was poorly written? Was your first reaction that this person must be a well organized person who has great attention to detail and who would be wonderful to work with? Probably not. Fair or not, you’re judged by your writing when it comes to the web and email. Better writers are able to communicate faster, more clearly, and come across as much more professional (and thus valuable). Want to get better? Just start writing. I hunted ducks a lot growing up, and we always joked that with a new shotgun you had to “get all the misses out” – it was our silly excuse for missing an easy shot. However, in writing, there’s an element of truth there – you won’t get the bad writing out of the way until you get it out on the page. The only way to improve is to practice.
Set up a system to ask for referrals
This is something I’ve done a terrible job of in the past, but no more. Our business is almost entirely built on referrals, and yet we’ve done nothing to maximize that stream of leads. Starting this year, we’ll be contacting a past client every week (until we’ve exhausted our past client list) to ask for a referral (and something else; see #3). We also recently added to our processes a calendar event that reminds us to follow up a few weeks after a project conclusion to make sure the client is happy with everything and to ask for referrals (after we make sure they’re happy!).
Please don’t be like us and wait until you haven’t talked to a client in months to ask for a referral. Instead, check in with them a few weeks after a project’s completion, make sure they’re happy with the results, and ask for the referral. The added benefit here is that sometimes, you’ll find out they were happy with your work, and have been thinking about asking you to do some more stuff they don’t have time for, and your call was just the nudge they needed to hire you again.
Set up a system to build up a new stream of revenue
Maybe you’re trucking along just fine with your current business model and are happy with your income level. If so, that’s great! But maybe you’re like us, and you want to both grow your revenue, and have more predictable & stable monthly revenue numbers as well. We’ve found that one-off web projects, while something we’re great at, can be frustrating. We pride ourselves on building great relationships with our clients, but then we just get the final check and call it a day. What a waste! To put a stop to this, we’ve started selling productized consulting services. Basically, a client pays us a fixed monthly fee (but it’s not a retainer – this isn’t buying a package of hours), and we help them grow their business via their website.
To jumpstart this revenue stream, in 2014, when we contact past clients to ask for a referral, we’ll also talk to them about this service and see if it would be a good fit for their business. It won’t be for all of them, but at the very least they’ll learn about it, and possibly be able to refer someone else to us who might be interested in it. Also, when we talk to new prospects, we now talk about this service from the very beginning, with an eye toward either starting them off with it before doing a full website project, or moving them to this service at the conclusion of a full web project.
Can you use any of these ideas for systems in 2014? If you don’t think you can, email me; I’d love to help you figure out a system you can use to grow your business and improve your life this year.
Can I ask you a favor? If you know someone who might benefit from this (and other content like this), could you share this with them? I’d love to help more people grow their businesses and improve their lives in 2014. Thanks!
Around the end of one year and the start of the next, a lot of people like to post year in review posts, and they often include goals and plans for the next year. Heck, I did that myself, earlier this year. I was even considering doing that recently, after reading my friend Carrie’s year in review post. However, after reading this article by James Clear, I’m convinced to focus instead on what kinds of systems I can put in place, instead of setting arbitrary goals to achieve. For instance, I’ve been tossing around the idea of writing a book on using Git with WordPress. Several people have even asked me to do so, so I feel confident that there’s a good chance of a market for it. However, instead of setting a goal of writing that book in 2014, I’m going to instead just write about using Git with WordPress once a week. It doesn’t matter how much I write – just something, at least once a week. That could be a tiny little tip, a problem I encountered that week and how to solve it, etc. I’m going to take the two-minute rule very literally.
So, that’s it. That’s the system I’m going to follow next year. Write about Git, once a week. Yes, that seems ridiculously simple, and doesn’t even scratch the surface as far as all that I really want to do and accomplish. However, it’s very specific, and very achievable.
What about you? What system are you going to put in place?
Yesterday morning I saw Tyler Young’s post Marketing Your Small Business in 2 Hours a Day. It’s a great post, and you should go read it. Towards the beginning, he introduces an idea that has really stuck with me as a simple, yet powerful, framework for improving your business. That idea is Alan Weiss’ “One Percent Solution”. Simply put, if you improve your business by one percent each day, in 70 days you will have improved it by 100%. Granted, you could start picking that concept apart and arguing that it’s not possible/sustainable, but that would be missing the point entirely. The whole idea is to shift your thinking from “I need to make my business way better”, which for many people induces panic and fear, to “I just need to do one thing better today”, which is completely and totally achievable,each and every day.
Not sure where to start? Read on.
This is true: you probably don’t charge enough money. Some of you reading this might charge enough, but chances are you don’t. To rectify that, go buy my friend Brennan’s Double Your Freelancing Rate and read it. It’s $49 and worth every penny, and if you use the promo code “TNORTH” you’ll get 20% off. I don’t get any affiliate commission on that, by the way – I just asked Brennan for a promo code to share with you. This book is great if you’re still charging a fairly low hourly rate for design, development, copywriting, consulting, etc. I’d classify anything under $50 per hour as “go buy this book and implement its advice tomorrow” low, but of course as with everything, it depends on the circumstances. However, do not use that as an excuse to convince yourself that your situation is a special case and you can’t justify charging more for the value you provide! Even if you’re charging more than that now, you can still probably benefit from the book. My partner Michael and I raised our rates from $75 per hour to $100-150 per hour (depending on the client and type of work) after implementing Brennan’s advice.
Charge for your value, not for your time
I just said we raised our rates to $100-150 per hour, right? Well, the truth is, we only charge by the hour for small, one off tasks. For our typical projects, we (try to) charge for the value we provide, not for the time we work. Why? The better we get at what we do, the faster we do it (for most things). If we charged an hourly rate, we’d be penalizing ourselves for getting faster! Sure, we’d have more time to churn through more projects, but we’d still be artificially limiting ourselves – there are only so many hours in a day. Instead, we try to charge our clients based on the value we provide to them. We’d rather work on fewer high-value (and high-dollar) projects and do work that is more interesting and more fulfilling than churn out a river of projects as fast as we can. That’s not to say there’s anything wrong with that model, it’s just not what we want to do. Of course, this means that we’re not interested in taking on every project. Some prospects just don’t emotionally or institutionally value what we do enough to pay what we would charge them.
Even though the title of Brennan’s book suggests it’s only for time-based pricing models, the content is actually extremely relevant if you want to learn how to charge for the value you provide. I’d also recommend Breaking the Time Barrier, by Mike McDerment (CEO of Freshbooks). It’s a very quick read, and free/name your own price to boot! One more book to check out is Value-Based Fees, by Alan Weiss. I can’t give that one my full endorsement yet, as I haven’t read the whole thing. However, at the very least there is some good advice in it.
Blog Write more
Nathan Barry is a far greater authority on this topic than I am, so I’ll let his post extoll the benefits of writing more:
Looking at my business revenue from the last 365 days, I decided to filter it down to just revenue I could trace back in some way to my writing habit (which is almost all of it): $249,602 (before expenses). That’s insane.
Most of that is from book sales, and the rest is from two small contract writing projects I did. Divide that number by 365,000 words and you get $0.68 per word written or $683 per day. That’s an incredible return on investment.
In 2012, Nathan started a habit of writing a thousand words for every day. Some days he wrote nothing, and other days he wrote more than a thousand words to make up for the nothing days. Sometimes he didn’t write, but made videos or recorded audio, which he counted at roughly one hour of work = one thousand words. The point is, he established a solid habit of creating nearly every single day. Sometimes it was blog posts, other times writing for various books he sold, etc. I’m obviously nowhere near that level (yet!), but I’m working on it. Michael and I are doing a challenge for the month of November to write 500 words every weekday, whether that’s on our personal sites, our business blog, or email newsletters and courses for our business. That doesn’t sound like much, but even a little bit adds up over time; by the end of the month we’ll have written over 20,000 words combined, and that’s just in one month.
Set up lifecycle/sales funnel emails
I mentioned above that we’re working on some email courses for our business. Well, I think you should be doing that too. The idea here is that when potential clients arrive on your site, you should offer them something of value right away. What if they’re not quite ready to contact you? Maybe they’re just thinking about redesigning their site, but don’t want to deal with a high-pressure sales process. Why not offer them some helpful information, in exchange for their email address? On our site, we offer “5 things you need to know before starting on a new website”. They enter their email address, and we send it off to them, and can then follow up after a few days to see what questions they have. This is a pretty basic example, since we only have one automated email that goes out. We also have another course focused on improvements they can make to their website right now. That one is five emails sent out over eleven days, with a follow up after a couple of weeks to see how implementation is going. That follow up is the perfect time to start making a sale, because if it’s been two weeks and they haven’t implemented any of the small suggestions we’ve made, chances are they won’t ever get around to it, and they know that. At that point, we can talk more about doing this (and more complex stuff, too) for them.
Roll your own with Customer.io (this is what we’re doing, for the extra flexibility)
I wrote a post last week about the power of teaching as a way to win more (and better) business. Besides just writing more blog posts and email courses, you could also do in-person training/teaching. This isn’t something I’ve done yet, although it is something we’re planning on doing in the near future. However, Tyler Young has an excellent post on his experience with this on the Plancsope blog. I highly recommend reading that.
What are you going to do?
I’ve presented five different things you can do to improve your business, and of course there are countless others. However, the best way to start is to choose just one thing and make it your priority for tomorrow. What one thing are you going to improve in your business? Post a comment and share, and feel free to ask questions if you have any. I’d love to help you get 1% better.
If you’re a freelancer or consultant, you probably wouldn’t mind closing more deals with prospects, right? The more deals you can close, the more you can charge, the more selective you can be, the more enjoyable your work will be, the less you can choose to work…quite the domino effect. Want to know about the most powerful tool there is for closing more deals? It’s teaching.
I follow a guy named Patrick McKenzie online. Some of you may know him as patio11 (that’s his username on twitter, Hacker News, etc.). He’s extremely intelligent, and more than that, he’s extremely generous with advice and insight. You should probably go read everything on his blog. Wait! Finish this post, THEN go read his blog.
David vs. Goliath
One of my favorite stories that Patrick tells is about the time that he was dealing with a prospective consulting client. [Patrick, if you’re reading this and I’ve gotten some of the details wrong, please let me know! Hopefully I’ve conveyed the idea accurately] At the time, this would have been a fairly big client for Patrick. As he always does, he talked to the prospect, learned about their pain points, their business goals and needs, etc., and then told them how he thought their problems should be solved. As it turns out, Patrick was up against a major player in the industry: IBM. When his prospect talked to the folks from IBM, they told them how Patrick had proposed the problem be solved, and point-blank asked if IBM would solve it the same way. They said no, so the prospect promptly hired Patrick for the engagement. That’s the power of teaching.
Update: Patrick notes “the competing firm was not literally IBM, but that’s the right flavor.” Thanks for the correction, Patrick.
Ok, so why did the client hire Patrick based on that? So his process sounded better to them…so what? Don’t misunderstand: it isn’t the fact that they liked Patrick’s suggestions better than IBM’s (although they did). It’s that by taking the time to explain exactly what he was going to do, Patrick demonstrated expertise and earned their trust. They saw that he was highly knowledgable in his field (probably unlike the sales drones IBM sent out), and that he held strong opinions about how to achieve their goals.
I don’t have that kind of time
Now, you might protest that Patrick is at a whole different level – when he was still consulting, he charged five figures per week, so he could afford to spend a bunch of time meeting with and teaching prospects. You, on the other hand, might not quite be to the level of charging that much (I’m not either), so you have to do a little more volume to make up for it. Which of course makes it hard to justify spending a ton of time with someone until you’ve closed a deal. Hey, I get it! I hate wasting time with someone who’s only kicking the tires just as much as you do. So, what to do?
Scale it up
You understand the power of scaling something, right? If you’re reading this, you’re likely some kind of designer, developer, consultant, or general web-person, so you get the multiplicative power of doing something once and then cranking the dials to make it work at a higher level. Well, that’s what you need to do with teaching! Sure, you can’t justify sitting down for hours with every new prospect that comes your way. But why not sit down for an hour or two a week and write a few blog posts, explaining some part of what you do? That way, any time you get a new contact from a prospect, you can send them your standard response, questionnaire, etc., but now you can include links to a few blog posts that fit their situation and have some helpful information for them.
If he can do it, you can do it
Want a great example of scaling up the teaching? Take a look at Bill Erickson’s blog. He’s established himself as one of the leading WordPress developers using the Genesis theme framework, and his blog shows why: it’s loaded with development tips and tricks, lessons learned, and more. When prospects arrive at his site, within a few minutes they can see that he’s an expert, so they don’t have to worry about figuring out if he can handle the technical challenges that lie ahead.
Do you hear that?
It’s the sound of even more new prospects. The nice little side benefit of all that writing you’re doing? More traffic to your site, which means more prospects who, before they even contact you, have read some of your teaching-oriented writing and can see that you’re an expert in your field. The result? They show up ready to throw money at you.
What did I miss?
Does this resonate with you? Want to do more teaching but don’t know where to start? Post a comment below explaining your situation and I’ll do everything I can to help you get started. Anything you think I should have mentioned? Speak your mind!
Carrie Dils delivered an excellent talk at WordCamp Austin on the why and how of building great relationships with clients. The slides are posted online so you can follow along. If you have any questions about my notes, feel free to post in the comments or find me on twitter.
How building good relationships will build your business
We ARE talking about:
God habits for maintaining great relationships with your clients
Pass on a useful nugget: leave today with a Monday morning action to take
1. Finding clients
2. Setting the stage
3. Creating a love fest
4. Recovering from a bad situation (just in case!)
We want the right kind
Know your ideal client
For Carrie, this is a small business owner – she likes working with the person signing the check
For others, this might be subcontracting with an agency
Know what’s valuable to your ideal client
What makes them tick? What do they really want from you?
Know where your ideal client hangs out
You want to meet them!
Is it at a chamber of commerce meeting? A linkedin group? Facebook?
Be visible in the space where they’re hanging out
Participate where your ideal client is hanging out
Make yourself available – be welcoming with your body language, with how you talk to people online, how you present yourself in general, etc.
Have a network – Book called Love is the Killer App (how to win business and influence friends). Her value to her client is not just her knowledge, but also her network – she can connect them to other people
Know the value you provide
Put a value on your time
Position yourself as someone of service
Answer questions – you know some stuff that other people don’t know
Connect people – share your network
Setting the stage:
Insist on a response
Acknowledge – at Starbucks they acknowledge someone as soon as they come in the door. Even if you can’t help someone right away, let them know they’ve been heard.
Roadmap – imagine if you showed up for surgery and they didn’t tell you anything about what was going to happen. This is how clients feel! They don’t know anything about the process of building a website, so tell them what’s going to happen. This is simple for you, but gives them warm fuzzies
Timeline – when you’ll start, projected finish date, etc.
Costs – be clear upfront
Set your client at ease
Be in control – let them feel like you’re driving the bus. They don’t have to worry about what’s going to happen, because you’re showing you have a clear plan.
Drop knowledge (or don’t) – depends on the client. For some clients, show them the behind the scenes. Other clients don’t care one bit, and that’s ok!
Be excited for your client
Tie your success to your client’s success – if someone has a bad experience with Carrie, that’s bad for her business! She wants them to know that when she delivers a successful site, it means success for her.
Get your client excited – talk to them about what the website can do for their business, get them pumped up, etc.
Create a Love Fest:
“Satisfied customers are often repeat customers. Thrilled customers are also repeat customers, except they bring their friends with them next time.” – Peter Stark in How to Thrill Your Customers
Say Thank You
End of project appreciation – be honest, but in some way thank them for their business. Even if you didn’t enjoy them personally, you appreciate the business.
Yearly, hand-written note – you will blow their minds! – Carrie likes to do this around the holidays, but it can be on whatever timeframe makes sense for you
Referral gifts – can be as small as a thank-you email, or flowers, fruit basket, gift card, etc.
Keep in touch
Share relevant news that doesn’t benefit you – some news article about their industry you saw, whatever
Share relevant news that does benefit you – e.g. there’s some new gravity forms add-on for taking payments, and you can implement it for them next week
Check in periodically
Share and share alike
Send business – send people to your clients (if your clients are good!)
Give business – patronize your clients if it makes sense for you to
Draw positive attention to your client’s business
Recovering from a bad situation:
Don’t be like Smokey
“I second that emotion” – Smokey Robinson
Don’t rise to meet your client’s emotion. Maintain a professional demeanor.
A gentle answer makes anger disappear, but a rough answer makes it grow. – Proverbs 15:1
Turn that frown upside down
Own your mistakes – if you did something wrong, admit it, and then:
Make it right
Give a peace offering (a high-value to your customer, minimal cost to you add-on) – E.g. if you took too long on a project and your client is upset, offer them 3 months of free maintenance, where you would normally charge $100/month for that.
Carrie, thanks for providing advice that’s actionable! My biggest takeaway was the idea of sending yearly hand-written thank you notes to clients. This is so obvious, and something I’ve heard of before, but not something I’ve done.
This past weekend I attended WordCamp Austin (my first WordCamp!), and had an absolute blast. I met tons of great people (some of whom I already knew online), heard great talks, and enjoyed great food. Beyond just having a good time, though, I heard things and met people that will have a significant impact on my business. Here are my takeaways from the weekend.
I had considered going to WordCamp Austin last year, but just made some excuses to myself (which I don’t even remember now), and didn’t go. This year, I finally decided I just needed to make it happen, and I’m sure glad did. Quit making excuses, find a WordCamp in your area (or whatever other conference, meetup, event, etc. applies to your situation), and go!
Every session I attended included at least some question and answer time after the talk, and one of them was almost entirely Q&A time. I asked a question in several of the sessions I attended, and as a result the speakers recognized me later (if they didn’t know me already) when I talked to them more. Not only that, but if you have a question about something they said, there’s a good chance someone else is wondering the same thing, but is too shy to ask. Speak up!
If a speaker is trying to generate audience participation and is asking questions, don’t just sit there like a bump on a log. Figure out a way to answer somehow! This will get other people more into the talk, and as with answering questions, will help the speakers recognize you later when you approach them after their talk, at lunch, etc (more on this in a minute). They’ll also be grateful to you for being confident enough to answer their question and kill the awkward silence. It gives their presentation a lot more energy.
Talk to people
My one regret from the weekend is that I wasted about 30 minutes before the sessions started not talking to anyone new. I knew there were several people around that I talk to on Twitter all the time, but I didn’t make a point of seeking them out right away and introducing myself. What a wasted opportunity! Once I got over my initial shyness and started talking to people, I had a great time, and met some really interesting people. Saturday night, I got to talk to Jason Cohen, co-founder of WP Engine. Within three minutes of starting our conversation, he pointed out some flawed ways I was thinking and talking about my business, and gave me one heck of a pep-talk. It was simultaneously humbling and encouraging.
Talk to the speakers
This is really an extension of my previous point, but don’t be scared of talking to the speakers, even if they are “famous” – they’re still human. Cory Miller of iThemes fame gave a really great titled Your Quick Biz Tuneup in 45 Minutes or Less (slides here). The title is a little misleading, though; it was really focused on deep, important issues like whether your business is making you happy and propelling you toward long-term goals, whether your spouse is happy, how your mental health is, etc. Kudos to Cory for talking about what really matters.
After Cory’s talk, I approached him, thanked him for his great talk, and asked him a questiona about my business. He gave me some really great advice, shared his experiences, and then told me to email him so we could set up a time to talk more. Cory’s a really nice guy, so he may have done this for anyone, but I suspect it didn’t hurt that when he asked “are you happy” during his talk, I spoke up and gave an honest answer (no, not as happy as I want to be). He expressed appreciation for me being vulnerable, and I think that sparked some connection. Thanks, Cory
Possibly the most rewarding & fulfilling part of the whole weekend was when someone approached me at the after party and started asking me questions about my business and how they can improve in their business. I was a little bit surprised at first, but then realized I know some things that some other people don’t know – things that can really help them. I really enjoyed sharing my experiences, some resources I knew of, and offering to help them out in the future as well. That experience made me realize that teaching others is something I want to spend more time doing.
What did I miss?
If you went to WordCamp Austin, or have been to another WordCamp or other conference, what am I missing? What’s your advice for first-time attendees?
What questions do you have?
If you’re considering going to your first WordCamp or other conference soon, what questions do you have? What are some things you’re wondering about?
Bill Erickson and Jared Atchison gave a great talk on how they run their freelancing businesses. It was fairly unstructured, with lots of question and answer time. They did a great job of sharing their philosophies and processes for running their businesses. My notes are fairly stream of consciousness; I was just trying to get as much down as possible.
Getting started – making the jump to full time
Started off just working evenings, scheduled meetings during lunch, etc. Eventually switched to working his job half time as client work picked up and he had some clients bringing him repeat business. Networking is super important: going to WordCamps and networking with people has been a huge factor in growing his business.
One of the big things that put me in a position to be able to go full time was going to WordCamps and meeting people.
There is still more work than most developers can handle. If you’re just starting out, build relationships with accomplished designers and developers. The good ones are in high demand and are always looking for other people to send business to.
Find a niche that you can target (Genesis, bbPress, WooCommerce, etc.), and specialize in that. Become the go-to person for that niche. This way, other freelancers will send you inquiries they get in that niche.
As you grow, some stuff (like communication) becomes a problem. A 1 hour phone call always takes 1 hour, so reduce the number of 1 hour phone calls you have to take per client.
He can re-use code all day long, but can’t re-use one-on-one communication, so he uses his website to weed people out. He puts pricing and timeline information front and center, so people who want a $100 website never even call him. Same thing with timeline/availability: he shows what date he’s currently scheduling projects for, so people won’t contact him if he can’t help them with their urgent project.
He also has canned responses for once people do contact him. He customizes them for each client based on what they say.
Once they’re qualified from there, he schedules a 30 minute phone call to close the sale.
As an example, 100 people might see his website, 40 will contact him, and then of those, he mgiht schedule a call with only 10 of them and closes the sale from there.
Reusing code & scaling development efforts:
Best practices for reusing stuff: build things in a modular way – do it right once and reuse it forever.
Break down a project into multiple processes: pre sale, contract, initial development, modification period/training, launch.
Bill looked at his projects and found where he can save the most time, e.g turn stuff into a plugin that he can reuse on every project from now on (he gave the example of his Genesis Title Toggle plugin). As you build things, find ways to store that knowledge so you don’t have to reinvent it later.
Combatting scope creep:
Have an iron-clad contract with a scope that you’ve defined, then defined again, then defined again.
Any time you run into a nightmare client/project, step back and analyze the situation, then figure out what you can add to your contract & communication to prevent that problem for future projects.
For average small business contract, Bill likes to put the scope of work in an email with bullet points and avoid the legalese (I happen to disagree with this approach, for what it’s worth. I use a contract for anything over a few hundred to a thousand dollars. However, I also realize Bill operates on a different scale; he’s doing much, much more volume with many of them being at that lower dollar amount, so it makes sense for him to optimize for speed). He sees contracts as a way to get everyone on the same page. He includes 1 hour of phone consultation in his contract, and everything above that is billed at his hourly rate. Most clients like this so they’re not paying for the overhead from the bad client who needs 10 hours of hand holding.
Bill uses the design to avoid scope creep: he requires the client to hire a designer, then he works off of the design comps, so the scope is clear: if it’s not on the design, there’s no way that Bill can know to build it, thus it’s not in scope. The design process serves as a discovery process as well, so the client can figure out what they actually want.
Audience question: What about when a client comes back later and they want something new (not a whole new project, just add something on that wasn’t in scope)? Do you take it on an hourly basis, or send them to someone else?
For Bill, he likes to avoid if possible since it’s not super profitable. He’ll tell them he won’t be able to do it for 8 weeks (discourages it by pushing it back), and here are some other devs who can do it now.
Bill doesn’t like hourly work: it punishes you for being skilled, and it doesn’t align interests and incentives. If he estimates 10 hours for something (and that’s the minimum), then if he finishes in 5 hours, they’re not happy, because they feel like they’re paying for 5 hours of empty time. He charges by the project, so the client is happy if they get a good website (because that’s what they signed up for – not a certain number of hours).
How do you work with designers?
Bill gives them a list of designers. He doesn’t suggest just one, so if they have a bad experience it’s not solely on him (they need to assess and choose). He requires layered .psd files from designers. Some clients provide more (brand guides, etc.).
Bill: I do value based pricing. I charge what I think is a reasonable rate for a site (base level), up from there is based on time. Starts at e.g. $2500 and goes up from there based on custom features.
Bill makes data-based decisions. He logs everything on each project: revenue, expenses, time spent. Then from there, he sorts by effective hourly rate, and figures out what the highest dollar per hour projects have in common. He discovered the smaller sites are better for him, because more of the work is reused (because there’s not a lot of custom stuff), whereas the bigger projects he was spending way more time per dollar on, since it was lots of new/custom work.
It was crucial to track time on projects for the first year of freelancing to see where he was spending his time, figure out where he went over time budget, etc. Can then fix from there.
Bill built a CRM so he could analyze where leads were coming from (especially the higher quality/more likely to convert leads). If you find that referral leads are 5x more likely to convert, spend time maximizing that channel.
Jared: Don’t be afraid to charge what you’re worth.
When you’re starting out, how do you schedule/estimate what a project will take?
Bill: at first, I just took whatever I could get, and learned from there how long it takes.
Schedule initial dev in week-long sprints. A small project takes less than a week, bigger ones are 2 weeks, etc.
Week-based timelines work great: clearly shows what I have going on and when I can schedule more work.
Always under-promise and over-deliver.
What about pro-bono work?
Bill says it can be good, but be careful, because you don’t want to get known as the free guy. Maybe instead, find a random website, rebuild it in WordPress and put in your portfolio as a sample of what you can do (especially if you’re a designer).
Jared: the WP101 Plugin puts all the video tutorials on the WP dashboard for the client. It’s been an invaluable resource.
It’s the best way for a non-WP user to learn how to use WP. Bill sends the video tutorials to his clients before the site is ever done, so they can review them while he’s building the site, and then not be overwhelmed when he delivers the site. Then he just gives instructions on the custom stuff he built.
Jared puts in his proposal the awesome plugins he uses (Gravity Forms, WP101, BackupBuddy, etc.) that they get for free because he has a developer license, and the value they get from that.
What do you do in a situation where a client has paid you a deposit, but then takes forever to get you the content?
Bill has something in his contract where the modification period is separate from the development period. The modification period can last as long as the client wants (if mods are within scope), but each modification can only last up to 15 business days. If it’s been over 15 business days since the last communication, then the project is complete (for Bill).
Jared says look for the red flags up front. If you have to beat the design out of them, it’s going to be a bad project. You can adjust your contract/payment terms so that if they take forever to get ready to launch, it doesn’t hurt you. Final payment isn’t tied to project launch; instead, tie it to completion on your end, not when they’re ready.
Bill sets the payment terms to align interests: if payment is tied to launch and the client decides they don’t want the site anymore, they’re not incentivized to complete the launch. Instead tie payment to development/modification completion.
Jared: when I send out a contract, I tell you my availability as of *now*, but you don’t get on my schedule until you pay the initial deposit.
Some people put an “inactive” clause in the contract: if the client disappears for x days, the project goes inactive. Then it takes e.g. $300 to get the project restarted. Also, if a project goes inactive, then they get put at the end of the line, so they can’t just show up and demand you do something right away.
What about staging sites?
If it’s an existing site, he copies it to his dev server and builds it there. Works same for new site. Only problem is if you’re redesigning a busy existing site where you need the new content that’s being made.
Jared uses the excellent Registered Users Only plugin to keep the site from being publicly visible during the development phase.
I’ll add here that my process is a little different: I develop locally on my machine, and use git to push code to a site on WP Engine (whether the production site, or the fantastic staging site that WP Engine provides). I also use the excellent WP Migrate DB Pro plugin to push and pull the database as well. A workflow like this (using version control) is especially important if you’re working with a team (even if it’s only two people).
What about payment?
Bill and Jared both use Freshbooks and take credit cards through there (google payments, but they also have Stripe). They also take checks. Don’t use Paypal! Both Bill & Jared have had their accounts locked there.
How do you convey that you care about the customer’s site, even though the onus is on them to handle content etc.?
Jared: set realistic expectations up front. Do some amount of hand-holding, but not too much.
Jared on when you have to end a relationship with a client: “It’s not you, it’s me.” When you turn someone away, try to send them other options.
I really liked this talk, and especially the format (for this subject matter). It was great for audience members to be able to ask questions and get them answered right away. I feel like I’m in a pretty good place as far as running the business side of doing client work with WordPress, but I still learned plenty and got some great ideas for things I can implement in my business (such as Jared’s “you don’t get on my calendar until you pay the deposit” method).
If you have any questions about any of this, please ask in the comments! I’ll try to share whatever I can, and I’ll ask Bill and Jared to add more if they want to as well. You can also find me on twitter: @tnorthcutt
I think Luke Wroblewski’s approach to responsive web design, which he calls RESS (Responsive Web Design + Server Side Components) is a pretty solid concept. I”ll let him explain:
In a nutshell, RESS combines adaptive layouts with server side component (not full page) optimization. So a single set of page templates define an entire Web site for all devices but key components within that site have device-class specific implementations that are rendered server side.
The idea is that instead of serving every device the exact same content the exact same way, some things are served differently depending on the device class (not specific device!).
Luke ends his post with a note that relying on user agent detection can be unreliable at times, and might be an issue in some situations:
That said, there may be a few unsolved challenges.
Relying on user agent detection on the server to decide which device class specific components to include could be an issue for some. There’s a lot of debate about how accurate user agent detection is.
This is a growing rather than shrinking issue; seemingly every day a new mobile device is launched, and keeping up with all the various user agent strings is difficult bordering on impossible.
However, what if, instead of trying to ferret out whether the connecting device is one of hundreds of possible mobile device/browser combinations, we instead attempt to discover if it’s one of a few known desktop browsers, and then beyond that try to separate out large (iPad & other tablets) and small (phone-size) “mobile” devices? This is the approach that Categorizr takes, and I think it has a lot of potential.
What makes Categorizr different?
Instead of assuming the device is a desktop, and detecting mobile and tablet device user agents, Categorizr is a mobile first based device detection. It assumes the device is mobile and sets up checks to see if it’s a desktop or tablet. Desktops are fairly easy to detect, the user agents are known, and are not changing anytime soon. Tablets are also pretty easy to detect.
By assuming devices are mobile from the beginning, Categorizr aims to be more future friendly. When new phones come out, you don’t need to worry if their new user agent is in your device detection script since devices are assumed mobile from the start.