Category Archives: Business

Proud of GoReact’s Successes!

I’m super proud of what we’ve done at GoReact! When I met Ken almost five years ago, I quickly fell in love with his aspiration to use video to help students improve their performance. Ken has a real gift for planning and executing with high standards for the brand, the product, the sales process and the whole customer experience. We’ve put a lot of hard work into those goals, and we’ve grown that scrappy little team into a talented, fun, and hardworking company that delivers amazing value in the EdTech market!

Kudos to the whole GoReact team for making such an amazing product and for creating such a great place to work! And thank you to our customers who put their faith in GoReact every semester as they set out to teach tomorrow’s speakers, teachers, interpreters, nurses and so much more!

Be Your Brand

I saw this email in my inbox yesterday and I immediately flagged it because it hit a certain nail right on the head for me. This is something that I’ve been thinking about a lot, and watching from my company and from other companies. As you look past direct marketing efforts—and I wouldn’t recommend that this be done lightly because direct marketing and sales is SOOO MUCH easier to track and account for. And what can be tracked can be improved and that’s a great space to be in. But as companies look past that, they look for more comprehensive approaches that support indirect sales, word of mouth, influencers and just groundswell for your sales efforts. And then we start talking about brand and there’s a million ways that we see brands. Not all of them are successful. Not all are even noticed or appreciated. And if you don’t apply regular and intentional pressure then you will still have a brand, but it will be obscure, absent-minded, flighty and limited to the exposure that just happens and that’s not the impression you want.

So back to this email. It’s from Atlassian, makers of the supremely popular project management software Jira. And here they are sending me an email about incident management. Now I honestly didn’t know they had any product offering in that space, and that’s the genius here because they know that I do think about incident management and that’s a particularly nasty area that IT and Development groups need to have great controls and procedures in place for. It’s like Atlassian knows who I am! (And they do, because I’m fitting a profile they’re targeting for, but that’s not the point!) The point here is that they’ve just shared something with me that I appreciate. That maybe I need. And there’s a load of people like me out there that got this email and said to themselves, “Huh. Atlassian. OK, nice! I appreciate that!” Now I forwarded this on to the right guy in the company and I never clicked on the button in the email. Which means that they couldn’t track what they just did: they build trust. Now further, I forwarded the email onto my executive team as an example of this kind of marketing and now all of them are thinking good things about Atlassian.

How do you measure that? You don’t.

I’m thinking about basketball camps that Nike sponsors. I’m thinking about JR Smith’s new “Supreme” calf tattoo. I’m thinking about what Beats did for the Olympic athletes as they took their brand to the masses. There is a way to attribute the spend, but it’s not easy and it’s sketchy but it’s real. By providing value to people outside of your direct sales and marketing efforts—by providing exposure away from your buying channels you’re letting your brand breathe. And here’s the nail for me today:

If your your company has a mission to accomplish outside of just revenue, then you need to talk about it with your customers and prospects outside of your sales channels.

When you’re ready, get out and get talking about what your company is doing for people. Show them what you want to do and introduce them to people that are making amazing things happen with your product or service. You won’t be able to measure it, and you’ll need a discipline around it, but don’t think for a minute that if done correctly, it isn’t going to make a big difference.

Process Always Breaks Down

We had an interesting epiphany yesterday.

Despite our continuing efforts to include key factors for prioritization, we found ourselves being pushed to work on things that were not prioritized. And it wasn’t about prioritization.

One of my team members has implemented a very clever prioritization method using Airtable that captures the problem, potential solutions, related meta and then key factors for prioritization including customer pain, frequency, reach and development effort to resolve. Being a bit of a spreadsheet nerd myself, I’m pleased that we’ve found a way to do this in a way that is collaborative, transparent and effective. It’s been an aspiration of mine to have something like this working to ensure that design and development are focusing on the things that matter most for the company.

So why work on something else if it’s not in the system?

