From Prototype to Production Software
Initial Prototype Shows Promise
Fathym came to us with a problem; they had invested heavily in a piece of technical software and the dev team that built that software was leaving. They needed to understand the nuts and bolts of the prototype they had in hand, and they needed a second opinion as to how it was built. Moreover, in order to confidently commercialize the idea, the system needed to be much faster, and use less cloud computing resources.
The first step was a thorough technical audit of the existing prototype. By quickly developing some minimal domain specific tooling we were able to produce the same results via different means to double-check the prototype's output for the first time, setting a baseline benchmark for its accuracy, and simultaneously discovering a few situations where the outputs were just plain wrong. We arrived at an understanding of the existing architecture and extensive documentation about exactly how the system did what it did.
We developed an understanding of the system that we effectively communicated to nontechnical leadership in order to help them make decisions about how best to commercialize the product.
We then spent time talking to the various stakeholders to decide the best pathway forward. The menu had two basic choices on it; (1) we could help hire developers who were fluent with language in which the original prototype was built in order to develop it further, or (2) we could rebuild the system ourselves.
New Team or TechAscent?
Hiring a new team familiar with the language in which the prototype was built, training them on how the system worked, and then working through a functional solution would both add to headcount, and be very time consuming.
A back-of-the-envelope calculation of this headcount expenditure:
- Local full-time software development salary: $108,000/yr
- Multiply by 1.3 to account for healthcare, payroll tax, PTO and other benefits (not office space)
- Multiply by 2 for two people - a single developer on a system like this is an unacceptable risk
- Divide by 12, and end up with a rate of $23,400/month to cover these new team members
We estimated it would take about 4-6 months to build a production system. Plus, with a data-intensive system like this, and no guarantee that these new team members would have sufficient experience with high-performance computing, it's doubtful the new system would perform well enough to succeed in the marketplace.
The other option was to engage TechAscent to transform the prototype into a production-grade system. With the earlier technical audit in hand, we estimated we could launch the product on an initial fixed bid of $64,000 (less than 3 months of the costs of the two employee plan above). Additionally, our substantial experience in high-performance computing gave everyone great confidence that the system we developed would be fast and efficient. Finally, once a working system is in place we promised to move to a low monthly retainer, remaining available for consulting and technical sales support. This allows the client time to adjust and learn to sell to the new software system.
Fathym decided to engage TechAscent to build the productized solution on a modern software stack with massive scalability engineered in from the start. We dramatically simplified portions of prototype, lowering data ingest costs, and partitioning the final solution to allow for better scalability while minimizing cloud infrastructure use. The production system we built also returns answers over 1000x faster, eliminating everyone's concerns around the initial prototype's poor performance. All this while charging significantly less than it would cost for new team members to begin to learn the problem domain and build the system.
There are more factors to business success than a working software implementation. TechAscent has years of experience across many domains. So, working with the client's customers and providing technical sales support is also in our wheelhouse. No product can really sell itself, it always takes a team; this is a fact that we understand well and we always work to provide information and support to all areas of an organization well after the initial build is done. Once the system is built and running it requires less than full-time engagement, so we can move to substantially reduced retainer rates while the client scales out and begins to sell the system.
If it makes sense in the future, a client's technical team can completely own and operate the software they had us build. Engaging experts to build an architecturally sound first version enables huge cost savings over having a new tech team and business unit get started at the same time. In many cases the things we build are sufficiently stand alone and have such low operating cost that TechAscent is happy to host and maintain the application. Naturally, the client retains full rights to the IP and the source code so they always have a clear pathway to transition the system into an in-house engineering team, or involve it in other business deals, as appropriate.
A Strategy For Success
The strategy boils down to a very simple pathway. Have our team of experts understand the existing state of an application and share that understanding with stakeholders. From there, continue working hard to find the simplest pathway forward, with the best chance of building value. Then, engage our development resources to build the next version based on that shared understanding. With a working system, move into a low-cost maintenance retainer, with open lines of communication between our team and yours to fully realize gains from the new system. Leveraging TechAscent is a great way to solve your software business needs.
TechAscent: Removing risk from technical investments.