Agile Software Development This is a summary of the services we provide within the software development branch.
Implementation & Maintenance of Large Software Systems Programming languagesWe work mainly with Enterprise Java, as well as C++, C#, JavaScript / TypeScript, Kotlin, PHP and PythonWe also work, but less often, with C, Go, Groovy, Objective-C, Ruby, Rust, Scala and SwiftWe know uncommon languages such as for example HaskellWeb technologiesFrameworks such as Angular, React and Vue.js, Flux/Redux, EmberJava-frontend technologies such as Spring MVC, JSF and JSP, JavaFX, SWT, Swing and VaadinASP.NET and Node.jsGrails on Groovy, Rails on Ruby, Python with Flask and PHP with SymfonyCSS with Less and Sass, PostCSS and CSS-in-JSFrameworksO/R-mapping with Hibernate/JPA, Doctrine and Entity FrameworkInversion of Control with Spring, CDI, Simple Injector and UnityApplication development with Spring Boot, .NET Core, Micronaut and QuarkusEnterprise integration with Apache Camel and ESBs, TIBCOMessaging with Kafka, ActiveMQ and RabbitMQStream programming with Apache Flink and SparkRule engines with DroolsReactive applications with Akka, Spring and Reactive StreamsComponent models with OSGi and Java modulesGUIs with QtToolsSearch engines & tools such as ElasticSearch/Logstash/Kibana and Solr/Lucene/Hibernate searchShell scripting with Bash, Zsh, PowershellCompiler construction with Yacc/Bison/JavaCC/ANTLR and f/lexComplex e-commerce solutions based on the hybris Commerce Suite and the hybris Commerce Accelerator
Architecture & Design Domain-driven Design (DDD), object-oriented analysis and design (OOAD)Distributed systems with REST & SOAP, GraphQL and ODataAPI management with OpenAPI and ApigeeEvent-driven architectures, event sourcing and CQRSServerless architecturesResponsive web design, progressive web apps & user experience (UX)Documentation with JGiven and arc42-templatesArchitecture rules with ArchUnit
Automated Test & Quality Assurance Test-driven development and test automation with Continuous Integration systems like Jenkins and BambooTest tools like JUnit/TestNG/FitNesse, Hamcrest/Mockito, Concordion, Behat, JGiven, AssertJ & FEST, Selenium/Geb, Jest, Mocha and JasmineQuality management with SonarQube PMD, FindBugs/SpotBugs, CheckStyle and *LintCode reviews and software verificationPerformance testing & tuning, analysis of concurrency and memory leak issues
Operating & Development Environments Java application servers like Oracle WebLogic, Tomcat, Jetty, WebSphere and WildflyPortal servers like LiferayOperating systems like Linux, Unix, macOS and WindowsBuild systems with Gradle, Maven, Ant, Ivy, npm, Grunt, Gulp, Phing, Composer, yarn, CMake, NAnt and NuGetVersion control with Git (GitHub/GitLab/Bitbucket), SVN, ClearCase, Mercurial, TFS, JazzArtifact management with Nexus/ArtifactoryWikis and bug trackers like Atlassian Confluence and Jira, Jetbrains YouTrack, Trac, MediaWikiIDEs like Eclipse, IntelliJ, PHPStorm and CLionDevelopment for mobile devices on iOS and AndroidCloud- and SaaS-platforms such as AWS, Azure, Google Cloud Platform, OpenShift und AppExchange
Services, Processes & Requirements Best practices software development with Scrum, Kanban, scaled Scrum (SAFe, LeSS) and techniques out of Extreme Programming / XPSupport as a Scrum Master and Product OwnerLanguage- and tool-agnostic implementation of business softwareRestructuring of ongoing third-party projects as well as troubleshooting and refactoring of legacy codeAgile requirements engineering, user stories/story mapping and event stormingFirefightingTrainings, workshops and know-how transfer