Consilia is Customer-Oriented Software Development Company

We provide turnkey development or we support just in specific phases.

Consilia helps its customers to reduce their software development budget.

We have been developing applications and embedded firmware for many years.

A usual question for electronic product developers who order services from a software development firm is how to embed software into hardware.

You don't have to deal with multiple suppliers

We can integrate SW and HW in one embedded device and we also provide system testing
We can find solutions where others cannot
Our team of engineers follows the latest trends in software development to make our products more straightforward, reusable, and easy to modify.

Software Development

We can speed up your software development project in many areas.

Our specialties are embedded applications.

We also design their software counterparts for host PCs to provide our customers with a full–service chain (including the integration of hardware and software).

List of software services

Linux Application Development
Linux BSP Creation and Processor Porting
Software Testing
Frontend Development
Backend Development
Driver Development for Windows & Linux
Firmware Development

Embedded Systems Testing

Do you need to ensure your embedded product is stable, maximally reliable, and functional? Our ISTQB certified testers uncover hidden issues early and helping ensure your product launches on time.

What We Can Do for Your Product

We provide services in every phase of the software development life cycle.

It depends on the customer whether they need to use our entire process chain or just some of our services, especially when the customer has their own team with a gap in specific competence (e. g., software testing).

Our typical job flow is based on the following controlled processes:

01.

Feasibility Studies

Before the project's realization, we carefully analyze whether and what technologies can fulfill all the requirements, including manufacturability and production costs.

For such an analysis, we need certain inputs from the customer – e.g., technical requirements, target cost, and schedule.

02.

‍Software Architecture Design

We consider the design of SW architecture a vital part where we spend reasonable effort at the early stage and save many costs later.

We sketch up the layers of the software, suggest the functional blocks and define relations between them.

03.

Proof of Concept

In some cases, we create a fast prototype that shows us (and the customer, of course) if the system architecture candidate has a great chance to fulfill the key functionalities and requirements.

On such a POC (Proof of Concept), we also test and measure critical points, e.g., mechanical stability, system responsiveness, data throughput capability, and power consumption.

04.

Data Flow Models

Based on software architecture, we create detailed data flow models where we see exactly if it fits the requirements.

We use the output of this phase as a basis for creating the modules/units and the unit test plan.

05.

Research on Solutions

Many marketing models can be realized in multiple ways.

We always analyze multiple solutions or concepts to stimulate a sort of internal competition among them and to select the best of them.

06.

Implementation

We implement the software using a revision control system extensively. We have had very deep experience with Git for many years.

When merging the feature branches into master branch, the system assists us especially at code reviews.

07.

Unit Tests

Our team takes care of unit tests internally.

We use the unit tests to debug the unit/module at the lowest possible level, which is for us one of the most cost-saving ways to stable and reliable software.

08.

Vertical Integration of the Components

In projects where the Agile approach is selected as the best, we make vertical integration of the components together to get a visible feature or functionality every one or two weeks.

That enables the product owner to track whether the project is going straightforward and to disclose potential critical path as soon as possible.

09.

Integration with HW

Cooperation of the software and hardware team is our strong arm.

Our hardware colleagues are highly experienced in creating our own hardware modules and planning hardware/software interface in advance.

Therefore, we usually perform hardware/software integration seamlessly and avoid finding critical systém bugs too late.

10.

Feature Tests

As a part of the vertical integration, we test the system features based on the feature test plan.

When appropriate, we create our own test system and implement the tests so that they can be reused and repeated at any time.

11.

Regression Tests

When adding and implementing new features, we test the existing ones as well to keep the whole system working reliably in all its parts.

Basically, regression tests are for us feature tests repeated on a regular basis.

Therefore, we reuse the test system and test cases from the feature tests.

01.

Feasibility Studies

For such an analysis, we need certain inputs from the customer – e.g., technical requirements, target cost, and schedule.

02.

SW Architecture Design

We sketch up the layers of the software, suggest the functional blocks and define relations between them.

03.

Proof of Concept

On such a POC (Proof of Concept), we also test and measure critical points, e.g., mechanical stability, system responsiveness, data throughput capability, and power consumption.

04.

Data Flow models

We use the output of this phase as a basis for creating the modules/units and the unit test plan.

05.

Research on Solutions

We always analyze multiple solutions or concepts to stimulate a sort of internal competition among them and to select the best of them.

06.

Implementation

When merging the feature branches into master branch, the system assists us especially at code reviews.

07.

Unit Tests

We use the unit tests to debug the unit/module at the lowest possible level, which is for us one of the most cost-saving ways to stable and reliable software.

08.

Vertical Integration of the Components

That enables the product owner to track whether the project is going straightforward and to disclose potential critical path as soon as possible.

09.

Integration with HW

Our hardware colleagues are highly experienced in creating our own hardware modules and planning hardware/software interface in advance.

Therefore, we usually perform hardware/software integration seamlessly and avoid finding critical system bugs too late.

10.

Feature Tests

When appropriate, we create our own test system and implement the tests so that they can be reused and repeated at any time.

11.

Regression Tests

Basically, regression tests are for us feature tests repeated on a regular basis.

Therefore, we reuse the test system and test cases from the feature tests.

Gain support from our experts at every stage of software development and elevate your project to the next level.

Technologies and Platforms

For the software development, we always use bug tracking system JIRA and bitbucket (both made by Atlassian). All other technologies differ depending on the application (embedded, native, web), platform (ARM Cortex M0 – M4, ARM Cortex A7 – A73, ST32), and programming language (C, C++, C#, Python, JavaScript).For more information on what technologies, platforms, and programming languages we use to develop software, please visit page Integration Technologies.

Tens of thousands

of embedded source code lines.

However, our software engineers understand that software development is not just coding.