Unsere Kern-Prinzipien
Diesen Grundsätzen folgen wir bei unseren Projekten
Agile Softwareentwicklung
Immer nah am Kunden und an den sich über die Projektlaufzeit verändernden Anforderungen.
Responsive Design
Anwendungen und Benutzungsoberflächen (UI) für unterschiedliche Gerätegrößen anpassen.
Test Driven Development (TDD)
Funktionale Sicherheit durch automatisierte Tests.
Zugänglichkeit / Accessibility
Anwendungen und User-Interfaces für alle - auch für jene Menschen mit Einschränkungen.
Clean Code Development
Coding-Standards und Guidelines erleichtern Wartung und Erweiterbarkeit.
Responsive Design
Dieser De-Facto-Standard wird im Aufwand meist gehörig unterschätzt!
Adaptive UIs für unterschiedliche Geräte
Unter Responsive Design versteht man die Gestaltung einer Benutzungsoberfläche (meist eine Webseite oder ein Web-Interface), die sich an das benutzte Anzeigegerät anpasst. Den größten Unterschied stellt dabei oft die Größe der zur Verfügung stehenden Anzeigefläche dar – beispielsweise beim Wechsel zwischen einem großen Monitor am Schreibtisch und der Nutzung auf einem Smartphone von unterwegs. Dabei müssen die Anordnung der einzelnen Informationen und teilweise auch die Gestaltung von Bedienelementen angepasst werden. Ziel ist es, eine optimale Bedienung für eine Vielzahl an Geräten zu schaffen. Auch wenn sich dieses Prinzip als de-facto Standard für (Web-)Interfaces etabliert hat, so stellt es doch einen erheblichen Mehraufwand in der Entwicklung dar! Faktisch muss immer noch für eine Vielzahl an Ausgabegeräten ein flexibel gestaltetes Layout erstellt und entsprechend angepasst werden.
Test Driven Development (TDD)
Automatisierte Tests zur Sicherung Ihrer kritischen Funktionalitäten
Absicherung und Validierung durch Unit-Tests
Als Entwickler für individuelle Software setzen wir auch auf eine Validierung unserer Arbeit durch automatisierte Tests. Das bedeutet, dass wir für gewünschte oder essenzielle Funktionalitäten einen Test erstellen, der automatisiert ausgeführt werden kann und überprüft, ob eine komplexe Funktion tatsächlich das gewünschte Ergebnis liefert. Dies mag im ersten Moment banal klingen und der erhöhte Aufwand an Zeit und Geld scheint ungerechtfertigt. Doch unsere langjährige Erfahrung zeigt, dass sich dieser Aufwand durchaus lohnt – gerade wenn man an einer langfristigen Nutzung und Erweiterung seines Systems interessiert ist. Zum Tragen kommen solche Tests immer dann, wenn man eine neue Funktion (Feature) einem bestehenden Programm hinzufügt, eine Funktion in ihrem Umfang und ihrer Komplexität erweitert oder einen Fehler (Bug) behebt. In solchen Fällen validieren vorher erstellte Tests, dass die ursprünglichen Funktionalitäten alle noch einwandfrei arbeiten. Dieses Vorgehen sollte insbesondere bei kritischen Systemen angewendet werden, da es sicherstellt, dass Ihre IT-Lösung auch weiterhin einwandfrei funktioniert und keine neuen Probleme schafft.
Zugänglichkeit / Accessibility
Anwendungen und Benutzungsschnittstellen für alle Nutzenden entwerfen und umsetzen.
Barrierefreiheit und Usability gehen Hand in Hand
Unter dem Schlagwort Zugänglichkeit oder englisch Accessibility verbirgt sich in erster Linie eine gesellschaftliche Verantwortung, dass auch Menschen mit einer körperlichen Einschränkung digitale Angebote und Werkzeuge uneingeschränkt nutzen können. Dies können beispielsweise blinde oder gehörlose Menschen sein. Es gibt eine Vielzahl an technischen und redaktionellen Möglichkeiten, Anwendungen und Inhalte in ihrer Zugänglichkeit zu verbessern. Oftmals geht eine Auseinandersetzung mit dieser Thematik auch mit einer Verbesserung der Benutzungsfreundlichkeit (Usability) für alle Nutzenden einher. Allerdings ist die Ausrichtung auf eine für alle Nutzergruppen ausgelegte IT-Lösung mit erhöhtem Aufwand verbunden. Gerade Einrichtungen und Angebote der öffentlichen Hand sind sogar (europaweit) gesetzlich zu einer barrierefreien Gestaltung verpflichtet. Konformitätsprüfungen nach BITV bzw. WCAG prüfen den Grad der Barrierefreiheit und decken Unzulänglichkeiten zu Informationen und Funktionen für Menschen mit einer Behinderung auf.
Clean Code
Professionalität entsteht an der Basis und in der eigenen Einstellung
Professioneller Programmcode ist ein Invest in die Zukunft
Helm und Walter ist Mitglied der Clean-Code-Developer Initiative für mehr Professionalität in der Softwareentwicklung. Beim Clean Code geht es genau um das, was der Name schon aussagt: Sauberen Programmcode – aber um doch so vieles mehr! Zum einen werden verschiedene Regeln zum Programmieren durch die Entwickler:innen angewendet, um am Ende eine leicht verständliche Codebasis und ein besser zu wartendes Programm zu erstellen. Zum anderen verpflichten wir uns einem Wertesystem gegenüber, das uns dazu veranlasst, stets professionell zu arbeiten sowie uns selbst und unsere Arbeit stetig weiter zu verbessern. Diese Philosophie hat große Vorteile für unsere Arbeit und unsere Kunden.
Die Vorteile

- Besser lesbarer und verständlicher Programmcode
- Leichteres Identifizieren von Fehlern und Bugs
- Einfacheres Erweitern und Optimieren von (Programm-)Funktionen
Die Nachteile

- Disziplin aller Entwickler und leicht erhöhter Aufwand beim Programmieren.
- Wirklichen Clean Code initial zu schreiben ist fast unmöglich.
- Eine nachträgliche Überarbeitung des Codes zu Clean Code ist mit Aufwand und Kosten verbunden, die oft nicht durch den Kunden gedeckt werden.
- Die großen Vorteile dieser Aufwendungen zeigen sich erst mittel- und langfristig.
Weiterführende Links:
Clean Code Developer Initiative: clean-code-developer.de