We’ve previously talked about what you need to know before you talk to an application development company, but what happens if you don’t really have the answers to those questions? What if you have nothing more than a basic sense of how your application is supposed to work but don’t really know how to get to the point where you can have a reasonable conversation with the firms you contact? The simple answer is – Discovery.
What is Discovery?
If you contact Segue Technologies in the previously-mentioned situation, we’ll likely suggest a “Discovery” engagement, which –as the name suggests – helps us “discover” what it is that needs to be accomplished. Specifically, it allows Segue to work with potential customers to refine their vision of their intended application, develop a deeper understanding of the functionality and related business rules, and to garner enough information to provide a reasonable cost estimate for development. Typical deliverables from Discovery include high-level system requirements and basic design concepts (maybe a logo, or wireframes of a few screens that help explain how the system should behave, etc.). Essentially, Discovery helps us to write a Statement of Work (SOW) that could be used as part of a Request for Proposal (RFP) to solicit bids for development. Simply put, it helps us understand the work that will be required, and what that work is likely to cost.
What Happens During Discovery?
Many times, non-technical entrepreneurs may have an idea of what functions their intended app should perform at a high level (“My app will let people schedule laundry pickup from a roster of local dry cleaners!”) but not have any real clarity on how that should happen (Who manages enrollment? How are users validated? How is payment handled?) During discovery, Segue collaborates with the customer to better understand how all of the pieces of the application should work together, and what the cost implications are of the decisions they’ve made.
Discovery is an interactive process, and succeeds or fails based on the involvement of the customer and their level of preparation and knowledge of their intended market. While we have the expertise to translate objectives into requirements, if the customer does not know what they’re looking to accomplish, or cannot express it clearly, the Discovery effort may not reach its full potential. As always, being an educated customer is the best way to ensure success.
Benefits of Discovery
It’s also important to note that sometimes, Discovery also serves as a means to determine that a proposed project is not feasible, or is too expensive for the customer’s budget. By completing Discovery as a sort of “mini-project” the customer reduces their outlay for a project that would have been prohibitively expensive to fully develop. This sort of “surprise cost” tends to be more typical of entrepreneurial/startup sorts of applications or systems, where there are a lot of unknowns and new ground that needs to be broken to realize the system. By developing high-level requirements and some basic design concepts, we can gain a much better picture of the overall size of the effort required for full development.
Of course, not every customer or project requires a formal Discovery phase. Customers with well-written RFPs or SOWs do not typically need Discovery. On the other hand, when we are faced with an incomplete picture of the customer’s needs, we will generally recommend Discovery as a tool to flesh out the details to the point that we can confidently bid for the work. In the end, Discovery can save a lot of headaches for both the customer and Segue, and can go a long way to making sure that the customer will get what they have asked for, for a price they are willing to pay.