How many times have you looked for software that would do things exactly the way you want it done? Were you disappointed?

Depending on your special circumstances, custom software might be the answer for you.
We, at Compublue, believe that the most important factor for quality software solutions is the application of well-proven software engineering methodologies and principles to the product. Software developers can only produce good products if they are software engineers first.

Our Software Development Services

Development of a new customized software includes:

We start by documenting the purpose that the product is to serve. From this, we develop software requirements, which are reviewed and finalized with participation from the client. We then proceed with selecting the right tools, and creating the design documentation. To ensure that the design fully addresses all the requirements, we develop a traceability matrix between the requirements and the design document, that points out which parts of the requirements are addressed in which parts of the design document. From this, we proceed with coding, which is accompanied with comments, that trace the coding to the design document, in order to ensure full compliance with the design document.
Once the requirements have been written within the Software Development process, we begin developing high level software test cases, to cover all the requirements. A traceability matrix is utilized to assist with this coverage. These test cases are reviewed with the client for completeness. Next, depending on the application and client preference, automated test drivers, or manual test (step by step) processes are developed. These test cases are run against the developed programs, to verify proper operation.
Configuration Management is a critical part of software development and maintenance projects. Frequently, different versions of a software product may be required in different parts of the same organization. Software configuration management controls what versions of code are used to build a particular release, thus enabling us to produce the desired functionality for a particular user, or group of users.
Also, multiple developers may be constructing or modifying the same section, or related sections of software at the same time. Again configuration management assists in preventing undoing of one programmerís work by another, or modifying related parts of the work inconsistently.
We at Compublue, apply Configuration Management techniques and tools, to streamline the development process. It should be noted that configuration management is also applied to test scenarios, to allow the right test cases to be executed for the right parts/versions of the software.

Software maintenance refers to the updating of software functionality, and fine-tuning of existing functionality.
We stand behind every product we develop. By applying the right engineering processes to Software Development, we have all the right elements in place to provide cost effective software maintenance services to our clients. Furthermore, should our clients choose to do their own software maintenance, they will be receiving a well-constructed product to work with.

First we discuss with the client the need for any triage work for any immediate problems that are "business stoppers". If so, we quickly examine the shortest path to alleviating the immediate problems.
Next, depending on project budget, we examine the existing construction of the software environment (architecture and code), and determine the best course of action for a reliable solution.
Then, depending on the situation, we apply the different steps described in Software Development, in the best order possible to solve the existing problems. This order may vary from project to project. For instance, for a product that may be functioning unreliably, if there is a satisfactory requirements document, the best solution may be to write thorough test plans first, to determine all the deviations from the desired functionality. Then, trace this back to the parts of code that may require redevelopment, or correction.

In today's IT environment, heterogeneous systems are the norm, not the exception. Data Integration among heterogeneous systems is an ongoing challenge for many organizations. Compublue, depending on the architecture of your system, can offer many solutions, to address this challenge. Our solutions include, process reengineering, product replacement, and application development, and use of OTS (Off The Shelf) data integration tools. Our consultants will evaluate your needs, architect multiple approaches, evaluate the pros and cons of each approach, and arrive at a solution, best suited to your needs.
Next, depending on project budget, we examine the existing construction of the software environment (architecture and code), and determine the best course of action for a reliable solution.
Then, depending on the situation, we apply the different steps described in Software Development, in the best order possible to solve the existing problems. This order may vary from project to project. For instance, for a product that may be functioning unreliably, if there is a satisfactory requirements document, the best solution may be to write thorough test plans first, to determine all the deviations from the desired functionality. Then, trace this back to the parts of code that may require redevelopment, or correction.