Indivi­du­elle Softwareentwicklung

für indus­tri­elle Anwendungen

Mit der hohen Entwick­lungs­ge­schwin­dig­keit auf allen techno­lo­gi­schen Ebenen ändern sich die Anfor­de­rungen in der Indus­trie, aber auch die Bedürf­nisse der Kunden steigen ständig. Daraus ergeben sich komplexe Aufgaben, die mit Standard­soft­ware selten ausrei­chend gelöst werden können. Daher muss Software meist indivi­duell für den jewei­ligen Anwen­dungs­fall entwi­ckelt werden. Nur so können Unter­nehmen alle Poten­ziale zum strate­gi­schen Vorteil nutzen, die sich durch die neuen Möglich­keiten bieten. Genau hierauf zielt unser Angebot der indivi­du­ellen Softwareentwicklung.

Geschäftsführer Wolfram Schäfer über individuelle Softwareentwicklung

„Vor zwanzig Jahren habe ich unser Unter­nehmen gegründet, um anspruchs­volle, indivi­du­elle Software und durch­dachte Archi­tektur für komplexe, varian­ten­reiche Maschinen und Anlagen zu entwi­ckeln. Das ist auch heute noch unser Spezi­al­ge­biet. Und jetzt stehen uns phantas­ti­sche Techno­lo­gien zur Umset­zung noch intel­li­gen­terer Lösungen zur Verfü­gung: Edge- und Cloud Compu­ting, Machine Learning und Künst­liche Intel­li­genz, Simula­tion und Augmented Reality. Damit können wir nicht nur die Effizienz Ihrer Anlagen und Systeme nochmals nachhaltig steigern, sondern in Ihrem Business die Grund­lagen für völlig neue Geschäfts­mo­delle erschaffen.

Mit den wachsenden Möglich­keiten werden natür­lich auch die Anfor­de­rungen an die Software­ent­wick­lung immer unüber­sicht­li­cher und heraus­for­dernder. Außerdem gewinnen alle Aspekte des Life-Cycle-Manage­ments und die Beherr­schung der Varian­ten­viel­falt auch für Software an zentraler Bedeutung.

Deshalb ist das profes­sio­nelle metho­di­sche Vorgehen noch wichtiger als bisher schon: flexible Software­ar­chi­tek­turen, nicht-funktio­nale Quali­täts­kri­te­rien, Clean Code, Design Thinking und DevOps sind nur einige Stich­punkte. Wir nutzen die modernsten Werkzeuge und wenden die erfolg­reichsten Methoden an, mit dem einen Ziel, für unsere Kunden die intel­li­gen­testen und nachhal­tigsten Software­lö­sungen zu entwickeln.

Ganz gleich aus welcher Branche Sie kommen, welche Aufga­ben­stel­lung Sie haben oder wie flexibel die Zusam­men­ar­beit mit Ihrem eigenen Entwick­lungs­be­reich gestaltet sein soll: Wir entwi­ckeln indivi­du­elle, anspruchs­volle Software­lö­sungen für innova­tive Unternehmen.

Die Zukunft wird program­miert und mit Software zur Realität.“

Wolfram Schäfer

Die Digita­li­sie­rung im indus­tri­ellen Umfeld ist nicht
aufzu­halten

Digitale Techno­lo­gien, wie IoT-Kommu­ni­ka­ti­ons­tech­no­lo­gien, Edge & Cloud Compu­ting oder Machine Learning sind Möglich­ma­cher (Enabler) der digitalen Trans­for­ma­tion der Indus­trie hin zu einer Produktion im Sinne von Indus­trie 4.0. Diese eröffnet Poten­ziale für weitere Effizi­enz­stei­ge­rungen, intel­li­gen­tere Prozesse und neue Geschäfts­mo­delle. Kennzeich­nend für den digitalen Wandel ist die rasante Weiter­ent­wick­lung dieser Technologien.

Techno­lo­gien als Enabler für die digitale Transformation:

Software hat DIE zentrale Bedeu­tung für die Zukunfts­fä­hig­keit der Investitionsgüterindustrie

