1. Homepage
  2. Implementation
  3. Tools and Development Processes

Tools

Developers need tools to be productive. We help with the selection and adoption of suitable tools. It is important for us that tools are not an end unto themselves but rather support the existing processes. We examine whether existing tools are appropriately used. While doing so we also scrutinize processes and make pragmatic suggestions for changes if necessary. Thereby we systematically work towards a high degree of automation as well as early and frequent releases of software.

We know the established PHP development tools from many years of practical experience. Some of these tools were even created by us or we contribute to their development. We have experience with PHP-based tools such as PHPUnit, PHP_Depend, PHP Mess Detector (PHPMD), PHP Copy/Paste Detector (PHPCPD), PHP_CodeSniffer, PHPLOC, phpDox, phpDocumentor and Composer. We know how to effectively use version control systems such as Git, Mercurial, or Subversion and how to use tools such as Apache Ant or Phing to automate one's build process. We know the commonly used virtualization technologies such as VirtualBox or VMWare and know how to automate the provisioning of virtual machines for development, testing, and production with Chef, Puppet, or Vagrant. Just like we are familiar with solutions such as Hudson, Jenkins, or Bamboo for the operation of servers for continuous integration we are also used to working with Gitlab, Jira, Mantis, Redmine, Trac, and other commonly used collaboration tools for software development.

Examples

The Right Step

A solution provider for e-commerce integration has to deploy their software to various hardware and software platforms for their customers and so far was unable to establish an automated deployment process. The introduction of continuous integration as a first step towards complete deployment automation was desired in order to lower the error rate.

During the briefing it became apparent that no version control system was used so far. We supported the customer in the introduction of a distributed version control system and helped with the following adaption of their software development process. After completing the technical integration we trained the employees.

Build Automation

An American non-profit company wanted to lower their error rate and to improve the quality of their custom-built software. We supported the company in the setup of a continuous integration environment. In addition to introducing PHPUnit and imparting as well as practicing test-driven development we presented various static code analysis tools.

In collaboration with members of the team we set up the complete environment for continuous integration and inspection and configured it individually for several projects. We elucidated which changes in the code and to the way of working should be triggered by the analysis reports.

Sebastian has been a great asset both in reviewing our PHPUnit codebase and in training our team. Both our test infrastructure and our continuous integration system are better today because we had the benefit of Sebastian's input during the early planning and development stages.

Noah Sussmann, Test Architect, Etsy Inc.

Contact us if you need support with the selection or introduction of tools.

eBook

PHP 7 Explained

With deep knowledge and practical experience, Sebastian Bergmann, Arne Blankerts und Stefan Priebsch explain everything you need to know about PHP 7.

read more

Hands-On

Simplified Mocking in PHPUnit

PHP 5.5 ships with some interesting new features. We explain how a new built-in constant greatly simplifies the mocking and stubbing of classes.

read more

Open Source

Open Knowledge

Following our visit to the Wikimedia Foundation headquarters in San Francisco last year we supported the foundation's German branch in Berlin this year.

read more