The Barkley Group - Software Division
We help our customers convert information from their data bases and files (including information hidden in their software) into new, more useful forms.
We control costs by maintaining a network of consultants with a spectrum of skills that cover needs as they arise.
Our Mission is to help our clients get their computers to perform basic tasks that would otherwise be tedious, manual, disliked by their developers, error prone, and expensive to perform.
To accomplish this mission for large systems we leverage existing Software Development Frameworks like .NET, J2EE, Ruby On Rails, etc. to quickly build and test our client's application. For more specialized large systems, we help the client develop and tune a proprietary Framework to their problems.
Once the Framework is developed, it can help cut the cost of building the client's software in half. Often the costs are reduced to a tenth of what it would cost without the Framework. The cost savings also apply to lifetime maintenance.
Software Frameworks are enabling technologies. There are problems that are so complex they could not be programmed reliably without a specialized Software Framework. For example, Intel could not manually and affordably code the masks needed for its recent 2 billion transistor Duo Core Microprocessor chip without a special Microprocessor framework.
For small tasks, we use standard (Lex/Yacc) or non-standard parser technology (filters/partial parsers) to input information in many different forms and translate it to more useful forms. Inputs can be information from databases, legacy software, SGML based text processors like Frame Maker and Microsoft office tools. Output can take whatever form the customer needs, such as programs converted to new languages and/or documents.
We adhere to the "DRY" principle (Do Not Repeat Yourself"). Many Artifacts required during the Software Development process only rearrange information that already exits in the software and requirements documentation. For example, the Interface Design Specification (which lays out the formats of messages being sent between different parts of the system). This document can be automatically generated from the software itself. Tools exist to that do just this, saving 1,000's of work hours for large systems.