Build vs Die

Build vs Die

For years the IT debate was 'Build vs Buy'. That's the wrong way to look at it in the age of Cloud. It's really 'Build vs Die'

In 2021 every company needs to be a Digital Company. At the Microsoft Technology Centers We are seeing that the most successful companies in every industry are building software that delights their customers. Are you convinced your company can deliver amazing customer experiences to survive? At the MTC, we can help you on your journey.

Let’s look at one industry that is being disrupted by advances in software. Banking. Local and regional banks have had online banking for years, but the user experience was often horrendous. In the last few years disruptive software companies have gained huge share of this total addressable market (TAM), and these companies have no banking experience at all! Almost every bitcoin and blockchain company has no experience in banking or payment processing, yet every financial institution is rushing to catch up to them.

Existing banks are beginning to see this trend and are becoming more Lean. They realize that user satisfaction matters. Within these banks we see pockets of autonomy that are trying new things, shipping new UXs quickly, getting customer feedback, and then pivoting after learning what is not working. These banks are becoming the innovators who are shipping the apps and experiences that younger consumers are demanding. They realize their product isn’t just traditional banking functions – any local bank can do that – but providing differentiated user experiences.

If your business, in whatever industry, follows a similar mentality, you will be rewarded – loyal customers and increased revenue. Most executives we speak with agree, but sometimes we still hear, “OK, we agree, we can outsource this or buy a COTS product. Building software isn’t our core competency. Thanks for your time.”

This is just wrong. Read on.

A Quick History Lesson

For most of the History of Software a vendor would come in and tell you, “building software isn’t your core competency, hire us, we can do it better.” The results have been, at best, mixed. Most companies viewed software development as a cost center so (former) trends like offshoring and outsourcing made sense. Entire IT departments were outsourced to get the lowest OpEx.

This is the heart of the “build vs buy” debate. Should we build something bespoke that costs more, or buy something off-the-shelf or farm it out, at a discount? This mentality tries to distill software development into an accounting exercise where we are trying to maximize IRR/NPV. Please trust me, if a vendor tells you, “software isn’t your core competency”, show them the door. Don’t think of it as developing software, you are investing in user experiences. And only YOU know what your customers really want and need. The question should really be, “Build vs Die”. If you don’t build it, your competition will gain more of the total addressable market (TAM).

Stop thinking of software development as a cost center. The most successful, forward-thinking companies view their software development organizations as PROFIT CENTERS.

In the 1980s and 90’s implementing an ERP, as an example, took years to implement with a huge capital investment. An out-of-the-box Oracle or SAP implementation would require on-prem infrastructure, and that alone took months to roll out. And if you wanted customizations…good luck. The mantra was closer to “modify your business processes to fit our ERP tool” vs “customize our software to fit your needs”. The result: businesses and processes that were constrained by enterprise software.

For 7 years I worked for a consulting shop that preached to Big Companies: “Never customize your ERP software.” Yet they made almost all of their revenue renting consultants who knew how to customize ERP software. And then whenever the ERP software needed to be upgraded, guess who was there to ensure all of the customizations would require re-work for the upgrade? This is guaranteed recurring revenue.

Some of that changed with the advent of cloud. Suddenly anyone within your company could implement a SaaS solution quickly with smaller CapEx. Time-to-market shrank and departments were able to experiment with products like Salesforce using limited rollouts to show value. If a project failed or was delayed it wasn’t nearly as disastrous. And the software, by design, is much easier to customize.

Today’s Innovations: People, Process, Technology

With technologies like public cloud, Kubernetes, and APIs we have the power to build better software, faster. These technologies abstract away the low-level infrastructure and allow you to focus on business problems and not plumbing.

We also have more productive and smarter developers now. Developers are doing innovative things with analytics that weren’t even dreamed of 30 years ago. More employees are becoming knowledge workers with access to data to help make informed decisions that was not available even 5 years ago.

And we have processes like DevOps that are shown to increase productivity and minimize bugs. We are removing complexity and creating simpler patterns that accelerate time-to-value.

