3 weeks at 10up

October 31, 2019 Update: Today I said farewell to 10up. I’ve loved my just-shy-of 15 months there. Satisfying challenges and personal growth growth galore. Some of the highest-functioning professionals I’ve ever encountered. I hate to leave, but it’s time for some deep rest after too many years of too much stress. So I’m taking a sabbatical. I’ll start thinking about what’s next in a few months.

10up just released a marketing video that’s a good excuse to finally make an announcement here:

Monday, July 23rd was my first day as a Senior Web Engineer at 10up.

I’m supporting our enterprise clients scale and maintain full-featured marketing websites that use frontend JavaScript frameworks paired with WordPress for content management.

I’ve always been impressed with 10up’s professional and competent appearance, and they back it up with quality delivery. Their reputation as a leader in the WordPress space is well deserved. But, I didn’t anticipate what it’s like to experience this company from the inside.

Three weeks in, I’m thrilled at what a joy it is to be here. Everyone on the team is not only talented, but a pleasure to work with. It’s the best mix of friendly, supportive, and empowering that I’ve ever experienced in the workplace — and honestly a stunning contrast with our professional reputation. Work/life balance and ensuring people are happy feels like it’s priority number one. (I have the sense that it hasn’t always been this way, so I feel lucky to’ve joined at a point in company history where we’ve figured a few things out!)

I’m excited to see what the future holds!

Here’s that video:

WCSEA 2015: Amanda Blum — Long Term Relationships – Creating Sustainability in WP Client Handoff

I’m at WordCamp Seattle today and will be post­ing notes from ses­sions through­out the day. These are posted right after the session, and could be a little rough.

This is a talk from Amanda Blum, project manager and pretty darn good friend of mine. Find Amanda at @amandablum on Twitter and at howlingzoe.com on the web. The WordCamp.org session description is here.

We need Client Empathy

We’ve become good at development as the community has matured, but still need to get better at client relationships, and client happiness. Amanda’s started to hear the term “client empathy” get thrown around lately, and she likes the trend. Here are her ideas for what we need to do to deliver better experiences for our clients.

Allegory: Getting Amanda’s Garage Ready for the Kiln

Amanda’s been working on getting a ceramic studio into her garage, which needed work first. “tl;dr — it sucked”. A man who only spoke Russian offered to do the garage drywall project for free, which she knew she needed, but she couldn’t say Yes! because she was overwhelmed by everything he was trying to communicate that she couldn’t understand. She ended up doing it herself with friends, which was tough (understatement).

Clients don’t walk away from you even though you could make their business 900 times better because they are morons. They walk away because they are overwhelmed.

Clients are not all idiots

We bitch a lot about clients being idiots, but clients recognizing they need help is to be applauded, not chided.

It’s hard for clients:

  • “We are an industry of snake oil salesmen.” There are no licenses, no accreditation boards, no certifications, etc.
  • Costs range from $7 and $70,000, and cost is not an indication of quality. Expensive projects can fail and cheap ones can succeed. How can we expect clients to have good price expectations?
  • Clients come to us with ideas about what they need, we move them in another direction (and then we talk behind the scenes about how stupid they are and how low their price expectations were).
  • We sneer, but $5K is a lot of money for most people, and it’s a reasonable amount of money to buy a lot, in a lot of contexts.

We need to find a better way to communicate the value better, and to do it in a passive way that doesn’t make them feel stupid.

Amanda’s Advice

Set Good Expectations

Good expectations are matching expectations.

Engineers speak a different language than clients. “I want an event calendar” in client speak may turn into “I’m going to install a plugin” in engineer speak, but the engineer knows the plugin will need maintenance. That doesn’t mean anything to client; client assumes “I want it to work” didn’t need to be said.

Expectations about outcomes should be written into contracts — without adjectives. Instead of implementation details like “install this plugin”, write about outcomes, like “Event calendar, which we will support for X years”.

Stop Assuming

Everyone here has a font, a plugin, a theme you’re just dying to use and work in on some project. We think we know what would be great for our clients before we start talking to them. But we can’t go into projects like that.

We have dev environments at home, and our own blogs. Play with those to have fun with your toys. Leave those desires and assumptions at home.

Use a PM

Engineers cannot QA their own code, because they’ve written it. Engineers should also not do support. In terms of client relationships, few things are as important as QA.

Using “pixel perfection” as an example, it is something you can verify as done, and write tickets against, etc. You can test every single aspect to make sure they work.