The epiphany is that no matter how good your system is, even if it includes company rank, emotions, weather and actual dollar amounts for cost and benefit, humans don’t actually like systems! I mean, I’m a human and I love systems. I love this prioritization system we have because it means that I don’t have to worry that day-to-day we’re missing our target. It means that we have a recorded history of good choices and a plan for future good choices. It’s flexible and sharable. But it’s done by algorithms and not by gut. Humans like their guts. In the end, when all else fails, and even when all else is good, humans want to trust their gut over systems. That’s why process always breaks down: human guts.

(Here’s what I’m not going to talk about: why we should build and rely on processes, models, principles and systems that reflect our aspirations and needs.)

So go out there and build the best systems, for prioritization, delivery, operations, tracking and more! But remember why you’re building it. You’re building it to help humans be more precise, accurate and have better memories. You’re building it to insulate from frustration, impatience, overconfidence, and flights of fancy. But you built it for humans! If your system is too rigid for the dynamic of humans, then they’ll know and they’ll suspect it, fear it and ultimately lose trust it in. And untrusted systems fail. They fail harder with every fracture of mistrust. So be transparent, iterate to improve, but account for human nature too.

—–

I was going to end there, but I think some examples might help you understand some specific human factors that conflict with systems. Consider these, and perhaps your system can account for them. If you can’t, adjust your system.

  1. Does it really matter if a developer skips the top story in the backlog in favor of another story two down that really gets her excited?
  2. If the CEO marches down to your desk to tell you about a bad experience he just saw on the site, and he’s rational, is the correct response really just “that’s great, but it’s 30th in line?”
  3. Do you really wait to implement an internal tool for your Support team when they’re  getting bombarded with a demoralizing issue day after day, in favor of another tool or fix that outranks it?
  4. Do you always tackle the “big rocks” at the top of the list at the cost of one or two collectively larger, themed pile of “little rocks” lower down?
  5. Do you hold off on a new project because the original estimate caused a lower priority, despite a developer being so excited about it that he’s spending his own personal time to further the code?

Noise Cancelling Microphone Rodeo

I’ve been telecommuting for nine months now. There have been a number of changes as I’ve physically separated from the great folks in my company’s office. But the hardest change has been trading out face-to-face conversations for video conferencing. Although it’s never been easier to schedule and join video calls with our existing browsers, phones, built-in cameras and teleconferencing equipment, it’s still no match for being there. There is so much to communicate and perceive that can only be done with the full fidelity of unimpeded senses: micro expressions, vocal timbre, outside-the-camera-frame body language, posture and gestures, knowing looks and eye contact or lack of eye contact, physical presence, proximity and touch and conversation timing and cadence. Even with the best systems so much of this is just lost! In addition, artificial constructs impede natural communication with so many meetings starting with technical difficulties, bad connections, video and sound checks, issues around muting (or not muting) background noises and then there’s latency! It really does requires intentional effort to make sure that remote meeting participants can hear and be heard during a fast-paced conversations, debates and brainstorming. Ugh. Now there are ways to mitigate these problems and I’ll focus on just two. After all, this is an equipment rodeo and I need room to talk about that!

Video Conference Manners

I’ll start with this because with just a few things you can dramatically increase the quality of video conferences. Good protocol applies to whoever is conducting the meeting, whether in the conference room with others, or remote. 

For starters, not every participant can always see all of the other participants. So take a moment at the beginning of a video conference to make sure you all know everyone on the call. Acknowledge and do introductions just like you would if you were in person. Video conferences can feel impersonal if not anonymous so do what you can to keep it personal. 

Second, take a beat every so often to make sure that remote participants understand what is being said and have an opportunity to pipe in. You may not be seeing the normal nonverbal communication that would clue you into their confusion or need to interject. Generally people are a little too polite on calls and we should give even the meekest a seat at the table, virtual as it may be.

Know who’s on the call, give them time to speak and remember that it all sounds much worse on the other end of the wire.

Lastly, think about audio throughout the call. Are there multiple conversations happening? How many microphones are there? Is anyone not able to speak for lack of being heard? Technology has come a long way, but the audio fidelity in video conferences is nowhere near what it is in real life! The human ears are remarkably adept at filtering noise and recognizing sounds. With just your own head’s stereo-on-a-swivel your audio quality will always be better than those on the other end of the wire. Conference microphones are designed to pick up sound efficiently and make everyone sound close, so if you can’t imagine what a room full of people sounds like coming through a single tinny speaker, take time to join a busy meeting and experience it yourself. It will change the way you feel about over-talking, side conversations and natural pauses in the conversation.