Der Schlüssel, um den techno­lo­gi­schen Wandel im indus­tri­ellen Umfeld zu meistern und aktiv zu gestalten, liegt in der indivi­du­ellen Software­ent­wick­lung. Nur durch den Einsatz intel­li­genter Software­lö­sungen gelingen die notwen­digen Innova­tionen, um weiterhin wettbe­werbs­fähig zu bleiben und Vorteile durch Diffe­ren­zie­rung zu erzielen.

Die Anfor­de­rungen an Software­ent­wick­lung verän­dern sich grund­le­gend und rasant

Früher

alter PC als Symbol für frühere Softwareentwicklung

Heute

zwei PCs und Maschine als Symbol für heutige Softwareentwicklung

Zukünftig

vernetzte PCs, Fabrik und Cloud als Symbol für zukünftige Softwareentwicklung

Software wird vor allem dort einge­setzt, wo unbedingt notwendig

Bei Produkten wird Software als zentrale Kompo­nente zur Funkti­ons­er­fül­lung eingesetzt

In der Produktion dienen Software­lö­sungen zur Visua­li­sie­rung und Prozesssteuerung

Software wird als strate­gi­sches Schlüs­sel­ele­ment bei Produkten, Dienst­leis­tungen und Geschäfts­mo­dellen eingesetzt

Software bewirkt „echte“ Wertschöp­fung durch Techno­lo­gien wie Machine Learning & Künst­liche Intelligenz

Software­ent­wick­lung im indus­tri­ellen Umfeld wird eher „stief­müt­ter­lich“ betrieben

Unter­nehmen haben meist eigene Kompe­tenzen in der Softwareentwicklung

Unter­stüt­zung durch Dienst­leister mit breitem Kompe­tenz­spek­trum oder „Insel­ex­per­tise“

Unter­nehmen erkennen die Software(-kompetenz) als strate­gi­sches Schlüs­sel­ele­ment für den Unternehmenserfolg

Integrierte Zusam­men­ar­beit mit spezia­li­sierten Partnern

Entwick­lung orien­tiert sich an den vorhan­denen Kompetenzen

Heraus­for­de­rung, mit den Entwick­lungen Schritt zu halten und den Überblick zu bewahren

Eigene Kompe­tenzen werden nach den Bedarfen der Anwen­dung geschult/ gesucht

Heraus­for­de­rung, interne & externe Teams in einer agilen & vertrau­li­chen Zusam­men­ar­beit zu führen

Techno­lo­gien & Kompe­tenzen sind Innova­ti­ons­treiber für Produkte, Dienst­leis­tungen und Geschäfts­mo­delle vom Unter­nehmen bis zum Kunden, über den gesamten Produkt­le­bens­zy­klus und der Kundenbeziehung

Früher

alter PC als Symbol für frühere Softwareentwicklung

Software wird vor allem dort einge­setzt, wo unbedingt notwendig

Software­ent­wick­lung im indus­tri­ellen Umfeld wird eher „stief­müt­ter­lich“ betrieben

Entwick­lung orien­tiert sich an den vorhan­denen Kompetenzen

Heute

zwei PCs und Maschine als Symbol für heutige Softwareentwicklung

Bei Produkten wird Software als zentrale Kompo­nente zur Funkti­ons­er­fül­lung eingesetzt

In der Produktion dienen Software­lö­sungen zur Visua­li­sie­rung und Prozesssteuerung

Unter­nehmen haben meist eigene Kompe­tenzen in der Softwareentwicklung

Unter­stüt­zung durch Dienst­leister mit breitem Kompe­tenz­spek­trum oder „Insel­ex­per­tise“

Heraus­for­de­rung, mit den Entwick­lungen Schritt zu halten und den Überblick zu bewahren

Eigene Kompe­tenzen werden nach den Bedarfen der Anwen­dung geschult/ gesucht

Zukünftig

 

vernetzte PCs, Fabrik und Cloud als Symbol für zukünftige Softwareentwicklung

Software wird als strate­gi­ches Schlüs­sel­ele­ment bei Produkten, Dienst­leis­tungen und Geschäfts­mo­dellen eingesetzt

Software bewirkt echte Wertschöp­fung durch Techno­lo­gien wie Machine Learning und Künst­liche Intelligenz

Unter­nehmen erkennen die Software(-kompetenz) als strate­gi­sches Schlüs­sel­ele­ment für den Unternehmenserfolg

