Scaling Innovation: Introduction

Scaling Innovation: Introduction

Innovation and scaling are huge topics. They are often used as buzzwords but they can also be something very real and destine your company for either greatness or the wastebin of history. Let's go for greatness.

In this series, I'm going to analytically break down the areas of your business that both drive and sustain innovation. Many of the topics I'll cover are overlooked for flashier and trendy areas, but they can continually undermine your business if you don't pay attention to them.

While I'll speak mainly to internal aspects of your business, remember that vendors are an extension of your business and should be held to the same standards, if not higher.

Hiring

You are who you work with.

This shouldn't come as a surprise to anyone, but businesses are made up of people. The character and quality of those people seep into all aspects of the company. Are they fun or serious? Do they thrive in chaos or do they prefer highly structured environments? Most importantly, do they prefer experimentation or do they only follow the path laid out for them? Upon introspection, it should be abundantly clear which of these qualities your company possesses, and which it doesn't.

When thinking about scaling your company's innovation practice, look at who you're working with. If you're surrounded by people who fight against change and insist on "enterprise-grade" as proof in itself of superiority, then you should make this a focal point of your efforts.

You're the average of the five people you spend the most time with.

Birds of a feather flock together.

There are a number of sayings that point to the company you keep as a model to better know yourself. This effect can be amplified in a corporate setting. In the end, you are who you work with, so don't settle in this department. Look for passionate and innovative people who will challenge you to grow.

DevOps

The scaling skill.

While Hiring scales your team, DevOps literally scales your tools and products. This role adds massive scaling potential to your company and your products.

Deploying software can be a highly complex and therefore error-prone operation. CI/CD is a boon for automating and safeguarding several aspects of this. Most companies have been taking advantage of this for years, and there are a number of effective, proven solutions, with widespread adoption.

More recently, what has been making waves, is the widespread adoption of very good, cross-cloud, Infrastructure as Code (IaC) tools like Terraform. Simply put, it allows you to easily create or tear down large clusters of servers with all the additional things you need just by running a repeatable script. Need a new environment setup with 10 servers across different availability zones, a load balancer, and a virtual private network? Give me 10 minutes.

Patterns

Set the rules of the road.

Imagine there were no street signs, no traffic lights, and no established 'right' side of the road to drive on. That's exactly how it feels when you're working on a team that doesn't have structure.

One developer prefers a framework because it's what they're used to. Why not? You move off that project onto another in the same company, you feel like you have no clue where to start. Documentation is sparse and an afterthought. Why? The setup on the team is completely unique to other teams, so the only people that know where everything is are the people on the team. It's not shared across the wider organization.

Establishing patterns and processes that people can buy into is key to scaling in a repeatable way. The innovation is how you allow change in the patterns. Be open to input and allow patterns to change over time to keep up with best practices and changes in the industry. Patterns can be as simple as folder structure or documentation. Is there a better database for this problem? Explain the use-cases of when it is a superior choice and we can establish a new pattern.

Automation

Less is more.

Here's a hot take, Test Driven Development (TDD) is so 00s. While efforts to push for 100% code coverage are often well-meaning, the problems with it arise quickly and become painfully obvious. Requirements aren't written in stone and they change... A LOT! The truth is everyone likes saying they do testing, but then the business doesn't want to put their money where their mouth is. Asking for 2-3 months for testing is a hard sell because the value they're expecting to get from it isn't even guaranteed. You can still get bugs on 100% tested code, you just didn't imagine which set of conditions had to be true to get that error. Another problem is if it's done well, you won't know it's there.

A more scalable and cost-effective way to test systems is End to End (E2E) testing. Instead of testing every line of code, you test outcomes and the paths to those outcomes. If you have enough E2E tests, you can have a good level of confidence the system is working. These can be manual tests on a browser, app, API, or message queue. You get the end result but you aren't testing exactly how it got that result.

Now there's an even more scalable way to do testing. Automated browser testing. You can test different screen sizes, browsers, and even fail based on how long it took to load. You will be alerted to a failure with a video of the test, so you can see exactly where, when, and how it occurred. Run your battery of tests on a set schedule or whenever there's a change. Let the machines do the repetitive work.

Process

Leaders build a path to follow.

To some people, process is a mantra. For those who subscribe to the "move fast and break things" mentality, process IS the problem. Even small startups need some level of process and even large enterprises need room to experiment and be creative.

It's all about finding the right balance for your position. One that enables people to do their best work, but doesn't block their days wall-to-wall with meetings about meetings, talking about why you're 2 years late on deliverables.

Whether you're in a management position at a large organization or starting your own company, your job is to get the most out of your team. If they are always confused and work is duplicated or not done at all, that's your fault, not theirs. Get to the bottom of it and change your processes to ensure that isn't happening.

If you're expecting to scale quickly at a small company, your job is to figure out how your role should work and create the processes to make yourself replaceable. When you're no longer needed, it isn't time to put your feet up. It's time for a promotion and new challenges to solve.

Teamwork

Making the dream work.

Having a team is great but how do you empower them to do their best work? In my experience, it's not asking them to pull yet another late overtime session. You're welcome to try, but if you do this more than a couple of times a year it gives diminishing returns and if that happens more than once or twice a year, you are failing your team and the look on their face is the proof.

No, how you get the most out of your team is simple: work with them. Instead of telling the team, “We're now doing 8:30 AM daily standups,” why not ask them what time works for them? Some people work better after a couple of cups of coffee, some have kids to drop off in the morning, and simple steps to help them reach their full potential will be much appreciated.

Communication is a big part of teamwork. That means Slack or Microsoft Teams and it means meetings. What it can also mean is your calendar is suddenly booked solid and you're multitasking several conversations all day long. It's important to know how to cut it back to only take meetings where you're adding value or you are getting value. Don't be afraid to back out of meetings you aren't needed for. If you want to zone in, you can either go offline or mute notifications for an hour or two to focus and get your best work done.

If the problem is your team isn't talking to each other, then that needs to be addressed as well. This is true if you are the manager or a junior member of the team. Propose simple steps that add regular touchpoints without being overly burdensome.

Conclusion

Scaling Innovation at your company can come in many forms. You want to set yourself up to:

  • Have repeatable processes that constantly improve
  • Work with top-quality people
  • Understand and integrate DevOps at your company
  • Define and enforce best practices and patterns
  • Automate the boring parts of your business that add value
  • Get the most out of your team and your company
  • Bonus: Know when to take a break