-Back to main Services page.
Application development involves using technology, hardware, and software to transform data from records of information into meaningful insight that organizations use to make decisions and measure progress towards goals.
We have deep expertise in application development across a variety of platforms and technologies and can help you with any or all components of development.
In our practice, we take a technology agnostic approach. The best technology is the one that meets your short and long term needs, whether it be open source, commercial, or in-house built, cloud or onsite supported. We can help you determine the best technology to use based on your needs through proofs of concept, technology assessments, feature requirements assessments, capacity requirements, or other methods.
Our approach is to decompose analytics application development into the data layer and the application/query/visualization layer. The data layer acquires, transforms, and prepares the data into an efficient query state that is then queried by the end user through the application layer for the purpose of evaluation and visualization.
Before considering how you will transform data from its base state into meaningful insight, you should start with requirements to understand the business needs.
The requirements should tell you:
- What business context will be measured? How much history is needed?
- What level of data granularity is required? What aggregations are needed?
- What business rules need to be applied?
After you identify the requirements, an understanding of source data will enable you to model the data for efficient querying. Consider these qualifications:
- Where will the data be sourced from? Is it from a single source or multiple sources?
- What form is the source data in? Is it transactional, hierarchical?
- What transformations need to be applied to the data to align to business context?
- Post transformation, does the data need to be loaded into a querying repository/database technology layer?
Database Technology Layer
- Do you have in-house database storage technology that can be utilized?
- If not, what kind of database storage technology is the best fit?
- What firewall and security considerations have to be considered?
- Build vs. buy analysis
We can help you evaluate a build vs. buy decision through ROI and product requirements analysis. If buying technology is a better fit for you, we can help you with product comparisons, feature requirements, and ingestion requirements for absorbing new technology into your infrastructure.
Data Modeling, Architecture & Prep
- Based on requirements and source system analysis, how should the data be modeled? The model should meet requirements but should be extensible and flexible so that it can absorb new hierarchies of data as the business grows and evolves.
- Do you need to consider machine learning and predictive analytics?
- Is this an enterprise deployment or department specific?
- Through what engineering method will you transform the data? Will you code data pipelines or use pre-built ETL technology?
- Do you have a process or methodology in place that supports design, development, and testing of code before pushing into production?
Application, Query & Visualization Layer
The application layer is the platform through which users query and visualize the data. As with database technology, we take a technology agnostic approach to application platforms. The best technology is what’s right for your short and long term needs. As with the data layer, an understanding of the business and functional requirements is necessary in selecting and using application technology for analytics development.
We can assist you with all aspects of your application development. We approach application development through a practice of plan-develop-test-deploy to ensure that reports and visualizations contain accurate data and meet expectations before they are consumed by users at large in a production setting.
Some considerations in application technology and development:
- What quality of visualizations or other presentations do you need?
- Does the technology need to be integrated with existing technology?
- Is there a self service or template building component?
- What is the location of users? Are they regional, national, global? Does the platform have a distributed component?
- What kind of caching and scheduling mechanism do you need?
- What is your application security model? Does it need to integrate with company level security models?
- Through what method will users access the data? Web, mobile, email, message?
- Do you need bots or have automation and machine learning requirements?
- Do you need a middle layer of curated data sets for exploratory analysis?
Over the years we have worked with many technologies across the spectrum of analytics applications, including:
- SQL Server
- Business Objects
- IBM DB2
Also on our radar are Incorta, Looker analytics tools.