16 September 2019
Outsourcing Custom Development for Fast-Paced Companies
Outsourcing Custom Development for Fast-Paced Companies
When a business leader decides to investigate the idea of creating custom software to power their business, it can be tempting for them to overlook some of the fundamental truths behind creating and owning an application. At Gaslight, we often hear our clients say things like, “I know what it needs … here’s a feature list” or, “Trust me, we don’t need to worry about that”. We nod knowingly with a slight grin, and reply. “Well, we’d like to talk about it anyway.”
I originally joined Gaslight as a developer in 2011. Over the years I have held the role of Project Guide, VP of Project Delivery, and now the interim CEO role. From these different vantage points, I have found the following three principles to remain true when it comes to outsourcing custom development. If they are understood and accounted for, they will help guide your app’s development and help prove its value when in production.
- Creating an application that powers your business is like hiring a team of employees that can ONLY do exactly what they’re told.
If you’re creating a business enablement application, there’s a good chance that much of the functionality is replacing work that has been done by members of your team. Think of your application standing in as your employees - performing actions on their behalf, exactly as you instruct them, over and over, without complaint. For example, if your application allows for automated and on-demand customer service, think of your software as THE singular employee that your customers will interact with on a daily basis. Your software isn’t static - it’s interacting with customers and employees on a daily basis. If built well, it will act as your best employee. If not, you’ll have an application that irritates your team and your customers in such a way that reminds everyone of the employee who can’t do their job properly …
2. You’re never “done” when it comes to building an application.
Our clients usually have a strong understanding of their domain. After all, if you’re the decision maker for the project, you likely have a good idea of what your business needs. It can be common for this knowledge to alter the estimate of what will need to be added, changed, or removed in the future. Related to the software- as-employee model above, we know employees need ongoing feedback and training our time. Your software will need the same ongoing maintenance, added features, and changing requirements. Don’t view this as a weakness of custom software - instead, treat the need for continued development as a competitive advantage as you tune your application to serve your business, exactly as it should.
3. The best source of ideas for your software will come from it being used in production.
Making the push from ‘In Development’ to ‘Production’ can be difficult. When a project is 95% done, that last 5% usually feels like it takes as long as the first half of the work did. Once the reality sets in that an application will soon be in production, it’s common for new feature requests to suddenly pop up. Sometimes clients feel they have to get their requests in before the project is over and we come off of the project. Although this concern is understandable, we strongly encourage our clients to go to production before we drop off the project. We’ve found that once an application is being used in production, everyone on your team suddenly has perfect visibility to how the software actually NEEDS to behave. If we have short cycle times on the project, we’ll be able to quickly iterate on the real-world feedback and improve the application very quickly, and get validation that the charges are correct. So push through your fear of going to production! It will probably be the best thing you can do for your product.