Noise-cancelling Microphones

Even with good meeting protocol, having a bad mic can be a meeting killer. Background noise can betray your location or peel back the illusion that your home can be an effective office. Much is said about noise cancelling headphones but it can be difficult to find a noise-cancelling microphone! Don’t assume that your laptop or your webcam’s mic will do a good job. Most mics have one job: pick up sound indiscriminately—they don’t know that a lawnmower or a crying baby is unintentional sound. Thus began my search, when I realized that people could really hear noises from outside my home office. I did take some time to look at sound attenuation solutions for my office, but ultimately you really can’t/won’t change your walls or your door and sound definitely comes through those. So for me the solution had to come from the microphone.

Having some experience with audio engineering and the physics of sound, I was pretty excited about finding a mic solution that could cancel out unwanted noise. And I found some pretty good ones that did not disappoint. They all use “beam forming technology” which uses an array of microphones to identify the loudest sound and cancel out the sounds coming in on the other mics. If you want to see this in action, check out how the Amazon Echo uses this in a noise room and will light up the direction it hears you from. 

There was a point in my research when I had the epiphany that this problem has already been solved for people who take their calls on-the-go and don’t want the background noise of cars, wind or other people. You know, those people who wear bluetooth earpieces all day and you don’t know if they’re talking to you or someone on a call? I realized that to maximize noise cancellation and also get the benefit of proximity effect, I needed limit my search to microphone headsets. All of the headsets that I found with active noise cancellation were also bluetooth. I’m a tough buyer so I had a few key criteria, mostly around what it shouldn’t be, like looking like a headset from Apollo 11.

  • Excellent noise cancellation
  • Doesn’t require a lot of desk space
  • Doesn’t look like I’m doing anything “weird” to get good call quality
  • Doesn’t break the bank

So here they are, in order of my preference. If you’d like to see more, consider something from one of these lists. All of three are good. I feel like I was picking from the best available.

Plantronics Voyager 5200

My overall favorite. Although initially I didn’t like the design because it seemed bulky, my wife and daughter thought that it was the best looking and head-on, the profile is pretty small. What won me over was that in the testing this mic did the best job out cancelling out unwanted noise. The packaging was really nice, maybe too nice with its pull tab and magnetically-closing flap. The earpiece’s build is solid, but flexible and comfortable to wear for long periods. My favorite part is the ear tip that sits loosely in your ear rather than being shoved inside it. $80 on Amazon.

Sennheiser Presence

I really like Sennheiser. I have their e835 microphone and studio headphones and I can’t say enough good about this brand. So I really wanted this bluetooth headset to win. But it didn’t. The noise cancellation was good, but not as good as the Plantronics. I liked that it was small and it has this clever open/closed switch to turn it on and off. It was pretty light too and could actually just hang from being pressed inside my ear but it also came with an over-the-ear hanger as well. The packaging was simple and understated, which I also liked. $92 on Amazon.

Jabra Steel

This one was a surprise for me. I didn’t think much of it when I ordered it—it seemed too simple but the rugged design and manly-man packaging made me feel like wearing this would make my life better! I gave it a shot but overall the audio quality and noise cancellation weren’t as good as the others. If I kept this, I would only wear it when working in my shop or if I was digging a hole or something. It seemed pretty indestructible and I wouldn’t worry about carrying it in my pocket or dropping it. $60 on Amazon.

Testing Method

As I was most concerned about the mic quality, I tested each one with semi-scripted scenarios that included different kinds of background noise so I could compare them side-by-side as much as possible. I also evaluated ease-of-use, fit, price and packaging. I had some success with attempting to record all of them at once, but I ultimately gave up on that approach in favor of time. The recordings are available here for reference if you’re interested.

JTBD Isn’t Complete, But It’s No Gimmick

