Software engineering
- Functional : the functions carried out must correspond to the specifications
- Robustness : in the event of a change in the software's operating environment, it must remain as functional as possible and detect drifts
- Sustainability : the software is developed for industrial systems with a lifespan of several decades. It must be able to operate over this period.
- Testability : all systems (hardware and software) with which an industrial software works are not always available for testing. This must be taken into account from the design stage.
- Maintainability : during the life of a piece of software controlling an industrial system, several people may have to work on the software to make it evolve (corrections and additions of functionality).
- Project Management : development time, workload estimation, team and deliverable management and the delivery process are major aspects of this activity
- Configuration management : identify each version of software that is delivered, be able to trace modifications between two versions, manage collaborative work with several people on the same software
Our methodology's key points
We have an iterative, incremental development approach based on agile methods.
We start large projects by writing a specification to ensure that all stakeholders are aligned with the main project objectives.
Aware that a specification cannot collect all the demands at the beginning of a project, the specification will then evolve over the course of the project.
We consider that it is necessary to tackle risks at the very beginning of the project because it is easier to plan what is best controlled afterwards.
We regularly produce deliverables in order to confront them with the needs expressed by our clients and obtain their feedback and corrections as early as possible.
The deliverables implement real use cases that have been collected in the specification.
Right from the start of the project we think about how to test the software, taking into account that some parts (hardware or other software) might not be available for testing.
We strive to application ergonomics and to take into account user feedback as soon as possible. A quick familiarization with the software by the end-users is a key to success during deployments. To achieve this, graphic mockups are regularly shared with our customers.
We believe that :
If it isn't tested, it doesn't work !