Co-Founder and Managing Partner at Michigan Software Labs.
Our team has learned a thing or two about developing custom software for our clients. Over the past 12 years, we’ve been part of some large projects with the goal of creating a digital solution (e.g., smartphone app, web app, cloud or IoT product) for the client.
We’ve learned some lessons the hard way and my hope is by sharing these three lessons with you that your project will be more successful.
Choose your team wisely.
Selecting a product development team is difficult. You need to talk to your network and seek out someone who’s worked with them before. Don’t rely on a single Google search and select the top of the list. Chances are the top link is outsourcing your project to two or three different countries, and it may be difficult to control the outcome down the road. There are also intellectual property concerns with this, meaning that your app idea could get stolen. When you talk with your network, you want to ask open-ended questions in a retrospective format:
• What went well with your experience with their team?
• What could have been improved?
• What advice would you give to someone like me trying to work with them?
Don’t skip the strategy phase.
There’s a temptation to jump right into UX design or software development. But don’t do it just quite yet. Imagine you’re going to build a commercial office building. The investment is going to be seven figures for your company to build the building—let’s say $5,000,000. Now imagine you’re going to start constructing the building but not doing any architecture or site work beforehand. You’re just going to pour concrete and put up some walls. You’re probably not going to get the outcome you’re looking for.
The same is true with custom software development. When you do the paid strategy phase (generally three to four weeks or 90 hours of work at $225/hour), there are some questions to get answers to:
• What’s the primary business outcome we hope this new digital product creates? This might be increased revenue, reduced costs, improved time to market or ROI.
• Who’s going to serve as the internal product owner? (Note: Vice presidents are busy people.)
• How much will this app cost? Make sure to build a budget and a timeline roadmap.
Build for scale.
There’s a famous phrase in custom software: “Software is never done.” And the adage is true. Imagine if Facebook released its app in 2008 and never changed it. We’d still have a web-based app and no native components, which isn’t ideal for the user experience. You need to consider how the software you’re building is going to meet the needs of the business three to five years down the road. Here are a few questions to consider asking:
• Adaptability: How are we able to develop the software in a modular way to ensure we can more easily add new features and functionalities into the system?
• Performance: How can we do load testing regularly to ensure the software is able to handle the increased activity on the product without any degradation in performance? Plan for 10 times what you would estimate on the low end.
• User Experience: How are we going to ensure we’re able to listen to users and hear what’s important to them? While we’re building this custom software for a specific business outcome, how do we ensure that the software works well with the humans who are using it?
In conclusion, custom software development is more than just about coding prowess—it’s about understanding how to apply these three lessons for a successful result. Remember that the journey of developing custom software isn’t a sprint but rather a marathon. It will take diligence and patience as you work with your custom software development partner along the way.
Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?
Read the full article here