I avoided reading this article for 19 days! It came to me via email and I skipped over it every day to read all the adjacent messages, but not this one. It’s not that I didn’t have time, or that I wasn’t interested. I was actually very interested to hear from Jared Spool on the subject of Jobs to Be Done. I just didn’t want to watch him tear it down! I really like Jared and I really like JTBD and I need these two things two agreeably exist in my universe. JTBD has been a catalyst for my company to successfully focus on the appropriate aspects of our customers. It’s a watchword and a sentinel that continues to guard us from wasting time on well-intentioned but ill-equipped initiatives. When is was introduced to our company we even formed a JTBD guild to justify the fervor and frequency of our acolyte-level adherence! Now, we’ve cooled since then, having found an equilibrium where JTBD is a component of our overall research and decision-making processes. But it remains a key part of what we do. And the idea of unseating it was, let’s say, “unappealing!”

But today I read it. And Spool’s article wasn’t bad. It turns out that Spool employed a good old-fashioned marketing trick to get a rise out of me before I read it, and it worked. While the article title is polemic and seemingly critical of JTBD, I don’t think he’s really against JTBD theory or what Clayton Christensen was positing. But he does make two key points (that I do agree with) that bear repeating:

  1. How people understand JTBD now has more to do with the diversity of application from niche thought leaders and consultants, and it’s getting messy.
  2. JTBD isn’t groundbreaking for those of us who’ve been in user design for a while.

I’ll point out that if you want to prop up JTBD as a be-all, end-all for your business, you’ll find it lacking. It was never meant to be comprehensive. Christensen admits that and doesn’t explore, in particular, appropriate methods of user research. There is already so much content being created to apply the theory to different kinds of businesses. There will be different schools of though because there is room in business for it. As a theory, and a principle in practice, it’s up to you to determine how JTBD should be applied in your company. But as a tool to help form proper processes across the disciplines of your company, I think that JTBD is essential. Competing Against Luck should be on the recommended reading list for anyone who has honest doubts about their ability to correctly read human-driven markets. The article from Spool is also a good read. In particular the links to other works on design research.

Directed Discovery + Jobs to Be Done + Minimum Viable Product + Agile = Your business has a chance

If you aren’t 100% sure that you understand JTBD, you should read up. It’s well worth your time. But don’t start with derivative work or consultant websites. Read it directly from Clay. …… You’ll quickly understand what it’s about, and what it isn’t about. And then it’s up to you to determine how it fits in your company and processes. For me, JTBD plugs in after Directed Discovery and before MVP. Take that, Spool! 😀

Reading Guide for Software Estimates

We’ve all been there. A lot. Before your next argument about a project estimate starts, take a minute to get everyone on the same page. Estimates are in important part of business AND estimates are often wrong. Yes, both of these truths can exist in the same universe!

My favorite insight from this set of articles was from John Cutler, “What job are you hiring estimation to do?” This perspective is perhaps the most valuable thing to keep in mind as your team works through your next estimate.

The Cost of Supporting New Features

Everyone wants more features.

It’s like a car that has a toaster and a rocket engine. Sometimes that can totally make sense.

Plenty of people have covered the dangers of new features and I’m not going to talk about that the cost of building new features. Let’s assume that the new features are important for your market. What I want to talk about is the cost of supporting new features. Say you have a development team of ten. What percentage of that team is available for new development and which need to hang back on bug fixes and minor improvements?  At GoReact we’ve been able to maintain a sub-25% bug allocation for the past two years and we’ve really felt free to work on functionality that’s good for new customers and partnerships. But even with 75% of our resources we haven’t churned out 75% new features. Pointy-haired boss is wondering why at this point, right? Let him wonder. You will always have work in a couple of areas and your ability to anticipate and manage those pipelines as the needs ebb and flow is a critical piece to continued success with development projects. For me this means balancing the bugs, new features, internal projects and changes.

Kudos to the Phoenix Project for making this approach available for the general masses. It took me a year to read this book after a friend and coworker recommended it, and I regret that I lost an entire year of this perspective. It’s now required reading for my team and I keep a fresh copy at my desk for any new-comers. The sooner you understand what is really happening and what is really needed to run year after year, the sooner you regain the reigns on your team’s ability to really make the business move.

