Agile Softwareentwicklung
Hier geben wir einen Überblick über die von uns angebotenen Dienstleistungen im Bereich Softwareentwicklung.
Implementierung & Wartung von großen Softwaresystemen
Programmiersprachen
Wir arbeiten hauptsächlich mit Enterprise-Java sowie C++, C#, JavaScript / TypeScript, Kotlin, PHP und Python
Wir arbeiten auch, aber seltener, mit C, Go, Groovy, Objective-C, Ruby, Rust, Scala und Swift
Ungewöhnliche Sprachen wie zum Beispiel Haskell kennen wir aus Freude daran
Webtechnologien
Frameworks wie Angular, React und Vue.js, Flux/Redux, Ember
Java-Frontendtechnologien wie Spring MVC, JSF und JSP, JavaFX, SWT, Swing und Vaadin
ASP.NET und Node.js
Grails auf Groovy, Rails auf Ruby, Python mit Flask und PHP mit Symfony
CSS mit Less und Sass, PostCSS und CSS-in-JS
Frameworks
O/R-Mapping mit Hibernate/JPA, Doctrine und Entity Framework
Inversion-of-Control mit Spring, CDI, Simple Injector und Unity
Anwendungsentwicklung mit Spring Boot, .NET Core, Micronaut and Quarkus
Enterprise Integration mit Apache Camel und ESBs, TIBCO
Messaging mit Kafka, ActiveMQ und RabbitMQ
Streamprogrammierung mit Apache Flink und Spark
Rule Engines mit Drools
Reactive Applications mit Akka, Spring und Reactive Streams
Komponentenmodelle mit OSGi und Java Modules
GUIs mit Qt
Werkzeuge
Search-Engines & Tools wie ElasticSearch/Logstash/Kibana und Solr/Lucene/Hibernate Search
Shellskripting mit Bash, Zsh, Powershell
Compilerbau mit Yacc/Bison/JavaCC/ANTLR and f/lex
Komplexe E-Commerce Lösungen auf Basis der hybris Commerce Suite und des hybris Commerce Accelerators
Architektur & Design
Domain Driven Design (DDD), objektorientierte Analyse und Design (OOAD)
Verteilte Systeme mit REST & SOAP, GraphQL und OData
API-Management mit OpenAPI und Apigee
Event-getriebene Architekturen, Event Sourcing und CQRS
Serverlose Architekturen
Responsive Web-Design, Progessive Web Apps & User Experience (UX)
Architekturregeln mit ArchUnit
Automatisiertes Testen & Qualitätssicherung
Testgetriebene Entwicklung und Testautomatisierung mit Continuous Integration Systemen wie Jenkins und Bamboo
Test-Tools: JUnit/TestNG/FitNesse, Hamcrest/Mockito, Concordion, Behat, JGiven, AssertJ & FEST, Selenium/Geb, Jest, Mocha und Jasmine, Spock und Behave
Qualitätsmanagement mit SonarQube™, PMD, FindBugs/SpotBugs, CheckStyle, *Lint
Code-Reviews und Softwareverifikation
Performancetesting & -tuning, Analyse von Nebenläufigkeit- und Speicherleck-Problemen
Betriebs- & Entwicklungsumgebungen
Java-Applikationsserver: WebLogic, Tomcat, Jetty, WebSphere und Wildfly
Portalserver wie Liferay
Betriebssysteme wie Linux, Unix, macOS, Windows
Buildsysteme wie Gradle, Maven, Ant, Ivy, npm, Gulp, Phing, Composer, yarn, CMake, NAnt und NuGet
Versionsverwaltung mit Git (GitHub/GitLab/Bitbucket), SVN, ClearCase, Mercurial, TFS, Jazz
Artefaktverwaltung mit Nexus/Artifactory
Wikis und Bugtracker wie Atlassian Confluence und Jira, Jetbrains YouTrack, Trac, MediaWiki
IDEs wie Eclipse, IntelliJ, PHPStorm und CLion
Entwicklung für mobile Endgeräte auf iOS und Android
Cloud- und SaaS-Plattformen wie AWS und Azure, Google Cloud Platform, OpenShift und AppExchange
Leistungen, Prozesse & Anforderungen
Best Practices-Softwareentwicklung mit Scrum und Kanban, skaliertem Scrum (SAFe, LeSS), sowie Techniken aus Extreme Programming / XP
Unterstützung als Scrum Master und Product Owner
Sprach- und werkzeugunabhängige Implementierung von Geschäftsprozessen
Restrukturierung von laufenden Drittprojekten sowie Fehlersuche und Refactoring von Legacy Code
Agiles Requirements Engineering, User Stories/Story Mapping und Event Storming
Feuerwehreinsätze
Schulungen, Workshops und Know-how-Transfer
IT-Sanierung
Bestandsaufnahme, Due-Diligence-Prüfung
Roadmap zur Modernisierung: Auf die Kunden zugeschnittene Modernisierung mit verschiedenen Technologien in unterschiedlichen Branchen
Beratung zu Modernisierungsstrategien, z.B. nach dem Strangler Pattern oder mit In-Place-Modernisierungen
Unterstützung in der Priorisierung existierender Business Features
Herstellen von Cloud-Readiness
Intelligente Konzepte für den Umbau: Temporäre Adapter, die die Migration für Client-Systeme verstecken
Paradigmenwechsel und Einführung von Best Practices in der Softwareentwicklung und im Anforderungsmanagement
Qualitätssicherung und Risikominimierung durch Erhöhung des Automatisierungsgrades