Systementwicklung

Systementwicklung

Unterstützung im gesamten Software-Lebenszyklus

Neben der Beratung bieten wir auch das gesamte Spektrum der klassischen Systemsoftwareentwicklung an. Softwareprogrammierung ist vielschichtig, erst recht bei Betrachtung über den kompletten Lebenszyklus (Analyse, Entwurf, Implementierung, Testen/Korrektur, Betrieb, Wartung). Wichtig sind hier die geeignete Auswahl von Maßnahmen, eine offene Herangehensweise und eine veränderte 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 Softwarelösung zu bauen. Also Lösungen, die wir „argumentieren“ können. Dabei spielt es für uns keine Rolle, ob wir bei Ihnen im Team entwickeln oder per Remote. Auch eine Durchführung als Gewerk ist bei uns möglich. Wir passen uns auch ihren Entwicklungsmethoden und Vorgehen an.

Unser Leistungsumfang eingebettet in einem Software-Lebenszyklus

Unsere Haupt­er­fah­rungs­felder sind im Bereich von .Net und der Java Ent­wicklung an­ge­sie­delt. Aber auch andere Open-Source-Pro­gra­mmier­spra­chen wie Ruby und Tech­no­lo­gien wie Apache Solr sind uns nicht fremd (siehe „Unsere Technologie-Kompetenz“). Generell verfügen wir über er­fahrene Berater, die in den un­ter­schied­lich­sten Branchen ihr Pro­gra­mmier- und Me­tho­den­wissen ge­sammelt haben.

Bei­spiels­wei­se haben wir im Tele­kommu­ni­ka­tions­um­feld bereits in Projekten nicht nur beraten, sondern auch zusammen mit unseren Kunden umgesetzt. Hierzu gehört ein Web­craw­ler auf Basis von Ruby, Solr sowie MySQL-Server oder ein Online-Portal zur Unter­stützung des Vertriebs im Kundenkontakt bei Tarifmigrationen (sowie im Up-Selling) basierend auf .NET und Apache Flex.

„Klassisch" erstellen die Entwickler zuerst den Produktivcode und erst danach die Tests („test last“). Mit den ersten Projekten Ende der 90er-Jahre, bei denen die agile Entwicklungsmethode zum Einsatz kam, steht die testgetriebene Entwicklung (engl. test-driven development [TDD]) im Vordergrund.

Für beide Ansätze oder Teilbereiche, also (Extrem-)Programmierung oder nur Testen, unterstützen Sie unsere Berater bei Bedarf gerne.

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 eingesetzte Technologie. Auf dieser Basis setzen wir zusammen mit Ihnen auf und teilen wir 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 Programbibliotheken 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ösungen 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 fehlerfreien technischen Umsetzung und deren Inbetriebnahme sind wir ein zuverlässiger und kompetenter Partner an Ihrer Seite.