Those of us who have been around the block a few times know the pitfalls that come with maxing out development on new functionality. Don’t get me wrong here, I’m talking about sustained focus, like years.*  After huge pushes like this you can turn around to find out that your existing customers are leaving you because their product–the one that you built last year–is falling apart. Almost all of the time this is a bad thing, so unless you’re pivoting your product to a new market and pretty much leaving the old one behind, you’d better run some quick calculations.

Now here’s where I get a little fuzzy, so you’ll have to finish these equations out for yourself

Your velocity for new development (Vn) is what’s left over after you subtract velocity wasted on bugs (Vb), spent on changes (Vc) and invested in internal projects (Vi). In my experience the internal projects are usually small and pretty easy to prioritize where they support Sales, Marketing or Support. Hint: one of those is a cost center. That leaves bugs and changes.

This simple little ditty came to me during a daydream I had while in a product meeting. I’ll walk you through it and then we can have a good laugh about it. Your change velocity (which is refactoring, rearchitecting, server and configuration changes) can be calculated by examining the size of your code repository (R), multiplying that by the sum of the features that Marketing (Fm) and your customers (Fc) think you have and then you multiply that by the number of people on your Sales team. Then you divide that by the number of QA (Eq), product (Ep) and developer employees (Ed) on the team.

The equation for bugs is pretty similar but the numerator is your repository size and the number of features you actually have. This is all tongue-in-cheek but either way it seems like these are the only hockey stick graph (exponential growth) the product development team every sees!

Alright in all seriousness, we know that:

  1. Bugs are best mitigated by talented QA team members and a development team absolutely devoted to testing. We’ve saved ourselves a lot of customer heartache by ensuring that our code is the best possible quality and we attribute that as the reason our customers stick with us so long, second only to product-market fit.
  2. Changes increase as the code and features increase. This part is actually pretty simple math, but never ignore it.

We also track the velocity ratio between our top projects and what we call our “tribute” work. The latter for bugs, small UI tweaks, very minor updates and any out-of-band refactoring. We’re holding at about a 3:1 ratio. This means the next four hires are only going to give us three heads to focus on new projects.

Here is the real key: find your ratios and plan for those as you make hiring decisions.

  • Understand how much of your time is spent in each of your types of work
  • Understand what the business really needs in each type of work
  • Understand how the ratios can change as you:
    • Add more features
    • Add more code
    • Refactor for reusability and modularity

* I have to qualify something here. Sometimes teams start to feel some burnout after huge pushes and new features are often the scapegoat. There is a whole area of discussion around helping your team understand why new features are necessary and why bug pushes can be critical for a company’s success. There are also horrible stories about how managers misuse “death marches” and fail to do necessary research and justification for their projects. These big, hard projects can be a harbinger for the death cycle but they can also be just what it takes to succeed.  If you’re in a position to question your company’s approach, I feel very strongly that it’s always on you to get your questions answered and either alleviate your concerns or confirm your suspicion.

I loved Good to Great and although it’s getting dated the principles keep coming up.

Companies that fall into the Doom Loop genuinely want to effect change—but they lack the quiet discipline that produces the Flywheel Effect. Instead, they launch change programs with huge fanfare, hoping to “enlist the troops.” They start down one path, only to change direction. After years of lurching back and forth, these companies discover that they’ve failed to build any sustained momentum. Instead of turning the flywheel, they’ve fallen into a Doom Loop: Disappointing results lead to reaction without understanding, which leads to a new direction—a new leader, a new program—which leads to no momentum, which leads to disappointing results. It’s a steady, downward spiral. Those who have experienced a Doom Loop know how it drains the spirit right out of a company.

 

Eyes wide open. Success is predicted and planned for.

Statistically significant?

If a p-value of 0.05 (5%) is too high, and the inventor of that threshold says it shouldn’t be used without consideration–which it is, all the time–then things we think are significant today just aren’t. We don’t always apply this kind of statistical rigor to decision making, but when we do we’re generally satisfied with this threshold. But we shouldn’t be.

Applied to product development teams, methodology matters a lot. But it can matter so much less than the talent of the individuals on a team. But methods and tools are still championed much more loudly than professional development.

In short, we should be looking for more obvious wins, and recognize that when something is close, but still statistically significant, it’s probably still too close to really move the needle.

 

