Technical Discovery

Many of our projects start with conducting a comprehensive technical discovery process. This ranges from analyzing existing code bases and uncovering potential roadblocks to researching technology options that perfectly fit the scope of work as well as providing recommendations on third-party integrations and devops strategies.

Client Apps (Web, Mobile, Desktop, etc.)

Technical discovery requires us to recognize both existing and proposed project dependencies, such as programming languages, frameworks, etc., in order to ensure successful implementation. By identifying dependencies that need updating, we can tailor each solution for optimal success. 

Our team of professionals reviews the application for UI/UX quality, code excellence and security assurance. We dive into repos and access any platform-based accounts or signing mechanisms to identify the changes necessary in order to ensure maximum efficiency.

During this phase, we’ll identify where the WIP versions can be deployed and determine the best strategy to incorporate all features. Additionally, if existing libraries are unavailable for use, strategies will be evaluated for creating custom ones. 

After performing an analysis of internationalization needs and considerations, such as RTL support and localization requirements, we will provide a comprehensive architectural plan for the client application. 

Once this phase is completed we'll also highlight any potential problem areas that may require further attention.

Backend Servers

We  identify any issues that may be present and assess if a rebuild of the servers is necessary. When it's time for us to step in, you can count on an expert description outlining what responsibilities are needed as well as which technologies will be used.

To ensure servers remain up to date, we’ll describe any necessary changes and identify the features they possess which can be found in existing libraries. Additionally, our overview of server architecture will highlight all problem areas identified during backend server analysis.


Services/Integrations

During this process, our team is tasked with evaluating the existing documentation of various services to determine what new insights can be gleaned.

We provide a detailed description and assessment for each service so that improvements may be made where needed.

From this discovery we can determine which services and integrations are optimal for achieving our project's objectives. We'll evaluate each option carefully to ensure feasibility and assess potential challenges along the way so that nothing stands between us and a successful end product.

At this point, our team determines pricing for essential services and integrations by providing accurate estimates.

Data Stores/Databases

This includes an in-depth look into the data stores that will be necessary to fulfill this project. We're constructing a UML diagram and assessing if any adjustments need to be made before we can proceed.

CI/CD, Monitoring, Errors, Analytics and Dev Tooling, Etc.

We’ll provide a comprehensive description of the tooling that will be used in the project along with associated costs for services.

Testing

Through this process we continuously evaluate the project to ensure all functions and components have been thoroughly tested. Our team is committed to providing an in-depth analysis of each suite so that nothing is left untested.

DevOps/Infrastructure

A detailed assessment, can discover if the client owns their servers or uses cloud services. We estimate daily, hourly, and even minute-by-minute usage volume for precise analytics.

After careful consideration of the client's needs, locations, and testing infrastructure we provide tailored suggestions on hosting assets as well as load tests that will assist in meeting their goals.

We ensure that all server loads are accurately measured to help our clients develop an effective deployment strategy, preventing downtime disruptions.

As the project scales, our document outlines strategies to ensure continued growth. Here are some of the examples:

After the Technical Discovery is complete, it's time to move onto our next step: