Introduction
At Globit, we use a specific method, driven by principles, to develop solutions (called the GLOBIT Application Software Ecosystem) for existing problems in order to achieve a goal. This document explains how and why we develop software, what the results are and where it runs.
Why?
Our goal is to provide solutions that improve business processes and solve specific problems within the given use context. As CPO HANSER SERVICE GmbH, the parent company of GLOBIT, is a PCO, we leverage deep expertise in event and conference management to create tailored software solutions.
What?
The outcome of our work includes artefacts like custom applications, IT systems, and integrations within a broader ecosystem. The artefacts build on each other in some cases. Requirements are turned into designs, which are then implemented in new code or existing components get configured, then tested and documented.
How?
Our method is "agile development" to deliver software in iterative cycles. We use principles from the Manifesto for Agile Software Development, the Nunamaker Framework and User-Centered Design (UCD). The Software Development Lifecycle as a guiding process model allows us to adapt to changes and ensure high-quality results. The work is organized so that people who have a certain role can be assigned the tasks of the corresponding activities. We use differently defined and standardised languages and technologies for our artefacts, and various tools.
Tools
We use externaly developed and hosted tools e.g. provided by Atlassian to achive our goal. This includes, for example, work organisation via the JIRA ticket system. But we also use either internally developed or hosted tools like auxiliary services to successfully develop, test, deploy and operate the ecosystem.
Technologies
Our software development is based on a handful of selected technologies.
Languages
Information modelling with a modeling language is particularly helpful for requirements, design and documentation.
Formal information modeling languages that describe information requirements unambiguously is an enabling technology that facilitates the development of a large scale, networked, computer environment that behaves consistently and correctly. -- Lee, Y. (1999), Information Modeling: From Design to Implementation, IEEE Transactions on Robotics and Automation
UML (with the help of PlantUML) and Mermaid are primarily used at GLOBIT, e.g. to represent flowcharts, sequence diagrams, architecture diagrams, state diagrams, entity relationship diagrams or similar.
Data modelling (In contrast to information modeling, see RFC3444) is necessary to enable a smooth exchange between the components. Data models are documented more explicitly for example as Platform Data Models and Website Data Models.
For textual descriptions, we try to use the key words according to RFC2119.
We also utilise concepts of self-documenting code, source code comments and literal programming.
Where?
Our software is developed in a distributed manner and deployed on-site, in the cloud or in hybrid environments, depending on requirements. We manage our own infrastructure for development and operation to ensure optimal performance and scalability by using technologies that suits the specific needs.