Software Engineering (SE) is the systematic application of engineering principles to software development. At CMGTec we follow best practices, methodologies and standards in SE in order to ensure the seamless integration of our solutions with the existing environment.
We follow the ISO 9001 model of recommendations for Quality Assurance in the design, development, production, installation, and servicing of our solutions.
We follow the Scrum agile process framework to flexibly manage software development. Scrum is designed for teams consisting of up to about 10 members who break their work into goals that can be completed within timeboxed iterations, called sprints, no longer than one month and most commonly two weeks, then track progress and re-plan daily in 15-minute time-boxed stand-up meetings, called scrums.
We apply PRINCE2 (PRojects IN Controlled Environments) principles as a structured project management methodology. PRINCE2 makes emphasis on dividing projects into manageable and controllable stages. It has been widely adopted in several countries worldwide, including the UK.
Please see our experience in SE and in other software application areas which include: Internet of Things & Software Architecture, e-Learning, Design of Decision Making Criteria, Parallel & Distributed Computing, and Virtual Reality and Augmented Reality based on novel devices such as Kinect.
While our principal areas of development are AI, Safety Critical Systems and Mobile Computing, we offer our SE services below for projects in any software application area.
Software development covering all the SE phases below or only a few of them:
Software Requirements
Software Design
Software Coding/Programming
Software Testing
Software Deployment
Software Maintenance.
Test Cases Specification
Project planning
PRINCE2 project management
SCRUM development methodologies
V-model development for safety critical systems
Most common programming languages: Dart, C, C++, C#, Python, Java
Multi-platform/OS: Desktops, Web, mobile (Android and iOS), embedded systems, Windows, MachOS, and Linux
Mobile development frameworks: Flutter, Unity3D, React Native, Xamarin, Phonegap and others
Development Tools:
Gitlab for git software versioning control
MantisBT for bug tracking,
PlantUML and LucydChart for UML design
VivifyScrum for the agile scrum development model, Wireshark for tracing network messages