But PMs should do this. Why? Because the PM insulates between the client and the engineers. A PMs’ main job is making the engineers more effective. Call it an air-gap.

Engineers generally over-explain. They can’t translate.

Tremendous respect for engineers: They are like dogs with a bone when they have a problem to solve. But they need this: A good PM will tell them which problems to solve.

The donut example

“I need one donut tomorrow.”

“Great, we can make you a donut machine that will make you all the donuts you ever need, by one week from tomorrow”.

“Great, if it’ll be ready tomorrow and can make me one donut, awesome. If not, just make me a fucking donut.”

You cannot engineer without a Plan

There was project where Amanda suggested taking text articles out of a client’s newsletter and putting it into the blog. She could see numerous benefits, but the client stubbornly said it couldn’t be done. Amanda finally realized after a couple of weeks that they were never going to enter the blog posts because of their process, which just made it too hard.

It would’ve been easy for Amanda to just build this for them, but it wouldn’t have worked for them.

You need to create a plan based on the clients’ needs, process, etc., before you build, to avoid building something that won’t work.

Build for the way people use

Don’t assume people will become WordPress experts and bend their process to WordPress’s way of doing things. If WP is different than the way they are already working and the way they want to work, they’ll have trouble with it.

Example of how we can make this better for clients: Customizing the dashboard menus to match clients’ lingo and what they want and need to do with it.

Workflow is a Cascade

Clients want to get to everything immediately, or want to jump around a lot. Refuse to move forward in the process until you have what you need to move forward, to be successful.

There is a natural waterfall/cascade: Scope > Define goals > Info architecture (sitemap) > Design > Build > Test > Deploy > Ongoing refinement

You can move backwards in this process if you need to, but don’t jump ahead to move forward too quickly, or things will go off the rails.

Friendly is not the same as friends

Politely decline FaceBook connections to clients.

Don’t hire anyone you can’t fire. This goes beyond nepotism: Don’t hire anyone — not just family — that you can’t fire.

It’s important to avoid crossing lines and to keep things above board and professional for the success of your working relationships.

There’s a spectrum of how to reply communicate: On the one end is an Immediate Response, an over explaining answer, and being chatty. On the other hand is no response, and silence.

What clients actually need is acknowledgement of receipt, and request for time to respond. Then, be as to the point, direct, and brief as possible. (Edit adjectives out.)

Test, then Test Again

“Test what you’re doing within an inch of its life.” Testing is often under-estimated in the life of building a website.

After the Job

As a summer camper, this isn’t clear, but as a camp counselor you learn to recognize that the summer camp emotional experience is formulaic: They have a marketing ploy by making everyone emotional at the end, with a slideshow showing pictures of you befriending your friends throughout the week, with nice music… they sign up 60% of their returning kids within a week of the end of camp.

The end of the project is where you ensure its success.

Remember that Clients Forget

“He looks like a 28 year old entrepreneur, but he’s actually a 78 year old woman with alzheimers, and just doesn’t realize it yet.”

Thus, put everything in your PM system.

The very few times you’re communicating outside of the PM system, automate getting the data in with ITTT or something. Immediately after a phone call, enter your notes into the PM system.

This isn’t a CYA thing, it’s a people have no memory thing.

Stop Teaching WordPress

We do a lot of teaching WP, but it’s gotten harder as it’s gotten more complicated. It’s really hard now, and a barrier.

But, we’re building really customized sites that do very specific things for our clients, so now we need to just teach them those things they need, not all of WordPress.

Amanda recommends a plugin that allows you to create a help menu you can customize and add right on the Dashboard. [I missed the plugin and will add that later.]

Encouraging Autonomy

When you have a feeling of success, you tend to move forward. Make sure you can give them that feeling of success.

For example: No one is ever going to follow through on their corporate blog. For clients who are really insistent, Amanda likes to get them on CoSchedule and start to build an editorial calendar so they can see what it’s actually going to take from them, before they commit and before you build the blog they won’t be able to maintain.

Testing shows progress

Build testing into contracts to show progress during the project. Continue to refine in tiny ways as you move forward throughout the project.

Amanda means tiny details, literally — for example, a button’s copy. “Does this button title work better, or this?” Clients love that; it feels productive.

Follow-through

The moment after you are done, a million things have to happen. Talk with clients about:

  • Here are the things you need to think about on a daily/weekly/monthly basis
  • What’s your plan for backup, for security, for maintenance if not through me?

