A Government “Field Of Dreams”-Style Case Study
In the world of custom software, what do you do with limited resources and a nearly impossible time frame? At Cantle Tech, we love taking on a challenge and rising to meet it so that we can make our clients’ goals come to fruition.
In this example, we worked with a large agency, and it seemed as though the odds would always be stacked against us.
Other developers said it couldn’t be done. The turnaround time was enough to give most engineers whiplash. The needs were high. Despite it all, we got it done on time and on budget.
Brace yourself; here’s how it happened:
The agency in question was in a bind. The previous contractor, who had been hired by the organization to build a new custom application, had pulled out of the project after six months, claiming that it just couldn’t be done. The organization opened up the project for bids, we placed a bid and we were chosen for the project.
The catch? It was a tall order. They wanted a release date for their application to tie in with a specific date on the calendar, and that date was rapidly approaching; the project was due in two and a half months. What else did we have to work with? It was a challenging order. Here’s what we were facing:
- We had very few details as to how the solution should be created.
- The project required a highly flexible data model.
- There were limited resources available within our brief project timeframe.
- The team left in place to manage the solution had limited technical knowledge, which means they had to learn how to use and scale the solution.
Making It Work During Crunch Time
As a team, we knew that we had to come up with the right strategy to get things done efficiently to come in on time and on budget and still fulfill the requirements set in place by our client. How did we do this?
Our product owners had a wishlist that was full of visual-heavy requirements. We decided to provide these visual elements for them as quickly as possible to ensure our work met their requests. After all, we couldn’t get days or even weeks into the project and have to start over. To provide our client with the visuals they needed, we released our user experience (UX) and user interface (UI) teams from having to rely on our back- and middle-tier teams to start their work— there just wasn’t the time to wait.
We gave our front-end team the freedom to build the product that would deliver on our client’s requests first and then build the systems around what they needed to meet the visual objectives established by the client.
This means that our strategy had to become a “Field of Dreams”-style plan. What does this mean? To meet the visual needs of our client’s organization, we had to build it first and then allow the data to follow. The famous movie quote is often misstated, but it remains true in this case:
Our front-end team had to build the views we needed, and then our developers built the data around these optics. This flexible data-model prototyping facilitated rapid agreement among our team to match each request and feed the information that needed to be bound to each view.
Setting Things in Motion
Our front-end team was encouraged to reference and adhere to well-documented RESTful architectural standards when they were building data requests so that the systems could communicate with each other reliably. They also were prepared to bind the results of the responses they received from the API.
While this was happening, the API data team modeled data responses to meet the needs of the desired view created by our front-end team while also maintaining a strong adherence to RESTful architecture, which put our teams’ goals in perfect alignment with one another; they were working towards the same end even if they were doing so from different angles.
This fluid interaction between the API data team and the UI and UX teams encouraged healthy collaboration and coordination as well as a creative problem-solving approach to fulfill our client’s needs.
Throughout the development of the API, our front-end team was encouraged to illustrate the visual features the client sought and, in return, our back- and middle-tier teams provided the client with a useful, fully outfitted JSON data model to fit this description. Additionally, we provided the URI stubs, query parameters and request bodies required to obtain the data models necessary to present the client-requested data-bound views.
From these rapidly constructed data-model prototypes containing realistic static data, the front-end team was free to complete the web and data-binding frameworks needed to meet the client’s requests. The flexibility of our approach allowed the front-end and API-data-layer teams to come to agreements quickly to facilitate changes ordered by product owners.
The data needed for this API came out of an Oracle relational database. We remodeled into a document data store, Couchbase, which we found to be the right fit for the client’s needs. This storage solution allowed us to provide features the previous contractor was unable to achieve because their Oracle database was not scalable and was not patterned to meet the requirements for this project.
This means that we were able to transfer their data to a new storage solution and provide them with a far more secure and performant RESTful API and micro-services on top of the data services and scalability included with Couchbase. This upgrade served as a solution for the otherwise insurmountable issues they faced using the older storage, access, and service methods.
Collaborating With the Client
We take collaboration very seriously, which is probably why we were able to find the success we had when building this solution in such a short period of time. Collaboration and open and easy lines of communication are the reasons we were able to provide a completely tailor-made solution.
We worked directly with our client to clarify all of their requests and establish the patterns for the development of their custom API, security, and user-facing features. Because of this, we were able to provide them with early results they could view and evaluate, which allowed us to establish trust and earn their continued commitment to the project.
Time passed on as it is wont to do, and our two and a half months were up. The results? We created a working solution and deployed on time to meet the client’s deadline and their list of requests. This means we created a full production-level application on an unheard timeline on a project that had been abandoned by the previous developers after six months!
While developing and testing the application, we also trained the organization’s team members on Couchbase and distributed application development so that they were knowledgeable in managing the solution on their own.
This means that not only did we deliver the application in record time, but we also trained their team on modern solutions that were new to them along the way. As a result, the application was released on time, and the organization’s team was equipped to handle it by the launch date. That's how simple we make it.
A Final Reflection
What made this project so successful when it seemed the odds were stacked against us? It boils down to a few key philosophies:
- We listened and adhered to the needs of our client.
- We came up with a creative approach to solve a problem quickly and efficiently.
- Every team member’s approach was working towards the common goal of RESTful architecture, even though our teams were working from completely different endpoints; they met in the middle with a completed design.
At Cantle Tech, we always strive to create architecture that encourages front-end teams to build apps that achieve all necessary visual objectives while also maintaining adherence to best practices and strong compliance with technology standards. For our back-end teams, this means that they get to craft apps “Field of Dreams”-style; the front end builds the visuals, and the back end supplies the data. After all:
“If you build it, [they] will come.”
This case study is a perfect example of what makes this strategy so effective because we get it done in record time, and we get it done well.
Can we help you build the ideal solution? If you’ve been struggling to find the right team to get it done, maybe it’s time we collaborate. Contact us today to learn more!