If a business embraces this vision of IT, then IT should not be seen as a cost center, it should be seen as a profit center. We can now build a software MVP (Minimum Viable Product) in a matter of weeks, perform limited releases to our customers, generate feedback, and iterate, iterate, iterate. That’s continuous improvement!

Is BUY ever a better choice than BUILD?

If you just need an internal software tool to solve a common business problem, “buying” is probably the right approach. Who is really building their own accounting software in-house these days? There hasn’t been any new advances in double-entry bookkeeping in years, a COTS product will probably work. But for software that is customer-facing, that can influence revenue, you need to BUILD the software. If you don’t, your competitor will!

In 2021 there is no debate, you either “Build” or you “DIE”! In the “App Economy” your experience is what differentiates you from your competitors and you need something that isn’t cookie-cutter. If your app isn’t giving your customer a great experience, or is giving them the same experience that your competition gives them, then your customer might just find an alternative.

Quick story: I’ve been banking at the same regional bank for 20 years. I just switched to a new bank that has a better user experience. My old bank has the most outdated UI, no mobile app, and requires phone calls and branch visits to do the most basic tasks (like setting up a Zelle account or activating online banking). BTW, do you know how difficult it was to schedule a branch visit at the beginning of the covid pandemic? For years I saw banking apps with awesome features I wanted to leverage. I finally transferred my money and accounts to another bank that was building better user experiences. Do you know how difficult it is to switch banks? I had to switch my direct deposit, automatic bill payments, I needed to order new checks (my teenage daughter told me a check is basically “a Visa card printed on dead trees”), and I need to setup automatic transaction downloads to Quicken. This is a cumbersome process, but it’s worth it to have a better experience over time. Lesson to businesses: don’t give short shrift to your app!!

At the MTC we see this trend every day. Established industries, like financial services, are being disrupted by startups that simply execute on an idea that the established players can’t seem to do, or aren’t willing to do. They are building what customers really want.

Every company needs to become a Digital Company, building differentiated software.

Even if you BUILD, always BUY when you can leverage your supply chain without losing competitive differentiation

You also want to BUY software when your supply chain can provide it to you cheaper and faster than you can yourself and it provides no customer competitive differentiation. A simple is example is the public cloud. Managing your own data center is likely not a good use of your time or resources. For most companies, managing their own data center is a distraction and slows time-to-market. Most companies cannot deploy data center infrastructure without a huge CapEx investment. Every software development project becomes risky due to the overhead of infrastructure investment. But in Microsoft Azure that same infrastructure is an OpEx. This removes some of the economic risk to building software. It also takes minutes to spin up any amount of infrastructure. This fosters experimentation and fail-fast mentality.

Microsoft Azure is your supply chain for infrastructure.

Ford and GM do not build all of their own parts. They outsource to other manufacturers so they can focus on final assembly to ensure quality and the user experience. Auto makers leverage their supply chains. IT and software development should be doing the same thing.

Azure provides compute, storage, and APIs to other services to allow you to focus on user experience. Your developers should be leveraging APIs to simplify difficult processes. APIs are building blocks that developers can use to improve time-to-market for your products. A simple (and popular) example is Twilio. If you application/experience needs to communicate with customers over SMS, text, or voice, Twilio can do this with a few lines of code. Customer communication is an example of something your developers should NOT be building. It offers no competitive differentiation to you.

Always BUILD when you can leverage your customer to help you

As much as possible, you want your customer to build your experience for you. If we’ve learned anything, building an experience without customer input rarely works. Customer engagement is directly correlated with project success and revenue generation. When we do Design Thinking sessions at the MTC we plead with our customers to ensure the end user (the “customer”) participates. Unfortunately this doesn’t always happen…too many business leaders and IT think they know what their customers want. Why not just ask them?

“End user…is that a noun or a verb?”

The Instruction Manual for Building Great Customer Experiences with Software

