Schulung & Beratung

Mit einer Einführung neuer Technologien oder Prozesse geht stets ein Lernprozess einher. In dessen Rahmen gibt es Unsicherheiten und es werden manchmal suboptimale Entscheidungen getroffen, aus denen man lernen muss.

Einführung

Softwareentwickler wissen, dass die erste Implementierung auf Basis einer neuen Technologie eher selten optimal ist. Man würde dann alles gern noch einmal machen, besser, anders, das zwischenzeitlich erlernte Wissen einbringen und die gemachten Fehler vermeiden. Dies kostet Ihren Unternehmen im Best-Case nur Geld und Zeit, im Worst-Case das Vertrauen ihrer Kunden. 

Profitieren sie daher von unserem Fachwissen in den unterschiedlichsten Themengebieten rund um die Softwareentwicklung. Unsere Inhalte sind praxisnah und gern gehen wir auf Ihre Bedürfnisse ein und lassen diese in Schulungen und Praxisworkshops einfließen.

OSGi

OSGi bietet als Industriestandard ein Set an mächtigen Werkzeugen und Spezifikationen, die ihre Software effektiver, effizienter sowie wartbarer machen. Modulare Softwareentwicklung und das Thema Microservices sind momentan in aller Munde. OSGi wird beidem schon seit langem gerecht und führt auch, wenn korrekt angewendet, zu einer entkoppelten Programmierweise.

Unsere Erfahrungen mit OSGi reichen von Projekten mit beschränkter Hardware, über modulare Desktop-Anwendungen, bis hin zu skalierbaren Servern sowie Microservices und Cloud basierten Anwendungen. 

Als Mitglied der OSGi Alliance, in wichtigen Arbeitsgruppen, bieten wir wertvolles Hintergrundwissen zu Spezifikationen rund um das Thema OSGi. Dies umfasst nicht nur die Programmierung sondern auch die Themen Architektur, Produktentwicklung, Entwicklungsprozesse und Tooling.

Kombiniert mit unserer langjährigen Erfahrungen mit agiler und auch modellgetriebener Softwareentwicklung sowie entsprechenden betriebswirtschaftlichen Hintergrund bekommen sie ein optimales Gesamtpaket.

Modellierung in der Software-Entwicklung

Datenmodellierung hat in der Softwareentwicklung zwar einen wichtigen Stellenwert, wird allerdings oft nur mit Datenbankschemas oder Pojos gleichgesetzt. UML ist ein wichtiges und bekanntes Thema, erscheint für Viele aber zu akademisch und dient oft nur der Dokumentation. 

Dem muss nicht so sein! Modellgetriebene Softwareentwicklung – MDSD kann durch den Einsatz der richtigen Tools und Frameworks vieles erleichtern. Zwar bedient man sich dem UML Tool-Set, verwendet allerdings nur praxisrelevante Bestandteile, die für die Entwicklungseffizienz maßgeblich sind.

So sorgt eine Einführung einer Sprache/Nomenklatur für den nichttechnischen Fachbereich sowie der technisch gelagerten Entwicklung, bereits auf Use-Case Ebene für besseres Verständnis der Abteilungen. In der Entwicklung sorgt MDSD an den richtigen Stellen für höhere Effizienz, bessere Kommunikation und Reduktion von Fehlerquellen.

Durch unsere langjährige Erfahrung mit EMF- Eclipse Modeling Framework und dessen Ökosystem, können wir Schulung, Beratung und Unterstützung bei großen wie auch kleinen Projekten liefern. Dabei geht es nicht nur um den Einsatz eines Frameworks, vielmehr vermitteln wir eine alternative Denkweise, gekoppelt mit entsprechenden Hilfsmitteln zur Modell-zu-Modell oder Modell-zu-Text Transformation. Wir helfen dabei etwas, was aus unserer Erfahrung, bereits in den Köpfen des Business und der Entwickler existiert, mit entsprechenden Hilfsmitteln zu manifestieren und daraus Modelle zu formalisieren. 

Eclipse RCP & Eclipse Plugin Entwicklung

Sie oder ihr Kunde wünschen sich eine echte Desktop-Anwendung an stelle einer Webanwendung oder sie benötigen Plugins für eine bestehende Rich Client Anwendung oder gar die Eclipse IDE? Wir können ihnen in der Eclipse-Welt die Richtung weisen. Wir streifen Themen nach Ihren Bedarf. Von der Usabillity, UI-Test, Build-Prozess, Updates-Sites, Produkt-Build, Benutzung der verschiedensten Frameworks, Branding und kontextsensitive Hilfe aber auch die Themen OSGi und das EMF Ökosystem können wir sowohl theoretisch und auch im praktischen Hands-On vermitteln. Die Schulungen und Workshops richten sich nicht nur an Entwickler sondern sind auch im für Produkt-Manager und andere Entscheider geeignet. Profitieren sie von unserer jahrelangen, praktischer Erfahrung in diesem Umfeld.

Effektives Entwickeln von OSGi & Eclipse Projekten