If they fail to use the site after the project is over, then you failed.

For more information

To receive Amanda’s notes, email [email protected]. Her slides are available on Slideshare.

This post is part of the thread: 2015 WordCamp Seattle Live Notes – an ongoing story on this site. View the thread timeline for more context on this post.

Value Quadrants: A system to prioritize your tasks

2014-12-30 update: Fixed a few issues with the diagrams.

The task prioritization tool I’ve used for nearly a decade

Back in my College Pro Painters manager days, I was a bit overwhelmed with everything I had to do.

Max, my general manager (and the best boss I ever had), taught me a simple tool to help answer the fundamental question of what to do next.

I don’t recall his name for it, but I call the tool Value Quadrants.

Since I learned it almost ten years ago, I’ve found Value Quadrants useful in every job I’ve had. I’ve mentioned it casually to a few of my teammates at Rocket Lift, and they were interested to learn more. So, here’s a write I hope you’ll find useful, as well.

Too much to do! What to prioritize?

To set the scene: Any given day running paint crews, I had to check in with clients on our progress with their houses, fine tune our schedule for upcoming projects, pick up supplies from a handful of stores, check in with my three crews, respond to email, knock on doors, schedule calls with leads, go to sales meetings, finalize estimates, total up job costs, deposit checks, process payroll, fuel up the truck, and so on.

Those were just my routine tasks, not including any fires that needed putting out.

There were so many things I had to do at any given moment, and everything seemed urgent. When you’re trying to provide great customer service, anticipate problems to nip them in the bud, and go above and beyond, there’s no end to the todo list you can come up with. So I was never “done”.

It was tough to identify the right things to do first, and have peace of mind knowing that anything I wasn’t working on could wait.

Sound familiar?

Breaking down Importance: Urgency versus Impact

The basic principle Max taught me is that importance isn’t a very helpful way to order tasks. Tasks are “important” for different reasons. Some are time sensitive, some make a big difference, and some are both. So, trying to sort “important” things into a priority order is really tough.

The Value Quadrants tool breaks tasks down into two distinct kinds of importance. You consider them separately, then combine them in a way that makes their relative value more clear.

Impact is one kind of importance. Something is impactful if it makes a big difference. If there is little or no consequence if a task doesn’t get done, ever, then it is a low-impact task. Impact is completely separate from time sensitivity.

Filing taxes is high-impact, because if you don’t file them, you’ll have serious consequences. Sending out holiday cards to thank your clients is a nice thing to do, but it is relatively less impactful — you aren’t likely to lose money if you skip it.

Urgency is the second kind of importance. Urgency has strictly to do with time sensitivity, and nothing else. If a task must get done today or else you may as well not do it, then it is urgent. If there is no benefit to doing a task sooner than later, or if it can be done much later without consequence, then it is not urgent.

In early December, sending out holiday cards to your clients is urgent, because it won’t look good for you to send them after the holidays. Filing your annual taxes is not urgent — not until the deadline looms. If you get them done sooner, there is little if any benefit.

Put them together to calculate Value

Now we can say that something is important because it is impactful, or because it is urgent, or both. Of course, a task may also be neither urgent nor impactful.

With these separate qualities defined for each task, now we combine them to identify the task’s value. You can visualize the relative value of tasks by plotting them on a grid into four quadrants.

Start by drawing a horizontal line, and label it “Impact” underneath, with an arrow pointing from left to right. Divide the line in half with a little vertical line. You’ll plot more impactful task on the the left side of this line.

Impact

Now add a vertical line to the diagram, intersecting the left side of the Impact axis at a 90 degree angle. On the left side, label it “Urgency”, and draw an arrow pointing from the bottom to the top. Divide this line in half with a little horizontal line. You guessed it: You’ll plot more urgent tasks in the top half, less urgent tasks in the bottom half.

Graphing Impact and Urgency of tasks

Let’s extend our small lines to the right and above our existing lines, to create our quadrants. Label the “A”, “B”, “C”, and “D”, as shown:

Value Quadrants

These quadrants correspond to the following:

Quadrant A: High Value tasks, that are Impactful and Urgent
Quadrant B: High-Medium Value tasks, that are Un-impactful and Urgent
Quadrant C: Low-Medium Value tasks, that are Impactful and Not Urgent
Quadrant D: Low Value tasks, that are Un-impactful and Not Urgent

Value Quadrants Diagram 4 - Quadrants Labeled