Investing in professional development

There’s some debate still about these 20x developers out there, complete geniuses that gave rise to the “rock-star” moniker that every company seemed to advertise for. I’ve remained a touch skeptical–not that there aren’t amazing software engineers, I know several — but I’m skeptical because we still don’t have a really good, accessible ways to measure human contribution to software. Lines of code, commits and story point velocity are readily available. Regressions, debugging and runtime numbers can be gathered as well, but we know that all this still doesn’t paint the whole picture. Also add in the real-world impact that other factors outside of development have on performance as well: good product management, architecture and QA among them, but also deadlines, poor communication and bad management. With all of these variables, it’s going to be pretty tough to accurate gauge order-of-magnitude differences between programmers in the real world. And frankly, I don’t know that you need to because in your gut you already know.

“The differences arising from individuals in any given study will drown out any differences you might want to attribute to a change in methodology.” — Steve McConnell

Back in 2011 Steve McConnell responded to criticisms of his 10x programmer claim thoughtfully by pointing out what he was seeing in the studies that have already been done, most not even focused on individual contribution. What he found was that “the differences arising from individuals in any given study will drown out any differences you might want to attribute to a change in methodology.” In short, it nearly totally depends on who’s on your team. However, over-emphasis on this leads to ignoring methodology and tooling altogether and focusing instead on individual development and hiring, which would be short-sighted. My point here is that on the balance, the latter should constitute a more significant portion of team building efforts.

The trouble arises when you commoditize development. While there are many software tasks that require no planning or design, there is much more that requires careful thought. As Yevgeniy Brikman said in support of the 10x developer, “It’s not about writing more code; it’s about writing the right code. You become a 10x programmer not by doing an order of magnitude more work, but by making better decisions an order of magnitude more often.”

“It’s not about writing more code; it’s about writing the right code. You become a 10x programmer not by doing an order of magnitude more work, but by making better decisions an order of magnitude more often.” — Yevgeniy Brikman

This is why I prefer the title software engineer. Writing good applications is really about a mind well-suited for building: choices, compromises and the collective wisdom of personal experience and industry best practices. Don’t commoditize development. It’s a highly-talented and highly-compensated profession. It’s not about nuturing a team, it’s about providing the humans working around you with the best possible resources to be successful, innovative and frankly, fun to be around. Yes, tools matter, and methodology matters–they matter a lot and they can have a big impact on the quality and speed of your work, but investing in these while sacrificing investment in the professional development of the individuals on the team… well… that’s as bad as it sounds.

 

Getting to “Know”

We spend too much of our lives in ambiguity. So many outcomes, so many possibilities! Even an enumeration of the combinatorics would be a staggering waste of time and so we consent to let things play out. But we don’t completely let go – of course not! We make decisions in the moment, we strive to utilize consistent tactics, even strategies as well as we can. And when we have successes they are the result of our efforts, and yes, some luck. And when we have failures they are bad luck, and yes, maybe poor planning. We can press forward in uncertainty but Sir Arthur Conan Doyle’s Sherlock tells us, “It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.”

Bricks-without-Clay-copy
“Data, data, data! I cannot make bricks without clay.”

Certainly, the exploration of risk is rewarding and I don’t mean to take the fun out of it! But making data-driven decisions removes the worst outcomes. And less negative risk means less unpredictability and this is a good thing for business. It is predictability that allows us to make wise investments, to outmaneuver the competition, and it is the predictable inflow of money that keeps the lights on. This is why getting to “know” is so vital. Reorganize your processes to identify and weed out the worst variables first. Answer every question amounting to “why this won’t work.” You need not wait until all questions have been answered, but there is a critical mass that should be addressed before safely riding the long tail of uncertainty. But knowing where you stand on the most key factors of success puts you on the threshold of good decision making. If you decide to stop, you can do so early and with good reason. If you need to pivot, you have the wisdom of understanding just how it should be done. And if you should indeed continue on, do it with confidence that comes from really knowing where you stand. The earlier you know, the less risk you take on and the less time you spend

The decision to move forward in light of the data is much more sound than the decision to move forward despite the risks. Get to “know” then make the call.