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, Perl, Groovy, Ruby und Scala
  • Ungewöhnliche Sprachen wie Haskell und Rust kennen wir aus Freude daran

Webtechnologien

  • Frameworks wie React, AngularJS, Flux/Redux, Backbone.js, auch Ember.js, Ext.js und Vue.js, auf der Serverseite node.js
  • Java-Frontendtechnologien wie Spring MVC, JSF und JSP, JavaFX, GWT, SWT und Swing
  • .NET Core, ASP.NET
  • Grails auf Groovy, Rails auf Ruby, Python mit Flask und PHP mit Symfony
  • CSS mit Less und Sass

Frameworks

  • O/R-Mapping mit Hibernate/JPA und Doctrine
  • Inversion-of-Control mit Spring, Google Guice, CDI
  • Anwendungsentwicklung mit Spring Boot
  • Enterprise Integration mit Apache Camel und ESBs, TIBCO
  • Messaging mit ActiveMQ, RabbitMQ
  • Streamprogrammierung mit Apache Flink und Spark
  • Rule Engines mit Drools
  • Reactive Applications mit Akka
  • Komponentenmodelle mit OSGi
  • 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
  • Event-getriebene Architekturen mit Kafka und Kinesis
  • Responsive Web-Design & User Experience (UX)
  • Dokumentation mit JGiven, arc42-Template, Swagger/OpenAPI
  • 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, 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, OpenShift, Google App Engine und AppExchange

Leistungen, Prozesse & Anforderungen

  • Best Practices-Softwareentwicklung mit Scrum und Kanban, skaliertem Scrum (SAFe, LeSS), sowie Techniken aus Extreme Programming / XP
  • 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