Here’s another view:

Value Quadrants Diagram 5 - Quadrants Labeled Alternate

Using the Tool

Here are four simple steps to use Value Quadrants to help identify “what to do first”:

Step One: For each task, identify whether or not it is urgent, and whether or not it is impactful.

Step Two: Score each task using the Value Quadrants. Each task is an A, B, C, or a D.

Step Three: Look at just the tasks in the “A” quadrant first. Set tasks in all other quadrants aside for now. Theses are your High Value tasks, both urgent and impactful. Nothing else on your todo list matters as much as your “A” tasks, so put everything else out of your mind! Decide on an order to tackle your A tasks.

Step Four: Get to work! Prioritize your A tasks. When they’re complete, move on to your B tasks. Your B task are the next most valuable to be working on. Sort your B tasks just like you did with your A tasks, and get started. And so on.

Do you still have too many High-Urgency, High-Impact tasks?

Going through steps 1 through 3 and still ending up with more A tasks than you know what to do with can be demoralizing, so I find it helps to sort them further into sub-groups.

Try considering other ways of measuring importance besides Urgency and Impact. Perhaps some of your A todos are worth a higher dollar value, so you may choose to prioritize them above others.

Some tasks are harder to complete than others, or take more time. I usually try to tackle the harder or longer ones first, to get them out of the way. If you’re the kind of person who can use some early victories to boost your morale and build up steam, you might get some easier ones crossed off the list first.

Incorporating Value Quadrants into your life

It’s great when you finally get to your C quadrant tasks, because you’re working on impactful things without the pressure of working under the clock. When you get to D quadrant tasks, congratulate yourself on having the discipline to do everything that was more important first. You can attend to these remaining chores with a calm, peaceful state of mind.

Here are a few recommendations for using Value Quadrants successfully:

Draw the diagram. Don’t just imagine it — actually draw it! Put it on the white board near your desk, or draw it habitually in the corner of your scratch sheet of note paper. Keeping even this empty grid in sight as a visual aid helps instill the habit of thought about what’s most impactful, and what’s the most urgent.

Score tasks on the diagram. Again, don’t just imagine it. With the visual representation of the most important tasks grouped together, I find it easier to put everything else out of mind.

Experiment with spreadsheets. For a while, I set up a spreadsheet that took “low” or “high” urgency and impact input for each task and automatically calculated and sorted tasks into their quadrants. That sped up the routine process of scoring and then sorting tasks.

Try a larger grid. When I have an extra large heaping pile of todos, I score them on a 3 by 3 grid, with a a “Low, medium, or high” scale for urgency and importance. It takes a little longer, but I you’ll get a more manageable list of the most important things to do first.

What do you think?

I hope there’s something useful for you here. Perhaps just this mindset alone will help you make better decisions about how to spend your time.

Let me know if there’s value for you in Value Quadrants (heh). I have some more follow-up thoughts drafted to go deeper into the this tool, that I’ll spend some time polishing if people are interested. So, I’d especially love to hear if you’re interested in more of this kind of thing from me.

True Fact: The comment box down below a little ways is useful for these things.

Get an update when I publish the follow-up!

Standardizing web development pricing

Update: Thanks in part to the comments, which completely panned this idea, I’ve come to see this proposal is a bad one. I’m preserving it here for the record, but it no longer reflects my thinking.

If doctors can be made to charge less and provide better service for their patients, however uncomfortable for them, then maybe so can web designers.

One nifty thing about Obamacare: More checklist use in hospitals

My cousin in-law shared this Planet Money segment about Obamacare driving checklist adoption in hospitals as a cost-cutting measure. The whole thing is good, but they mention checklists specifically at around the 7:30 mark.

The upshot: New rules for medicare payments change the incentives for hospitals to cut costs beginning in January. Instead of being paid for each procedure, which incentivizes more procedures (say, to fix complications from the first procedure), some doctors and hospitals in experimental programs will be paid lump sums to fix given patient problems. More procedures to fix complications will no longer result in higher compensation. This means the care will both cost less and tend to be better.

In reaction to this, more hospitals are implementing checklists than before, because checklists are shown to dramatically reduce complications from surgery. Lives were on the line before this change, and will continue to be, but making doctors directly accountable in a real financial way will do more to encourage the use of checklists (and other best practices) than simply having available the knowledge that they work.

Similar issues in the web software service industry