Entwicklung von OSGi und Eclipse Applikationen ist in den vergangenen Jahren um ein vielfaches einfacher geworden. In lang-laufenden Projekten finden sich allerdings häufig noch veraltete Prozesse, die die Entwicklung insbesondere neuer Funktionen, immer weiter erschweren und einen automatisierten Buildprozess zu einer Herausforderung machen. Dies wirkt sich direkt nachteilig auf die Effizienz der Entwicklung aus.

In internen Projekten und im Kundenauftrag führen wir regelmäßig Migrationen sowie Migrationsunterstützung von bspw. Ant-basierten Eclipse PDE Projekten zu Maven Tycho oder BND durch. Aus Erfahrung wissen wir, dass sich die Hürde eines Umstiegs mit wachsender Projektgröße nicht verringert. Das Gegenteil ist der Fall. Herausforderungen sind zudem spezielle Produkt-Builds oder jedes Abweichen vom Standard Build-Prozess

Wir entwickeln Migrations-, Integrations- und/oder Release-Strategien für den Software-Produktionsprozess, nehmen ihre Entwicklungsteams gern begleitend an die Hand oder führen die gesamte Migration für Sie durch. Zudem unterstützen wir Sie gern bei Themen wie Continuous Integration, Dependency Management, Deployment, Repositories und Docker-Builds.

Suche & Indizierung mit Apache Lucene

Ob eine komfortable Suche oder schneller zugriff auf aufbereitete Daten. Apache Lucene ist sehr das Mittel der Wahl. Doch die Art und Weise, wie Lucene arbeitet, erfordert an vielen Stellen ein Umdenken, weg von der traditionellen Art Daten aus einer Datenbank zu beziehen und zu verarbeiten. Wir beraten und schulen Sie gern zu sinnvollen Einsatzgebieten, welche Erwartungen sie damit erfüllen können und wie sie Probleme technisch konkret lösen können. Dies betrifft nicht nur den Einsatz von existierenden Produkten wie Elasticsearch oder Solr. Auch wenn sie über einen embedded Einsatz in ihrer Applikation nachdenken, können wir gern unterstützen. Wir zeigen auch gern auf, wie sie eine nahezu Echtzeitsuche, Auto-Vorschläge, Ähnlichkeitssuche und umfangreich Geo-Spatial Suche in ihre Datenbasis integrieren, was sie bei der Indizierung beachten müssen und worauf bei der Datenmodellierung zu beachten ist. Ein weiteres interessantes Themengebiet sind trainierbare Systeme mit Lucene umzusetzen ohne schwer-gewichtige Tools wie Hadoop, Spark benutzen zu müssen. 

Effektive Entwicklungsprozesse & Prozessautomatisierung

Sie wollen ihren Entwicklungsprozess effektiver gestalten? Das kann Continuous integration, Testautomatisierung, vereinfachtes Setup für neue Entwickler oder Projekte bis hin zu Unternehmensspezifischen Tools und Plugins bedeuten. Hier bieten wir individuelle Schulungen und Beratungen um ihr Unternehmen und ihre Mitarbeiter voran zu bringen. Wir zeigen Release- und Branching-Strategien, erprobte Tool-Chains, mit denen die Entwicklungseffizienz erhöht wird. Zusammen mit ihnen untersuchen wir, welche Werkzeuge für ihr Unternehmen geeignet sind. Dabei geht es nicht nur um den laufenden Prozess sondern auch, um die vielen Tools, die helfen neue Entwicklungsumgebungen aufzusetzen oder neue Projekte in der Infrastruktur zu initialisieren. Wir geben zudem Einblicke, wie sie gewisses Customizing von Tools oder Entwicklungsumgebungen mit vertretbarem Aufwand selbst durchführen können.

Agiles Entwicklungsprozesse

Die Einführung agiler Entwicklungsprozesse in einem Unternehmen birgt eine ganze Reihe einzigartiger Herausforderungen. Hierbei muss ein Verständnis geschaffen werden, was der Begriff agil bedeutet und was ein solches Vorgehen es allen beteiligten Parteien bietet. Hierbei gibt es viele unterschiedliche Aspekte zu betrachten, die den wenigsten direkt bewusst sind und die einen positiven Einfluss auf das Unternehmen, seine Prozesse bis hin zu seinen Kunden haben können. Wir erläutern gern den Einsatz von Methoden aus dem SCRUM Werkzeugkasten, um agiles Vorgehen als Motto zu verstehen und nicht als starren Prozess. Durch jahrelange Erfahrung in agilen Projekte und deren Einführung und Tätigkeit als SCRUM Master bieten wir hier einen umfangreichen Erfahrungsschatz, den wir vom Management bis zum Entwicklerteam vermitteln aber auch begleiten können. So können wir gern erarbeiten, wie sich agiles Vorgehen auch mit, von extern vorgegebene Vorgehensmethoden koexistieren und dieses ergänzen kann. Vielleicht möchten sie auch erfahren, wie neben der Softwareentwicklung auch andere Bereiche ihrer Organisation von agilen Methoden profitieren können.

Back to top