04. We make it work

Development

At Omatech we are experts in the creation of robust and scalable technological platforms. Our 20 years of experience in the sector has made us master in the creation of projects, and therefore obtaining the tools and knowledge to face any technical challenge. Our goal is to provide quality, flexible and modular solutions. This way, the solutions can grow and adapt to a constantly evolving market.

  1. Architecture

    Image of the service step Architecture

    Based on iterative and incremental requirements gathering, usage cases are analyzed which help to define an architectural style of all the objects to implement in the project code. These usage cases allow us to define the system test batch, necessary for good project security.
    Here is where the programming poetry begins. A clear definition of the architectural bases of the site let us apply only those elements that the project needs through frameworks and design patterns that are necessary in each case, without overdesigning.

  2. Programming

    Image of the service step Programming

    To facilitate development, we need have a good naming, formatting, etc., to help us in reading the code. It is very important that it is self-explanatory. For this, we avoid programming anything that is not necessary (YAGNI) and avoid duplicating code (DRY). We only need minimal coding to define the system, the smell code published in the community.

    We take care of modularity through high cohesion, low coupling and granularity of each method/function, class and package. We also ensure hierarchy avoiding cycles with careful management of units and division of responsibilities.

  3. Thinking of the future

    Our planning is based on developing expandable solutions, always open to change in order to meet new requirements or adapt to new technologies. For this reason, we apply Liskov's substitution principle, which ensures quality inheritance relationships.

    Also, everything is reiterated with Design by Contract, a methodology that considers design elements as parts of a business contract. This ensures that some input (preconditions) and output (postconditions) conditions are met, which act as another security network added to the unit testing.

  4. Take off

    5. Launch