Logo

Our Services

Software Development

We support you in any or all of your Software Development Life Cycle (SDLC) processes.

We deliver incrementally so that you can utilize your software as soon as possible.

We deliver iteratively to ensure that your software meets your requirements exactly.

Analysis

We elicit the requirements for your software.

We help you prioritize your requirements.

We evaluate and recommend packaged or custom software solutions which fulfill your requirements.

We track your requirements' statuses.

We manage changes to your requirements throughout the software development cycle.

We deliver your requirements as a software requirements specification (SRS).

Planning

We develop a project management plan based on your requirements and resources.

We deliver your project management plan (PMP) as a document that includes your Work Breakdown Structure (WBS) and your timeline schedule.

We manage your project according to your PMP.

We provide periodical project status reports.

We update your PMP based on your updated requirements, resources and past project status reports.

Design

We design your software system or relational database.

We model your software in UML.

We determine and record your model constraints.

We link your software design elements to your software requirements to ensure traceability.

We deliver your software design as a software design specification (SDS).

Implementation

We implement your software according to your design specification.

We implement your software in C++.

We write UNIX shell scripts to automate your system processes.

We write SQL scripts to create or query your database objects.

We set up a tool chain for your software using GNU Autotools or CMake.

We support Linux and embedded system software.

We document your source code with Doxygen.

We write software interface documentation in a format of your choice.

We link from your software to your design specification to ensure traceability.

We manage your software code with Git or Subversion (SVN).

Testing

We write test specifications based on your software requirements and design.

We link your tests to your requirements and design specifications to ensure traceability.

We test against your requirements (functional testing).

We test your software units (unit testing).

We test the integration of your software units (integration testing).

We manage tests to prevent previous errors from occurring in subsequent releases of your software (regression testing).

We provide validation and verification reports for your software releases..

Deployment

We build, test and package your software by means of continuous integration and deployment (CI/CD).

We release your software according to semantic version numbering to ensure compatibility with dependent systems.

We utilize your toolchain to produce a versioned release package.

We set up your Jenkins or GitLab CI/CD pipeline.

Maintenance

We track and fix bugs in your software.

We refactor your code for improved performance and easier maintenance.