Agile Software Development

This is a summary of the services we provide within the software development branch.

Implementation & Maintenance of Large Software Systems

     

Programming languages

  • We work willingly and often very intensively with Enterprise-Java as well as C++, C#, Go, JavaScript / TypeScript, PHP, Python und Scala
  • We also work, but less frequently, with C, Perl, Groovy and Ruby
  • We know uncommon languages such as Haskell and Rust

Web technologies

  • Frameworks such as React, AngularJS, Flux/Redux, Backbone.js, also Ember.js and Ext.js, on the server side node.js
  • Java-frontend technologies such as Spring MVC, GWT, SWT, JavaFX, Swing, JSF and JSP
  • Grails on Groovy, Rails on Ruby, Python with Flask and PHP with Symfony
  • CSS with Less, Sass

Frameworks

  • O/R-mapping with Hibernate and Doctrine
  • Inversion-of-control with Spring, Google Guice, CDI
  • Enterprise integration with Apache Camel and ESBs, TIBCO
  • Messaging with ActiveMQ
  • Rule engines with Drools
  • Reactive applications with Akka
  • Aspect-oriented programming with Spring AOP, AspectJ
  • Component models with OSGi

Tools

  • Search engines & tools such as ElasticSearch/Logstash/Kibana and Solr/Lucene/Hibernate search
  • Shell scripting with Bash, Zsh, Powershell
  • Compiler construction with Yacc/Bison/JavaCC/ANTLR and f/lex
  • Complex e-commerce solutions based on the hybris Commerce Suite and the hybris Commerce Accelerator

Architecture & Design

  • Software architecture & design
  • Object-oriented analysis and design (OOAD)
  • Distributed systems with SOAP & REST web services, RMI and RPC
  • Responsive Web Design & User Experience (UX)
  • Documentation with JGiven.org, arc42.de-template, Swagger/OpenAPI
  • Architecture rules with ArchUnit

Automated Test & Quality Assurance

  • Test-driven development and test automation with Continuous Integration systems like Jenkins and Bamboo
  • Test tools like JUnit/TestNG/FitNesse, Hamcrest/FEST/Mockito, Concordion, Behat, JGiven, AssertJ, Selenium/Geb, Mocha and Jasmine
  • Quality management with SonarQube PMD, FindBugs, CheckStyle and *Lint
  • Code reviews and software verification
  • Performance testing & tuning, analysis of concurrency and memory leak issues

Operating & Development Environments

  • JEE application servers like Oracle WebLogic, Tomcat, Jetty, WebSphere and Wildfly
  • Portal servers like Liferay
  • Operating systems like Linux, Unix, macoS and Windows
  • Build systems with Ant, Ivy, Maven, Gradle, npm, Grunt, Gulp, Phing, Composer, NAnt, NuGet
  • Version control with Git (GitHub/Bitbucket), SVN, ClearCase, Mercurial, TFS, Jazz
  • Artifact management with Nexus/Artifactory
  • Wikis and bug trackers like Confluence, MedaWiki, Jira, Jetbrains YouTrack, Trac
  • IDEs like Eclipse, IntelliJ, PHPStorm and CLion
  • Development for mobile devices on iOS and Android
  • Cloud- and SaaS-platforms such as Amazon Web Services (AWS), Google App Engine und AppExchange

Services, Processes & Requirements

  • Best practices software development with Scrum, Kanban, scaled Scrum and techniques out of Extreme Programming / XP
  • Language- and tool-agnostic implementation of business software
  • Restructuring of ongoing third-party projects as well as troubleshooting and refactoring of legacy code
  • Agile requirements engineering, user stories/story mapping
  • Firefighting
  • Trainings, workshops and know-how transfer