How emerging companies develop salable software
CNET@Work: Hire local, look offshore, or do it yourself? Here are three approaches to getting your idea off the ground.
With technology increasingly intertwined with all aspects of business, CNET@Work can help you -- prosumers to small businesses with fewer than five employees -- get started.
You're a small business owner and you have an idea that you want to turn into a marketable software product -- but you're not a software developer.
How do you get your idea launched?
Here are three approaches.
Start developing the software yourself
Mike Little, CEO of Byte and a former engineer with Sun Microsystems and IBM, was interested in developing an online restaurant review forum for customers that also served as a place for restaurants to post their menus and gain feedback. With a background in big data and analytics, Little's plan was to add a backend of analytics to his online restaurant reviews. Subscribing restaurants could use these analytics to gather periodic and real-time information on their customers, such as who patronized them most often, and which customers had the biggest impact on social media.
"When I started this project, I did not have a software developer and I wasn't a developer myself," said Little. "But I used IBM BlueMix tools, which enabled me to do much of the initial development of the system myself. If I wanted to create an application that sent a push message to a phone, all I had to do was to describe the function to BlueMix and it would produce the code for me."
Lesson learned: "There was a little extra 'glue' I still needed in order to get all of these software components that I created to work together," said Little. "I secured assistance from a professional software developer to get this software integration done."
Hire a local software developer in your area
"As my system took shape," Little said, "I realized how important it was to find a software developer right here in my local area so we could sit down and have a cup of coffee to discuss new ideas for the software, and also the ongoing development of the software."
Little also discovered that it wasn't enough simply to find a developer who knew how to code the application. Professional software developers are expensive, so you have to balance these costs against your need to run a new business as economically as possible.
Lesson learned: "If you hire locally, it's important to find a 'jack of all trades' guy who understands not only the application code and how to write it, but also the mechanics of the hardware and the operating systems the app is going to interact with," said Little. "You need all of those skills in one person."
Develop your software offshore
When Jim Kosalos, a geophysicist from the University of Wisconsin, launched San Cristobal Coffee Importers in 1996, he wasn't planning to develop software or become a developer. However, his work with coffee producers in underdeveloped countries alerted him to the need for a more formal enterprise resource planning (ERP) and quality control system to improve the yields of coffee in the fields.
"My background in systems engineering led me to develop the tools, both hardware and software, to help manage coffee production," said Kosalos. "It was never an objective to develop an ERP, only to gain control of process to improve the product and stop 'leakage' of resources. As the tool kit grew, it became clear it was becoming a lot more than a QMS (quality management system)."
First, Kosalos explored ways that he might collaborate with US-based ERP firms, but he found that none of these companies shared his vision or the inclination to become involved with coffee.
"I did some additional research and this eventually led me to an Indian software development company that looked very attractive, but there were difficulties with language," he said. "We had an office in Mexico and I spoke Spanish, and it was around this same time that our Mexican in-house attorney mentioned that one of her classmates was working for a software development company, MXGlobal Solutions, that had 30 people working only 10 minutes down the road from us." Kosalos entered into a contract with them, and the arrangement has worked well since.
Mike Little, who started his software development onshore, also decided to move portions of the work offshore.
The business advantages that both Kosalos and Little experienced included faster turnarounds of code, and more affordable skilled labor to do the work.
Lessons learned: "Because there initially were language and communication barriers with offshore developers, I learned to document my software requirements very precisely, because I found that a developer will do literally what you ask them to do -- so it is important to be precise with your business requirements," said Little.
"Quality of the software and the user interface are paramount to users,"said Kosalos. "What I learned from all of this is that any large engineering project like developing software is always more difficult than anticipated. I already knew that from prior experience, but it's refreshing to have your nose rubbed in it yet another time!"
Finally, Little learned the importance of protecting your intellectual property. "When I use offshore developers, I job out pieces of the system to different developers so that no one sees the entire software system, which we integrate here. In this way, maybe a developer gets a piece of the code, but never everything."