Managing software development: A primer
More and more, managing software development is a necessary skill for all sorts of CEOs who never thought they would ever have to deal with creating software.
We are well into the age of the Internet of Things; that’s one reason. A product that once stood on its own is now expected to connect to the world. The other is that for almost any product or service now, there is often a related piece of software—a web application, mobile app, or online service—that brings more value to that product or service.
If you are such a CEO, managing software development probably frustrates you. You may not have spent your career building software products, but now you find yourself facing the need to bring a piece of software to market. And nothing seems to make sense.
Creating revenue-generating applications is what we live for at Applied Visions, and doing this for countless clients over the years has given us some wisdom. I want to pass some of that wisdom on.
Truths about managing software development
- You will never be finished. If you’re lucky. If you succeed, people will want to keep buying and upgrading your application. They will come up with new ideas and new requirements, and demand new features. To keep them from abandoning your application, and to keep competitors at bay, you’ll need to keep meeting those requirements. Plus, technology changes constantly. The only way to keep selling your product is to stay in continual upgrade/update mode.
- You will be faced with technical decisions that could have a serious impact on your application. If you are a software expert, great. You’ll be able to help your team make wise technology decisions. But if not, you will need to follow a few basic rules, so read on.
- Don’t take for granted that your programmers know best. Developers often go with what they know, because it’s safer to stay within the bounds of their own experience and preferences. But sometimes they may choose tools because they’re “cool” and will look good on their resumes. “Coolness” and “longevity” are often in opposition. If you’re creating a small, short-life application, no big deal. But if your goal is to create a robust and lasting product, you’ll want a development toolset that is proven, and will be around for at least several years.
- Engage someone who can help you make these decisions, and who doesn’t have a vested interest in the outcome. Programmers can make a very convincing argument for a particular technology, while conveniently omitting that another just-as-viable (or even better) technology exists. It helps to have a trusted advisor weigh in on the choices. Because your programmers will have to buy into the decision, the person should also be someone whom they respect, and who can convince them that what’s good for the business is also good for them.
- Don’t take this lightly. I can’t tell you how many times a CEO has come to us after an application has been fully developed and out in the marketplace for some time, only to learn that it isn’t able to handle the demands that success has placed on it. Or that the underlying language isn’t supported anymore, so the entire application needs to be redeveloped. Or they just can’t find people who know that language, so they can’t get anything done. Every decision you make has ripple effects downstream. Don’t take any of this lightly.
There’s a lot more to the process, but if you keep these truths in mind, you will be steered away from the worst pitfalls. We can be our own worst enemies when it comes to developing applications. You’re embarking on a mission that will be difficult, complicated, and indispensably important. But by reading this article, you’ve already taken the first steps to success.
This article was excerpted and adapted from The CEO’s Guide to Creating Great Software for Your Customers, When Software Isn’t What You Do, by Frank Zinghini. Click here to download the full guide for free.