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.

We use Git repository system on a daily basis, no matter if we are working on Linux apps or real-time embedded software.

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

A considerable benefit of cooperation with Consilia is that we have competence in both hardware and software development.

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 provide a wide range of electronic design services

Software Development Services

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

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).

Contact us Now

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.

1

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.

2

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.

3

Data Flow Models

Based on software architecture, we create detailed data flow models where we exactly see 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.

4

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.

5

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.

6

Unit Tests

Our team internally takes care of the 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.

7

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.

8

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 system bugs too late.

9

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.

10

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.

11

How We Can Cooperate

How we can work

We know how to manage our software development team.

We use various development approaches.

During the last twenty years, we have got experience with two different software development processes: V-model based and Agile based; for Agile, we can work both in Scrum and Kanban mode.

If you are interested in these software development processes discover more about our workflow in the article Comparison of V-model based and Agile software development methodology.

Our Experiences and Focus

We create these software design solutions.

In Test and Measurement devices, we often make an embedded software application for the target device itself and add a native or web-based application for the client device. The interface can be a traditional wired one (USB or wired LAN) or wireless (Bluetooth, Wi-Fi, LTE, and others).  

The same approach often applies to IoT applications, where sensors run on bare-metal software and communicate with a gateway through Bluetooth or other IoT connections.

The gateway may be equipped with a light-weight Linux operating system and may typically provide a web server application for the connection to anywhere in the world. The user can access the system via mobile software with user-friendly gadgets.

Key Application Areas

We provide our custom software design for a variety of markets.

Our team worked, among others, for automotive or aviation industry segments, which are special for need of software certification.

Technologies and Platforms

These technologies and platforms are behind our software development.

Integration technologies

Device Drivers

Windows – Windows Driver Kit (WDK)
Windows – Kernel-Mode Driver Framework (KMDF)
Linux – Linux Kernel Device Model

Tools/Frameworks

ReactJS
Angular
NodeJS
Express
ElectronJS

Programming Languages

C/C++
Python
JavaScript/TypeScript

Coding Tools

MS Visual Studio
Visual Studio Code
Atom
Eclipse
Clang

Continuous Integration

Jenkins

Version Control

Atlassian Bitbucket
SVN
Gitea

Project management

Atlassian JIRA (Kanban & Scrum)

Architecture model

Enterprise Architect
PlantUML
MS Visio
Lucidchart
MS Visual Studio

Explore New Possibilities for Your Software Projects

Let's join forces and get to work

Send us your contact details. Together we will find the best way to work in partnership.

All required fields are marked with an asterisk (*).

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Pavel Vrtík

Pavel Vrtík

Business Development

email
pavel.vrtik@consilia-brno.cz

Feel free to contact me directly.

Tens of thousands

of embedded source code lines.

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

You are here:
SW Development Services Overview