Systementwicklung

Systementwicklung

Unterstützung im gesamten Software-Lebenszyklus

Neben der Beratung bieten wir auch das gesamte Spektrum der klassischen Software-Entwicklung an. Das Entwickeln von Software ist vielschichtig, erst recht bei Betrachtung über den kompletten Lebenszyklus (Analyse, Entwurf, Implementierung, Testen/Korrektur, Betrieb, Wartung) hinweg. Wichtig sind hier die geeignete Auswahl von Maßnahmen, eine offene Herangehensweise und eine passende Mentalität. Am besten gelingt das durch eine gemeinsame Ausrichtung von Zielen, Prozessen und Werkzeugen mit dem Kunden.

"Die wichtigste Frage, die ein Softwareentwickler stellen kann ist: ‚Warum?‘. Jedes Mal, wenn irgendeine Lösung präsentiert wird, die nicht argumentiert werden kann, ist sie meistens nicht die beste. Also immer mal wieder Dinge hinterfragen."Adam Bien – Vernunft-driven Design

Unser Ziel ist es, mit Ihnen zusammen eine genau auf Ihre Wünsche abgestimmte Lösung zu entwickeln. Also Lösungen, die wir „argumentieren“ können. Dabei spielt es für uns keine Rolle, ob wir bei Ihnen im Team entwickeln, oder Sie uns die Gesamtverantwortung für die Produktentwicklung übertragen.

Unser Leistungsumfang eingebettet in einem Software-Lebenszyklus

Unser Schwerpunkt liegt in der Entwicklung moderner Web-Anwendungen mit der klassischen, dreischichtigen Architektur bestehend aus (Web-)Frontend, Backend und Datenbank.

„Klassisch" erstell(t)en Entwickler zuerst den Source Code und erst danach die Tests („test last“). Mit den ersten Projekten Ende der 90er-Jahre, bei denen agile Entwicklungsmethoden zum Einsatz kamen, stand erstmals die testgetriebene Entwicklung („test-driven development [TDD]“) im Vordergrund.

Ob „klassisch“ oder „agil“, „Modellbasierte Softwareentwicklung“ oder „Vernunft-driven Design“, jedes Projekt ist anders! Das ist unsere Erfahrung aus vielen erfolgreich durchgeführten Projekten. Dies betrifft das Team, das Vorgehen und die eingesetzten Technologien. Auf dieser Basis setzen wir zusammen mit Ihnen auf und teilen unsere Projekterfahrungen gerne mit Ihnen. Ebenso passen wir uns auch Ihren Teamstrukturen und Technologien entsprechend an.

Unser Commitment zur Softwaresystementwicklung
Software Engineering hat das Ziel, den Prozess des Erstellens von Software so zu gestalten, dass die Anwendung:
  • korrekt,
  • verlässlich,
  • robust,
  • performant,
  • benutzerfreundlich,
  • verifizierbar,
  • wartbar,
  • flexibel,
  • wiederverwendbar,
  • portabel und
  • verständlich
ist. Gleichzeitig soll der Erstellungsprozess produktiv, rechtzeitig abgeschlossen und dokumentiert sein. Es wird versucht, die genannten Eigenschaften zu erreichen, indem man passende:
  • Prinzipien (Trennung der Belange, Lokalitätsprinzip, Abkapselungsprinzip, Abstraktionsprinzip, Prinzip der Überraschungsarmut und Nachweisbarkeitsprinzip),
  • Methoden (Modellierungsmethode, Spezifikationsmethode, Programmiersprache, Validierungsmethode, Projektplanung) und
  • Werkzeuge
verwendet.

Wir wissen, dass Programmbibliotheken selten entscheidend für den Projekterfolg sind. Wichtig ist die Betrachtung des ganzen Umfeldes und Produktes. Daher überprüfen wir bei der Entwicklung neuer Anwendungen Ihre Anforderungen, mögliche Synergie mit bestehenden Systemen und Geschäftsprozessen sowie Risiken, um eine angemessene und kostengünstige Lösung zu realisieren.

Denn gemäß unserem Commitment und unserem Leitbild der „aufrichtigen Beratung“ gehört zu einer nachhaltigen Softwarelösung auch, dass mit Übergabe der Lösung unsere dauerhafte Mitarbeit unnötig wird:

"The goal of a software engineer is to retire without having caused any major catastrophe."Dilbert

Angefangen von der strategischen Beratung, über das Design Ihrer maßgeschneiderten Individualsoftware, bis zur technischen Umsetzung und deren Inbetriebnahme sind wir gerne der zuverlässige und kompetente Partner an Ihrer Seite.