Our Technical Capabilities, Strengths and Approaches

The right solution, right now

We understand our clients’ problems and develop appropriate solutions quickly – usually providing a working prototype for key computations within days. This allows us and the client to validate the correctness of our approach right from the start.

We work closely with subject matter experts in the client’s organization who have a thorough knowledge of the business and the day to day operations. We listen and help identify what works well within the current processes, and what needs to be changed. Once we deliver a prototype, we work side by side with our clients to grow and continually enhance this prototype until it becomes a robust solution that will work for the organization and its people. In fact, we have been following this agile software development process long before it was named “agile.”

Data analytics – we have done this before

We deliver high performance flexible economic and financial analysis systems. These systems support complex multi-dimensional time-series calculations, primary and secondary data suppressions, sophisticated result tabulations, and fine-granularity authorization schemes. Our systems operate orders of magnitude faster than comparable systems, and provide transparency and auditability over all computations. We understand the critical nature of accuracy in the results our clients publish, as well as their tight and rigid delivery deadlines, and we are comfortable operating in this type of environment.

In short, we've done this before. We don’t need to start from scratch every time we encounter a problem. Chances are, we've already experienced and solved a similar problem. This experience results in significant time and cost savings for our clients.

Flexible systems

We understand that systems need to evolve as business processes change. Organizations are not static, and neither are their processes. It has been the unfortunate truth for many organizations that systems are  obsolete and no longer support business needs by the time they are implemented. 

We use a flexible metadata-driven approach that significantly reduces the need for software releases. (Rather than implementing the business logic in the code of the system, it is instead expressed as metadata; when business rules change, the changes are made to the metadata instead of the code.) This approach allows business logic changes to be made quickly and without the need for a development cycle. This approach also facilitates transfer of ownership of the system from developers to analysts. We train our client’s personnel to own, maintain and update the systems we develop so that the solutions will endure after the project is over.

Efficiency and transparency

We have built very efficient and transparent complex data analysis systems. For example, the national gross domestic product system that we have recently built for the Bureau of Economic Analysis (BEA), is more than 25 times faster than its predecessor. In addition, the new system features a suite of tools that allows analysts to track the data from its source through the computation process – in effect providing an actual audit trail – a capability not previously available. This audit trail can be used to explain the computation and is very useful in tracking down sources of unexpected results. These tools are mostly independent of the particulars of the system, and can be easily customized to fit the specific needs of each client.

The ability to easily formulate alternate business logic scenarios through metadata and explain the results through audit makes it possible for analysts to experiment with what-if scenarios without the need for additional development.

Requirements

Good systems require good requirements and specifications. Ambiguous, incomplete, inconsistent and generally poor requirements or specifications result in inferior systems, yet eliciting high quality ones can be a serious challenge. We address this by establishing an integrated team with our clients’ key stakeholders and subject matter experts, and then using an iterative prototyping process: listen to the business story, build a prototype implementing its essentials, present this initial prototype to the client, get and incorporate feedback (which often includes changes to the requirements and specifications due to the client’s own better understanding) and repeat the process. The final requirements and specifications are in effect developed concurrently with the system. The fact that most of the business logic in our systems is implemented as metadata also makes the requirements and specifications formal and completely unambiguous.