MITCO

Software Architecture and API development modernization.
Technical Leadership | Software Architecture| Digital Transformation

Problem-Opportunity

MITCO approached us with the need to document, modernize and retain technical knowledge. They were looking for a solution to help disconnect technical expertise, from any one specific individual who might leave in the future and hinder their ability to deliver continuous internal technical knowledge.

In parallel to their knowledge-retention needs, MITCO was looking to modernize their internal IT software tools, by modernizing various aspects of their digital infrastructure to accommodate new business needs, while looking for a transitional partner to help guide their internal IT needs into the future.

Solution

Our primary solution with MITCO has centered around having strong technical leadership supported by rigorous documentation and business analysis. By taking a process-driven documented-approach we have been able to demonstrate our ability to detach the technical expertise of their business from any one individual and to instead focus the value of our work on the materials developed rather than the knowledge held by any one individual.

From this approach, various proof of concept technical feasibility projects have been started and completed around the modernization and development of new database and API layer tools to help MITCO manage its various warehouse/facility locations around the world. We’ve been engaged so far on 3 on-going projects and are looking to the future to further expand and further digitally-transform their operations.

Data Interface Modernization

MITCO engaged Fountain City for various services inline with modernizing their existing legacy applications. Our initial efforts were focused around building a modern application which interfaced with their legacy backends, to provide a more platform-agnostic solution.

We built environments, developed database models and coded-out data endpoints related to important search query needs and results.

There were a few specific challenges on this project. The first, was that there were multiple databases instead of a single one for the intended purpose and secondly, the databases were not normalized. Finally, the expected information was in a combination of fields that we needed to account for by checking for differences between them.

We approached each of the problems individually and provided a solution to each problem with its own benefits and caveats. As part of the project we documented the solutions for these approaches and tracked for their future-purposes the benefits obtained from our solutions.

We aligned with the use of Django + DRF and an absolute minimum amount of custom code that fulfilled the client’s requirements.

There were a few specific challenges on this project. The first, was that there were multiple databases instead of a single one for the intended purpose and secondly, the databases were not normalized. Finally, the expected information was in a combination of fields that we needed to account for by checking for differences between them.

We approached each of the problems individually and provided a solution to each problem with its own benefits and caveats. As part of the project we documented the solutions for these approaches and tracked for their future-purposes the benefits obtained from our solutions.

We aligned with the use of Django + DRF and an absolute minimum amount of custom code that fulfilled the client’s requirements.

API Development

This project builds on the work done previously to expose and aggregate warehouse inventory data for future staff tools and partner integrations through an authenticated and secure API.

Working with our IT Infrastructure partner we set up a CI/CD process to streamline API deployment and testing in development and staging environments. We also decided to break the development up into a sequence of pieces/milestones and treated each step as a mini-MVP. This allowed us to iteratively build out the features, documentation and test cases, as well as get early and iterative feedback using “fully” functional demos.

Although we were working on a fresh codebase with a modern platform there were still some challenges to overcome. The most challenging of which was integrating with the legacy system’s data as transparently as possible in the way it exists right now instead of in an eventual ideal state, while at the same time providing new capabilities that can be used by both MITCO and their partners.

In between two phases of this project, our ability to demonstrate continuity was also tested. One of our developers who had been with us for 5 years had decided to leave our family and we had to complete a smooth transition mid-stream. We were able to drop in another senior technical lead rapidly and absorbed the costs related to the unexpected departure. Both developers worked together smoothly during the transition and documentation for all parts of the technical process were tracked and properly signed off, testing and at once validating our ability to provide the continuity of service our client is looking for.

Working with our IT Infrastructure partner we set up a CI/CD process to streamline API deployment and testing in development and staging environments. We also decided to break the development up into a sequence of pieces/milestones and treated each step as a mini-MVP. This allowed us to iteratively build out the features, documentation and test cases, as well as get early and iterative feedback using “fully” functional demos.

Although we were working on a fresh codebase with a modern platform there were still some challenges to overcome. The most challenging of which was integrating with the legacy system’s data as transparently as possible in the way it exists right now instead of in an eventual ideal state, while at the same time providing new capabilities that can be used by both MITCO and their partners.

In between two phases of this project, our ability to demonstrate continuity was also tested. One of our developers who had been with us for 5 years had decided to leave our family and we had to complete a smooth transition mid-stream. We were able to drop in another senior technical lead rapidly and absorbed the costs related to the unexpected departure. Both developers worked together smoothly during the transition and documentation for all parts of the technical process were tracked and properly signed off, testing and at once validating our ability to provide the continuity of service our client is looking for.

Notable Success

We completed data mapping and new model project, and developed subsequent API integration for internal team demo of new architecture framework. Through this process we demonstrated our ability to provide continuity and well documented framework code as a viable, strong technical-business partner.

Moving forward we are working with MITCO and our IT Infrastructure partner to provide technical leadership and documentation of technical knowledge, as well as migrating and enhancing more segments of their legacy system in a way that brings business value now and  not only in the distant future.