Integrierte Zusam­men­ar­beit mit spezia­li­sierten Partnern

Heraus­for­de­rung, interne & externe Teams in einer agilen & vertrau­li­chen Zusam­men­ar­beit zu führen

Techno­lo­gien & Kompe­tenzen sind Innova­ti­ons­treiber für Produkte, Dienst­leis­tungen und Geschäfts­mo­delle vom Unter­nehmen bis zum Kunden, über den gesamten Produkt­le­bens­zy­klus und der Kundenbeziehung

Heraus­for­de­rungen für indivi­du­elle Software­ent­wick­lung in der Investitionsgüterindustrie

Hohe Varianz der Maschinen, Anlagen & Produkte

Aufgrund sich immer schneller ändernden Anfor­de­rungen in der produ­zie­renden Indus­trie existieren meist mehrere Varianten bzw. Genera­tionen verschie­dener Baureihen „neben­ein­ander“. Dementspre­chend müssen parallel ältere und bereits weiter­ent­wi­ckelte Maschinen mit prinzi­piell den gleichen Funktionen (Software­ap­pli­ka­tionen) betrieben werden.
→ Software­lö­sungen und Updates müssen diesen Spagat der Modula­rität und Aufwärts-/ Abwärts­kom­pa­ti­bi­lität bewältigen!

Lange Produkt­le­bens­zy­klen

Maschinen, Anlagen und Kompo­nenten haben i. d. R. eine sehr hohe Lebens­dauer. Sie werden zudem im Laufe der Zeit erwei­tert, umgebaut und moder­ni­siert. Das muss eine „gute“ Software im Zusam­men­spiel der verschie­denen Elemente zulassen bzw. anpas­sungs­fähig sein.
→ Die Software­lö­sungen müssen updatefähig und über viele Releases kompa­tibel sein und bleiben!

Vergleichs­weise geringe Anzahl an Nutzern

In der Inves­ti­ti­ons­gü­ter­in­dus­trie ist die Nutzer­zahl im Vergleich zu anderen Indus­trien eher gering. Deshalb gilt hier für die Software­ent­wick­lung die beson­dere Maßgabe der Wirtschaft­lich­keit bei gleich­zeitig sehr hohem Quali­täts­an­spruch.
→ Die Software­ar­chi­tektur und die Methodik in der Entwick­lung müssen den Ansprü­chen an Effizienz, Nachhal­tig­keit und Güte gerecht werden!

Instal­la­tionen verschie­dener Konfi­gu­ra­tion & Genera­tion sind parallel in Betrieb

Infolge der hohen Varianz und Produkt­le­bens­dauer sind zeitgleich Maschinen, Anlagen und Kompo­nenten mit unter­schied­li­chem Funkti­ons­um­fang und Versio­nie­rung in Betrieb. Für Hersteller und Betreiber ist das eine Heraus­for­de­rung. Für Software­lö­sungen resul­tiert dadurch immer ein gewisser Pflege­auf­wand.
→ Bei der Software­ent­wick­lung (Stich­worte: Wartbar­keit, Verfüg­bar­keit der einge­setzten Techno­logie) und in der Entwick­lungs­or­ga­ni­sa­tion (Kapazität, Know-how) muss das bedacht werden!

Verän­de­rungen bieten Chancen, neue Poten­ziale zu nutzen

Dadurch, dass gute Indivi­du­al­soft­ware allen beschrie­benen Krite­rien gerecht werden soll, bietet sich stets die Chance, den Verän­de­rungs­druck strate­gisch für Neues zu nutzen. Zusammen mit der laufenden Weiter­ent­wick­lung innova­tiver Techno­lo­gien, können z. B. neue, lukra­tive Geschäfts­mo­delle entwi­ckelt und angeboten werden.

Laufzeit-/ nutzungs­ab­hän­gige Vergütungsmodelle

  • nach der Nutzungs­dauer von Maschinen (Zeit, „Pay-per-Use“)
  • nach den produ­zierten Stück­zahlen (Ergebnis, „Perfor­mance-based Contracting“)
  • nach der verwen­deten Belas­tung (Leistung)
  • nach der Anzahl der Nutzung (Lizenz­mo­delle)
  • Freischal­tung spezi­eller Funktionen, evtl. kostenlos für einen Testzeit­raum („Rent instead of Buy“)