At Rocket Lift, as is the case generally in our industry, our incentives are out of whack. Our client’s lives may not be on the line, but when we make mistakes that create more work, we often charge more to fix them. Just like with the doctors in the NPR segment, we never try to exploit this. Just like the doctors, the nature of our work means there will always be unforeseen complications, and we can acknowledge that the incentive structure is wrong. And just like the doctors, this is an uncomfortable reality for us to confront. But we ought to.

Solving this in a way that links billing to fixing problems, and benefitting both us and our clients, is very challenging. Frankly, I don’t know how to do it. But I continue to believe that our industry needs to act more professional if we want to be treated like adults.* Just as doctors are facing the hard questions about cost-saving, we web professionals ought to, as well — and can, for the benefit of our clients and the world, with all of the latent potential for better technology to improve lives.

Doctors and hospitals are having this difficult conversation because Medicare regulations are changing. Absent government rules (all joking about the Healthcare.gov debacle aside, we’re not about to be cost-regulated by the feds), what could this look like in our field? Flat fees are untenable, because too much of our work is fundamentally novel and cloaked in unknowns. Not-to-exceed commitments threaten to sink service businesses. Variations on hourly billing are the only sane choice for web contractors in most cases.

A Proposal

I invite feedback from our web development peers and customers of our industry on this idea:

I propose a standard cost schedule, with not-to-exceed guarantees for certain tasks based on task requirements (e.g. which browsers are supported?) and known — and unknown — factors that impact the likely time required (tools used, quality of existing code base, etc.). I imagine an open database of tasks, estimates, and actual time spent, contributed to by many of our peers. This would allow us to peg the “right” cost for a given task with given circumstances, based on industry consensus. This would be a neutral, data-driven, third-party arbiter setting and validating estimates of time required. It would play a role similar to the one Medicare plays for doctors, but for time instead of cost, and on a voluntary basis between contractors and clients.

With this database and resource to refer to, contractors could still charge whatever they’d like, provided clients were willing to pay. We would compete on a mix of factors including hourly rate, track record, culture, process, specialty, need/service fit, etc. …

I’ll admit I cringe to think of having to estimate and bill according to a standard schedule of codes for different tasks. “HTML and CSS for a single custom dynamic WordPress template, with five distinct page Components and deliverable SASS source code, minified… Let’s see, is that five units of code SWC-24 (20 hours), or a single unit of HUI-23 (18 hours)?”. Ick! But I believe we could do much better and avoid that nightmare, with enough investment of thought and energy to build a voluntary system for technologists, by technologists (instead of bureaucrats).

I think this could help us to structure pricing for web work in novel ways that would reduce “complications” and protect clients from cost overruns. Two other benefits: shortcutting the time and energy developers spend trying to figure out what they are worth, and giving them the confidence to in fact charge what they are worth.

What are your thoughts?


*If there’s any question about our industry’s desire to be treated like professionals, consider the energy we’ve spent producing films lampooning The Vendor Client Relationship in Real World Situations, and the popularity of Mike Monteiro’s resources for web designers to value themselves and grow a backbone.

By the way, this post isn’t meant to focus on Obamacare. I’ll delete comments picking a fight about it, so no need to waste your time there, folks. :-)

Checklists: The WordCamp Portland Video

Video from my talk at WordCamp Portland is now live on WordPress.tv!

The title of the talk is “Checklists: A Path to Mistake-Free Development and Publishing”. But, as my friend Justin tweeted, it wasn’t really about checklists, so much as about keeping your promises.

In lieu of posting slides (the slides were too interactive and aren’t valuable on their own), I’ll follow this up soon by posting a digest from the talk.

Check out the video, and if you enjoy it, please pass it on and let me know what you think!

The arrow that springs from the bow

“All my life, I have had doubts about who I am, where I belong. Now I’m like the arrow that springs from the bow. No hesitation, no doubts. The path is clear.”

— Jeffrey Sinclair, Babylon 5

(Migrated away from rocketlift.com because exciting things are about to happen there but this just didn’t belong.)

The Brief: Skype is not your Friend

The Brief’s roundup from last Friday includes a good sum up of why you shouldn’t be using Skype. The low down: They’re too surveillance-friendly. Zero out of four stars according to the Electronic Frontier Foundation.

Google (Hangouts) and Apple (FaceTime) both rate more highly, although you shouldn’t ever assume your communications aren’t being monitored. Even Off-The-Record chats can get you into trouble if they’re being logged.