…well, there isn’t one. But here are some tips we’ve learned at the MTC during engagements with our customers:

  • IT and the lines-of-business need to work together. IT doesn’t know what your business needs and it won’t learn those needs from a Requirements Document. You want to practice “human-centered, empathetic Design Thinking” where IT and the business work together to discover what really works. More on this below.
  • “We want to be the Uber of our industry”
    • We hear this all the time. Why exactly do you want to be the next Uber? Don’t repeat what everyone else is doing. What worked for Uber likely won’t work for you. Be original. How?…
  • Be customer-obsessed
    • Do you think you are customer-obsessed? If you do, then I’m certain you are inviting your customers to your Quarterly Design Thinking (DT) sessions and you are getting feedback early and often. Are you doing frequent DT sessions with customers? Are you getting early feedback? Being customer-obsessed means listening to what your customer says. But it also means following your customer. They may tell you one thing but do something totally different. This is really important. Many times customers won’t tell you what they want, they’ll just tell you the solution (and it’s rarely the best solution). You need to be able to recognize this.

If I listened to what people wanted, I would’ve built a faster horse.
–Henry Ford

  • Analyze your customer. This often requires data and advanced analytics, not just observational or anecdotal information. Be data-driven. Make decisions based on data and hypothesis testing, not based on your gut.
  • Change your culture
    • Foster a culture that puts the customer at the center of your vision.
  • Ship early and get feedback. Follow Lean Management Principles.

Warning: be careful doing Scrum and Agile. These practices tend to turn software development into a manufacturing activity. We start to worry too much about deadlines and utilization metrics. This drains creativity from the endeavor. And you lose the ability to fail-fast and experiment. Don’t worry so much about Sprint Planning and passing User Stories from the business analysts to the developers. Instead, focus on Design Thinking and building Rapid Prototypes. Think Lean and NOT Agile.

The Microsoft Technology Center Can Help!

Are you convinced you can build the next great software experience to digitally transform your business? Most of our customers aren’t.

As a data scientist I often participate in conversations around data monetization and building “X-as-a-Service” business models. At the MTC we help customers with their Digital Transformation. Part of that is understanding that “it’s different this time” may actually be true. In the past it was just too risky for companies to BUILD when software development was NOT their primary business (like banks). That’s not the case anymore. With the cloud it’s fast and economical to build an experiment to see if your business idea will work. You no longer have to BUY a packaged solution that all of your competitors have and your customers don’t want. Or worse, outsource the development to a team that doesn’t understand your goals and has a different set of incentives.

Here’s how the MTC can help with these transformative projects:

  • Human-centered Design Thinking Workshops: don’t give your developers a requirements document and ask them to build it. Ask your developers to participate with your business people in the ideation process. Share your problems with your developers. I guarantee you’ll be surprised at the results. We host these workshops and customers love them. Our customers watch us and then run their own DT workshops internally.
  • Hackathons: Don’t do hackathons once a year, do them as often as you can. Your developers want to solve problems creatively, not be told here is a requirements document, go do these tasks. We host hackathons for customers where we help them leverage bleeding edge technologies.
  • Rapid Prototypes: bring us a problem and give us 3-days to build a prototype with your team. It won’t be perfect, but it will give you a sense of the Art of the Possible. By the end of the workshop we want you to either say, “Yeah, it is different this time, we can do this!”, or “This seems risky, thanks but we’ll pass.”

We can help you migrate from a traditional scrum project management method to one based on Lean, MVPs, and experimentation. Suddenly software development is fun, and profitable, again.

Building software is not the risky, capital-intensive initiative it was just a few years ago. At the MTC we know the patterns that will remove risk and shorten the time-to-market for your solution. We never propose expensive 18 month development projects. As part of building a rapid prototype I want you to learn some of my best practices and see if they will work for your company.

Does that sound like someone your team can trust? To learn more, contact me or your Microsoft account team today.

Are you convinced your data or cloud project will be a success?

Most companies aren’t. I have lots of experience with these projects. I speak at conferences, host hackathon events, and am a prolific open source contributor. I love helping companies with Data problems. If that sounds like someone you can trust, contact me.

Thanks for reading. If you found this interesting please subscribe to my blog.