As I emphasize in Staying small, Opportunity in a gorilla suit, and Life isn’t fair, a wide variety of engineering work is needed to deliver value to our customers. There are engineers who improperly categorize that work into the good (cool new features and tech), the bad (boring old features and tech), and the ugly (obligations like compliance, deployment, documentation, compatibility, sustained engineering, world readiness, and manageability).
Some engineering leads and managers avoid assigning all the bad and ugly work to the same people or teams and instead divide it up and spread the burden around. While that may seem considerate, it’s ill-informed, ill-considered, and ill-advised, and all that illness reaches our customers and impacts our bottom line.
The problem is the presumption that work is good, bad, or ugly. It’s not—those categories are fleeting and fallacious. People’s tastes change, especially when executives set new priorities. What lasts is quality and value. Delivering quality and value drives our business and delights our customers. More pertinent and durable categories for work are: important versus speculative, valuable versus flashy, and understood versus risky. Every feature team should have a mix of work in these categories. Let’s discover why by breaking them down.
I think I’m going to be sick!
Before we get into the pertinent and durable categories, what’s so wrong about designating work as good, bad, and ugly? Besides the fact that ugly obligations are essential to our customers and business, the good, bad, and ugly categories instill a corrosive message in people’s minds.
Cool new features and tech often get cut—what was good is now really bad. Boring old features and tech are what drive our business and are essential to our customers—what’s bad is good. Obligations like compliance and world readiness sustain our business and expand our addressable market—what’s ugly is sexy to finance and our company’s mission. So, good is bad, bad is good, and ugly is sexy. Is this doublespeak really what you want to reinforce in people’s minds by saying work is good, bad, and ugly? If so, please work elsewhere—our competitors are hiring.
Is it important?
The first pertinent and durable category is important versus speculative. As I wrote in Is it important?, you can discover what’s important—what is business-critical—by listening to your leadership and reading their vision documents and planning memos. However, innovation often comes from pursuing a few speculative ideas. You must do what’s important, but you should also mix in some speculative work.
Without enough new ideas, you’ll stagnate and provide an opening to competitors. Without enough business-critical work, your business will fail and customers will exit. Spreading around a mix of important and speculative work across your group makes sense.
Flash is fast, flash is cool
The second pertinent and durable category is valuable versus flashy. Something valuable to a customer or partner is something they’d be willing to pay for in money, loyalty, or engagement. Something flashy grabs your attention. Flashy is important to our competitors who make their money through advertisements, but most of our products and services are paid for directly by customers. Thus, valuable features are more beneficial than flashy ones, in most cases, at Microsoft.
Nonetheless, we still need to advertise and sell our own products and services. For that, a few flashy features can make a difference, particularly if they also deliver customer value. In addition, we give away some products for free, like Edge, Bing, and MSN, so flashy features and content are needed to attract the advertisements that fund those businesses. Again, a mix of valuable and flashy work is important, but flashy work should always be strategically planned in close coordination with design and marketing, not just done on a whim.
I took a little risk
The third and final pertinent and durable category is understood versus risky. Some feature work is well-understood. We have a good idea how to implement it, know what the problems are, have people who can do the work, and have dependencies readily available. Other feature work is risky. We’ve never implemented something like it before. We’re unsure what problems lie beneath the surface (“peeling the onion”). There will be a learning curve for whoever is assigned to work on it. Or the dependencies aren’t complete and may not be ready in time.
You’d think that we’d want to stick to understood feature work, but doing so would eventually ruin our business. Our competitors are always looking for ways to differentiate themselves and take our business. If they are willing to take some risk and succeed, we will be left behind. However, if everything we do is risky, we may jeopardize our current business. Thus, we want a mix of understood and risky work.
Get the balance right
As I describe in the “Better learn balance” section of It’s business time, you want a balanced mix of work in every planning cycle. The McGrath and MacMillan’s Options Portfolio pictured in that column has market uncertainty along the horizontal axis, which aligns to important versus speculative work, and execution uncertainty along the vertical axis, which aligns to understood versus risky work. Your planned features should be spread nicely across the whole options portfolio. In addition, you should work with marketing to add flashy features that grab attention, if any are needed to augment all the value you’re delivering.
It’s not about the good, the bad, and the ugly. It’s about important, valuable, understood work mixed thoughtfully with speculative, flashy, risky work. Every feature team should have a balanced portfolio covering its areas of ownership and expertise. Doing so makes our business beautiful to the markets and our customers.
While I agree with the overall message, there is still the matter of what employees actually find personally interesting to work on.
If every person on your team finds, for example, sustained engineering to be *personally uninteresting* to work on, then assigning all of it to a single person is a great way to lose that person to another team or company.
It’s important for management to make sure their employees actually like their jobs.
Clarification: If obtaining business value requires your employees to hate their jobs, they’ll already be looking for somewhere else to work and you’d better already be looking for people who will enjoy that work. There’s always somewhere else to go in the software industry.
As I said, it’s essential to have a mix of work. Not only does that better serve the customer and business, it also provides more variety for the engineers. It’s the inappropriate labeling of work that I’m addressing this month.