Weiter­ent­wick­lung der Software

  • während des Betriebs können Software­funk­tio­na­li­täten weiter- oder neuent­wi­ckelt werden („After­sales“)
  • anbieten neuer Funktionalitäten/ Features für bereits ausge­lie­ferte Maschinen („Upgrade“)

Mit zuneh­mender Bedeu­tung von Software wachsen auch die Anfor­de­rungen daran

  • Usabi­lity: Ziel, die Nutzung einfach zu machen, fehler­frei zu gestalten unter Beach­tung des Nutzungs­kon­textes und stets orien­tiert am Nutzer
  • User Experi­ence: Schaf­fung eines positiven Benut­zer­erleb­nisses (Stich­wort „Gamifi­ca­tion“)
  • Einfa­ches Deploy­ment auf unter­schied­liche Zielsysteme
  • Platt­form­un­ab­hän­gig­keit
  • konti­nu­ier­liche Erwei­te­rung bei laufenden Betrieb der Software
  • Nutzung auf unter­schied­lichsten Endge­räten, wie z. B. Laptop, Tablet und Smart­phone (Stich­wort „Respon­sive Design“
  • ortsun­ab­hän­gige Nutzung der Software
  • Geschwin­dig­keit bei der Entwicklung
  • Berück­sich­ti­gung funktio­naler Qualitätsaspekte
  • Berück­sich­ti­gung nicht-funktio­naler Quali­täts­aspekte (Wartbar­keit, Erwei­ter­bar­keit, Wiederverwendbarkeit)

Unsere Erfolgs­fak­toren

Um diesen hohen Ansprü­chen und Trends gerecht zu werden, flexibel für die Nutzung neuer Chancen zu bleiben und aus unserer über 20-jährigen Erfah­rung sind dies die entschei­denden Erfolgs­fak­toren in der indivi­du­ellen Softwareentwicklung:

Flexible Software­ar­chi­tek­turen

Einsatz von On-Premise bzw. Cloud-Lösungen

Bei einer On-Premise Lösung wird die Software auf einem Server im Netzwerk des eigenen Unter­neh­mens instal­liert und betrieben. Vorteile: Maximale Kontrolle über die Daten (auch Daten­schutz), unein­ge­schränkter Zugriff und hohe Verfüg­bar­keit. Deshalb setzen wir häufig sog. Edge-Cloud-Lösungen ein.
Bei Cloud-Anwen­dungen läuft die Software bei einem Cloud-Anbieter. Vorteile: Maximale Skalier­bar­keit, überschau­bare Kosten (keine eigene Wartung) und Zugriff von jedem Ort.
Meist bietet sich als Lösung eine optimale Kombi­na­tion aus Edge-Cloud und Cloud-Lösungen an, um die Vorteile von beiden Techno­lo­gien zu kombinieren.

Berücksichtigung verschiedener Schnittstellen

Für Edge-Cloud und Cloud-Lösungen, bei diversen Anbietern

  • Platt­formen
  • Techno­lo­gien

Moderne, offene und zukunfts­fä­hige Softwareentwicklungswerkzeuge

Wir verfolgen immer die Strategie, für die jewei­lige Problem­stel­lung das richtige Lösungs­kon­zept aus Software­ar­chi­tektur, Program­mier­spra­chen und dem Zusam­men­spiel von Tools zu erarbeiten. Wir arbeiten platt­form­un­ab­hängig und sind offen für alle Program­mier­spra­chen. Deshalb legen wir großen Wert auf die stetige Weiter­ent­wick­lung unserer eigenen Experten. Dabei ziehen wir in Projekten auch in Betracht, ob absehbar in Zukunft Software­ent­wickler mit den entspre­chenden Fähig­keiten und Kompe­tenzen verfügbar sind.


Microsoft.NET


C# / C++


WPF / ASP.NET


Qt


JavaScript / HTML


Java


Entity Frame­work


SQl / MySQL / PostgreSQL


Influx / Mongo


Windows


Linux


Android


Azure


aws

Struk­tu­riertes und Tool-gestütztes Vorgehen bei der Software­ent­wick­lung: Conti­nuous Integra­tion, Conti­nuous Delivery und Conti­nuous Deployment

In einem profes­sio­nellen Entwick­lungs­pro­zess werden bestehende Funktionalitäten/ Module bereits während der Program­mie­rung mittels automa­ti­siert durch­ge­führter Tests abgesichert.

(Plus)  Absiche­rung der Qualität über den gesamten Entwick­lungs­pro­zess
(Plus)  Änderungs­wün­sche können noch flexi­bler berück­sich­tigt werden

Hierfür setzen wir entspre­chende Systeme ein und imple­men­tieren sie in unseren Entwick­lungs­pro­zess des Conti­nuous Develo­p­ment, der aus den folgenden Phasen besteht:

Continuous Integration (CI)

Automa­ti­sierter Testpro­zess, bei dem neu geschrie­bener Code sofort getestet und Software­kom­po­nenten zu einer Anwen­dung zusam­men­ge­führt werden.

Continuous Delivery (CD)

Automa­ti­sierter Release­pro­zess, bei dem Änderungen und Erwei­te­rungen am Code automa­ti­siert und sofort an den Endnutzer ausge­lie­fert werden; Fehler und Ursachen können aufgrund der kleinen Entwick­lungs­schritte schnell identi­fi­ziert werden.

Continuous Deployment (CD)

Sind die automa­ti­sierten Tests erfolg­reich, werden erfolgte Änderung am Code automa­ti­siert in die aktuelle Version der Software imple­men­tiert, ohne weitere Freigaben.

Weitere quali­täts­si­chernde Maßnahmen

Code-Review ist die effizi­en­teste Methode, um die Software­qua­lität nachhaltig zu steigern. Die ständige Analyse des Source-Codes ermög­licht dem Entwickler eine itera­tive Optimie­rung. Z. B. Gitlab ist eine Sammlung von Web-Appli­ka­tionen, welche die Entwickler unter­stützt über den Source-Code und dessen Änderungen zu kommunizieren.

Review des Source-Codes nach dem „Vier-Augen-Prinzip“ durch andere Entwickler

(Plus)  Berück­sich­ti­gung & Steige­rung nicht-funktio­naler Quali­täts­merk­male
(Plus)  Effizi­ente Möglich­keit zur Einbin­dung von Kompe­tenzen anderer Entwickler
(Plus)  Erzie­lung einer wartbaren und erwei­ter­baren Software

Effek­tive Unter­stüt­zung einer verteilten, dezen­tralen Arbeits­weise
(Plus)  Unabhän­giges Arbeiten an gleicher Software-Version möglich
(Plus)  Software-Entwick­lung und ‑Anpas­sung auch an externen Stand­orten (z. B. vor Ort beim Kunden)
(Plus)  Spätere Versio­nie­rung der Änderungen und Tool-gestützte Zusam­men­füh­rung im zentralen Repository

Konti­nu­ier­liche Überar­bei­tung einer Software (meist) unter Beibe­hal­tung des Funkti­ons­um­fangs, mit dem Ziel der Verbes­se­rung der Archi­tektur, Optimie­rung des Codes und Besei­ti­gung von Code-Smells (z. B. Code-Dupli­kate)
Refac­to­ring:  Struk­tur­ver­bes­se­rung von Quell­texten unter Beibe­hal­tung des bishe­rigen Programm­ver­hal­tens
Restruk­tu­rie­rung:  Anpas­sung der Software bzw. von Modulen an neue Techno­lo­gien
(Plus)  Steige­rung der Perfor­mance einer Software
(Plus)  Erleich­te­rung der Weiter­ent­wick­lung einer Software

Dieses Prinzip besagt, dass eine Funktion entweder eine Aktion durch­führt (Command) oder Werte abfragt, also Daten an den Aufrufer zurück­gibt und niemals beides in einer Funktion tun sollte. Dadurch entsteht „sauberer“ Quell­code, der intuitiv verständ­lich ist.
(Plus)  Stabi­lere und effizient wartba­rere Programme
(Plus)  Kürzere Entwick­lungs­zeiten bei Funkti­ons­er­wei­te­rung und Fehlerbehebungen

Automa­ti­sierte Software­tests lohnen sich insbe­son­dere bei agilen Projekten, da so einfach und regel­mäßig Integra­tions- und Regres­si­ons­tests durch­ge­führt werden können. Dafür müssen bereits am Beginn der Entwick­lung die entspre­chenden Voraus­set­zungen geschaffen und während der Entwick­lungs­phase berück­sich­tigt werden: Testbar­keit ermög­li­chen, Testar­chi­tektur für Kompo­nenten- oder Unittests festlegen, Konven­tionen und Standards für fremden Source­code definieren, aussa­ge­kräf­tige Reportings.

Nicht-funktio­nale Anfor­de­rungen an Individualsoftware

Die Erfül­lung funktio­naler Quali­täts­kri­te­rien in der indivi­du­ellen Software­ent­wick­lung ist wichtig, aber für uns selbst­ver­ständ­lich. Wir legen außerdem einen beson­deren Fokus auf nicht-funktio­nale Anforderungen:

Wartbarkeit

Möglich­keit der leichten Anpas­sung der Software ohne großen Aufwand an geänderte Spezi­fi­ka­tionen. Wartbare Software kann leicht modifi­ziert werden, d. h. Änderungen (z. B. Fehler­be­he­bungen) sind ohne großen Aufwand und Risiko möglich.

Erweiterbarkeit

Möglich­keit der Erwei­te­rung der Software um neue Anfor­de­rungen (z. B. Funktionen, Maschinen-/ Steue­rungs­um­ge­bung). Erwei­ter­bare Software kann einfa­cher z. B. an neue Maschi­nen­va­ri­anten angepasst werden oder ist ohne großen Aufwand skalierbar.

Wiederverwendbarkeit

Verwen­dung von Softwarebau­steinen ganz oder teilweise für mehrere Maschinen/ Baureihen, Anlagen bzw. Projekte.

Werden diese Krite­rien bei der Konzep­tion und Program­mie­rung beachtet, schafft man nachhal­tige Software­lö­sungen, die auf lange Produkt­le­bens­zy­klen ausge­legt sind. Dies ist insbe­son­dere im Inves­ti­ti­ons­gü­ter­be­reich bei Laufzeiten von 15–20 Jahren ein wichtiger Faktor.

Agile Software­ent­wick­lung mit Methodik

Das metho­di­sche Vorgehen ist die Schlüs­sel­kom­pe­tenz in der agilen Entwick­lung von Software für mecha­tro­ni­sche Systeme. Wir wenden effizi­ente und erprobte Methoden generell in allen Software­ent­wick­lungs­pro­jekten an, sowohl im Hochspra­chen­be­reich, als auch im Bereich der SPS-Softwareentwicklung.


Design Thinking


SCRUM


Kanban


DevOps


Jira


Conflu­ence


TFS


Enter­prise Architect


GitLab


Jenkins


Nexus


Rancher OS


Docker

Design Thinking

Beim Ansatz des Design Thinking wird das Ziel verfolgt, Innno­va­tionen zu entwi­ckeln, die sich am Nutzer und dessen Bedürf­nissen orien­tieren. Dabei stehen weniger die „harten“ techni­schen Anfor­de­rungen im Vorder­grund, sondern vor allem die „weicheren“ Wünsche aus Sicht der Anwender. Während der Entwick­lung wird stets versucht, mit möglichst geringem Aufwand einen ersten Lösungs­an­satz darzu­stellen („Minimum Viable Product“, MVP) und dieses abzustimmen.

Anwen­dung des agilen Vorge­hens­mo­dells SCRUM

Grafik beschreibt Scrum Prozess bei individueller Softwareentwicklung

Optimie­rung der Durch­lauf­zeit mit Kanban

Kanban ist ein nützli­ches Frame­work in der agilen Software­ent­wick­lung. Dazu werden Kapazi­täten in Echtzeit kommu­ni­ziert und alle Aufgaben völlig trans­pa­rent darge­stellt. Die einzelnen Aufga­ben­ele­mente werden auf einem Kanban Board visuell darge­stellt, sodass sich die Teammit­glieder jeder­zeit einen Überblick über den Status der Arbeits­schritte verschaffen können.

Grafik beschreibt Kanban Prozess bei individueller Softwareentwicklung

DevOps

Der Begriff setzt sich aus „Dev“ (Develo­p­ment, Entwick­lung) und „Ops“ (Opera­tions, Vorgänge) zusammen. Dabei werden die eigent­lich grund­ver­schie­denen Bereiche der Software­ent­wick­lung und der IT-Betrieb zusammengeführt.

Grafik beschreibt DevOps Prozess bei individueller Softwareentwicklung

Unser Verständnis von Exzel­lenz in der
Software­ent­wick­lung

Wir sind davon überzeugt, dass die digitale Trans­for­ma­tion in der Indus­trie der Schlüssel zu neuen Poten­zialen und die unbedingte Voraus­set­zung für weiteren Erfolg in der Zukunft ist. Das bedeutet für uns:

  • Tiefe Überzeu­gung, dass die Software­ent­wick­lung eine sehr verant­wor­tungs­volle Aufgabe ist, das Ergebnis am Nutzen und Mehrwert orien­tiert sein muss und den unter­neh­me­ri­schen Erfolg nachhaltig beeinflusst.
  • Offen­heit für neueste Trends, Techno­lo­gien und Methoden und dauer­hafte Lernbereitschaft.
  • Agile Arbeits­weise in inter­dis­zi­pli­nären und flexi­blen Kompe­tenz-Teams mit tool-gestützten Methoden und dem Fokus auf Time-to-Market (TTM).
  • Große Erfah­rung und Praxis­nähe mit hohem Verständnis für die Branchen der Kunden und die Funkti­ons­weisen von Maschinen und Anlagen.
  • Blick über Grenzen hinweg mit Verständnis für Anfor­de­rungen und Chancen in der Zukunft.
  • Enge Zusam­men­ar­beit mit Hochschulen, spezia­li­sierten Partnern, Innova­toren und Fachverbänden.

Es gibt keine Patentrezepte!

Die Anfor­de­rungen für unter­schied­liche Appli­ka­tionen in den verschie­denen Branchen sind sehr vielfältig und indivi­duell. Deshalb gibt es meist keine passenden Standard­lö­sungen bzw. ist Indivi­du­al­soft­ware meist ungeeignet. Als Strategie gilt immer nur, dass für die jewei­lige Problem­stel­lung das richtige Lösungs­kon­zept aus Software­ar­chi­tektur, Program­mier­spra­chen und dem Zusam­men­spiel von Tools erarbeitet werden muss. Dabei gilt es die verschie­densten Erfor­der­nisse, die manchmal gegen­sätz­liche Ansätze erfor­dern können, gegen­ein­ander abzuwägen, um eine für alle Belange optimale Lösung zu finden.

Ein nicht zu unter­schät­zender Faktor ist dabei auch die Verfüg­bar­keit an Software­ent­wick­lern mit den erfor­der­li­chen Fähig­keiten und Kompe­tenzen, heute und in der Zukunft. Deshalb legen wir großen Wert auf die stetige Weiter­ent­wick­lung unserer eigenen Experten. Unter diesem Aspekt berück­sich­tigen wir bei der Projekt­pla­nung auch stets die internen Möglich­keiten bei unserem Kunden, falls Systeme später hausin­tern gepflegt werden sollen.

Wir verfolgen immer das Ziel, für Sie flexible und zukunfts­fä­hige Software­lö­sungen zu entwi­ckeln, an denen Sie funktio­nell und wirtschaft­lich lange Freude haben.

Unser Angebot

Unsere Kernkom­pe­tenz als Dienst­leister liegt in der Entwick­lung anspruchs­voller, indivi­du­eller Software­lö­sungen im indus­tri­ellen Umfeld. Dabei erstellen wir für Sie neue, maßge­schnei­derte Anwen­dungen oder nehmen notwen­dige Anpas­sungen an Ihrer bestehenden Infra­struktur vor. Dafür bieten wir Ihnen Know-how, Kapazität und Erfah­rungen aus unter­schied­lichsten Projekten und Branchen. Wir verstehen uns als Ihr verläss­li­cher Entwick­lungs­partner und Impuls­geber: Von der Beratung und Konzep­tion, über die Program­mie­rung, Imple­men­tie­rung und Quali­täts­test bis zur konti­nu­ier­li­chen Weiter­ent­wick­lung der Software, decken wir alle Phasen von indivi­du­ellen Software­pro­jekten ab.

Scroll to Top