Introduction
We love automating and streamlining tedious, repetitive tasks. Not only do we love doing it for our customers, we love doing it to our own work environment as well.
You will find below a diagram of our "DevOps" environment, which allows us to release new updates of our software extremely quickly to our end users. It typically takes less than 10 minutes from the time we commit a change to our code repositories to the time our customers are able to download and install an update.
The key points are:
- We are a Microsoft shop and use the latest technologies and best practices to develop our libraries and software
- We use C# with enterprise design patterns
- WPF/XAML for the user interface
- We have over 40 open source libraries, with over 1 million downloads from around the world
- Our development environment is fully automated from start to finish
- All our repositories are version controlled
- Our build server will automatically detect a new commit and run the unit tests and code analysis
- If the build server does not find any issues it will build and release the new software ready for consumption
- If errors are found we are immediately notified and the build process is halted until we resolve the issues, this ensures our software is kept at a very high standard
- Our application framework (named Chameleon), has been in continuous development for over 4 years and comes with a lot of in-built features, such as:
- Automatic updates
- Logging
- Keyboard shortcut management
- Licensing
- Crash reporting (we get immediate notifications if something goes wrong and are able to fix the issue immediately)
- Same look and feel across all our applications
The benefits to our customers and their IT departments is that our software is robust, efficient, easy to learn and use, but also easy to install and maintain. And you get to enjoy all this as well as improved productivity within a very short time frame, with minimal drain on your resources.