„Things should be made to be as simple as possible, but not simpler. (A. Einstein)
Architecture and Software Engineering
Know-how and verve are our stimulus designing and developing large distributed software systems. The success in software projects is strongly connected with it’s underlying architecture. Architecture as a means before building things (αρχώσ τεχνή) we understand as the fundamental structure. The larger the project, the more important a solid foundation will be. An architecture capable of bearing the project’s needs is indispensible.
IT solutions do not only need concepts tailored to the project’s size and requirements, but must be open for new requirements independent of and proof to new technologies in implementation. The only constant is change. The realization of multidimensional architectural concepts demands the know-how to be implemented using state of the art technologies.
Our mission is to create manageable architectures as a set of rules honored by all collaborators in the process of developing software-systems. The answer to the question about the role of architecture in the software development process is: a system requires orthogonality of structures, simplicity, practicability and understandability, as well as grace. Architecture describes the compositional structure the system, its parts, components and the relations between them. Each component – alike bricks in the building industry – is defined through its properties, relations to other components and the way those components interact.
A solid, simple, practicable and understandable architecture if honored by all collaborators during the implementation of a software-system and even in the change process and iteration of software-systems in a software product’s life-cycle will prevent a decay of architectural structures. During the software’s life-cycle constant refactoring of the software-system supports and ensures an attribution of the system’s architecture.
Integration is the consolidation of different components, merging them into a unique and consistent system. With our integration strategy we realize the demands of ‚one face to the user‘ and ‚one face to the customer‘. Through enterprise application integration (EAI) plattforms a seamless integration into existing infrastructures can be guarantied.
Fewer and fewer projects are started with a minimal to non-existend IT infrastructure in existence. As a general rule most of todays business cases are implemented in a grown IT environment. We do integrate your business processes seemlesly into the existing environment using best practices and modern implementation methods to deliver promptly and tailored to your needs.
Sofware does age. Not literally, but technically. Implementation paradigms change, new technologies are introduced. And that with budgeds once invested into software products will result in follow-up costs to either buy new standard software or to reface the existing software. Even with a deep insight into the existing implementation of old software a line by line transfer of the legacy code into a new plattform is no option.
Furthered demands to the software like ‚one face to the customer‘, better access and scalabilty – provided through application server technologies – pose whole new possibilities in realization of software projects. If even the business processes have changed over time central algorithms tend to be non-migrateable. In this scenario re-engineering’s emphasis is on legacy data structures and fundamental business schemes to be re-used. Those are of most importance, more valuable than existing program code. The techniques to meaningfully transport legacy data into new structures and programs is part of many projects INTERVISTA realizes.
Quality of software is not optional. Quality management starts with planning a project. It is part of the systems requirements and the communication between clients and the development team. We support this process with a technique developed at the „Hasso-Plattner-Institute“ (HPI) called Fundamental Modeling Concepts (FMC) and the corresponding tools created at the HPI spin-off ARCWAY Inc. The methodology of FMC allows a transparent, graphical, technology independant description of the software-system that shall be implemented, communicating all requirements in a semi-formal high-level architecture that can be refined down to implementation details in a structured manner without syntactical or semantical breaks.
With that high-level understanding of a project’s demands the detailed specifications incorporating the concerns from the system architechture are done using the industry standards like the Unified Modeling Language (UML) and others.
The implementation and a test cycle defined at the beginning of the project conclude the development cyclus opening out into the phases of delivery and operation of the software product.