Facebook
Twitter
Google+
Kommentare
1

Interview mit Manuel Pichler

Hallo Manuel, vielleicht verliere ich erstmal ein paar Worte über dich, da ich denke, dass dich vielleicht nicht alle unsere Leser kennen. Dies kann man ihnen auch nicht übel nehmen, da dein Projekt noch relativ jung ist. Uns hat es jedoch schon oft geholfen unsere Softwarequalität zu sichern und schon alleine deswegen möchte ich mich hier mit dir unterhalten.

Du bist also der Hauptentwickler von phpUnderControl einem Cruise Control Aufsatzes für PHP und somit für mich jemand, der versucht die moderne Softwaretechnik in PHP zu etablieren. Genau wie ich hast du den Kampf gegen die vielen Windmühlen aufgenommen. Aber vielleicht stellst du dich einfach selbst einmal vor, damit dich die Lesen ein kleines bisschen kennen lernen.

Hallo Nils, erst einmal möchte ich mich bei dir für dieses Interview bedanken. Nun aber zu meiner Person, ich heiße Manuel Pichler, Jahrgang 1978, Diplom Informatiker, mit einer absoluten Affinität für Themen wie Software Architektur, Design Pattern und ähnliche Dinge. Bei PHP bin ich irgendwann im Jahr 2000 gelandet und habe somit noch einige Zeit die legendäre phplib erleben und nutzen dürfen. Ich stamme aus dem Herzen des Ruhrgebiets, wohne nun etwas Außerhalb und genieße seit der Geburt unserer Tochter vor drei Monaten jede freie Minute mit meiner kleinen Familie.

Wie kamst du auf die Idee eine Continuous Integration Lösung für PHP zu implementieren?

Woher die Idee stammt eine Continuous Integration Lösung für meine PHP Projekte zu verwenden kann ich heute gar nicht mehr genau sagen. Da mein Background aber im Java Umfeld liegt und hier Unit Testing, Metriken und Continuous Integration schon länger zu den Best Pratices zählten, gehört diese Art von Werkzeug schon lange zu meiner Toolchain. Ausschlaggebend war wohl ein Blog Post von Sebastian Nohn aus 2006, indem er CruiseControl als CI-Lösung für PHP vorstellte. So ist im Laufe der Zeit ein privates PHP-PatchSet für CruiseControl entstanden, dass ich dann 2007 auf Anraten einiger Member unserer User Group veröffentlichte. Wie groß das Interesse an einem Tool wie phpUnderControl dann war, hat mich dann allerdings doch überrascht.Was fehlt phpUnderControl noch, um das perfekte Tools zu werden? Du hast bestimmt eine ellenlange Liste mit Featurewünschen, die dich die nächsten Jahre beschäftigen könnten. Über welche Punkte dieser Liste können wir uns die nächste Zeit freuen?

Da ich in meiner vorherigen Firma für die Entwicklung von Produktsoftware verantwortlich war, die somit auf verschiedensten  Webserver-, Datenbank- und PHP-Kombinationen laufen musste, liegt für mich ein wesentlicher Schwerpunkt für die zukünftige Entwicklung von phpUnderControl auf der Unterstützung von Multi-Plattform-Builds. Mit Hilfe dieser Builds wird es möglich sein die eigene Software auf unterschiedlichen Softwarearchitekturen zu testen, angefangen bei verschiedenen PHP-Versionen, bis hin zum verwendeten Betriebssystemen. Dann soll phpUnderControl die gesammelten Daten aggregieren und in Reports über Metriken, Fehler und Testabdeckung aufbereiten.

Ein weiteres Feature das ich für eine zukünftige Version von phpUnderControl plane ist ein Source-Browser. Im Augenblick wird diese Funktionalität durch PHPUnits Coverage-Report bereitgestellt, der natürlich nur den Aspekt Coverage abdeckt. Der Source-Browser soll zusätzlich zur Testabdeckung die berechneten Metriken, Verletzungen der Coding Standards und Source Informationen, wie sie durch „svn blame“ bereitgestellt werden, vereinen, visuell aufbereiten und mit den verschiedenen Detailsichten verlinken.

Ich hatte vor kurzem eine Liste aufgestellt, mit Tools, die wir in unserem Entwicklungsprozess als feste Bestandteile ansehen. Natürlich fehlt phpUnderControl auch in dieser Aufzählung nicht. Welche zusätzlichen Tools verwendest du?

Das phpUnderControl in eurem Entwicklungsprozess nicht fehlen darf, freut mich natürlich.

Eines der wichtigsten Tools ist mittlerweile ant geworden, da man so schnell einzelne Prozesse automatisieren kann. Dabei nutze ich ant sowohl in Kombination mit CruiseControl, als auch standalone für verschiedenste Aufgaben. Ein weiterer Pluspunkt für ant ist die gute Integration in Eclipse, womit wir auch schon bei den nächsten Tools wären, Eclipse + PDT und Mylyn. Ich muss allerdings gestehen, dass ich in naher Zukunft auch mal Netbeans testen werde, die ersten Beta Versionen der PHP-Unterstützung waren sehr vielversprechend.

Neben diesen Infrastruktur-Tools fehlen natürlich nicht die üblichen Verdächtigen PHP_CodeSniffer, phpDocumentor, PHPUnit, Xdebug und PHP_Depend.

Stöbert man ein wenig über deine Webseite, stolpert man noch über ein anderes Projekt. PHP_Depend. Kannst du vielleicht ein paar Worte über dieses Tool verlieren?

PHP_Depend war ursprünglich als einfaches Proof-of-Concept bzw. PHP-Clone von JDepend gedacht, bis mich Sebastian Bergmann auf das eigentliche Potential eines Metriken Werkzeuges für PHP aufmerksam machte und anmerkte und er könne dann die Metriken aus PHPUnit 4.0 entfernen . Von da an entwicklt(e) sich PHP_Depend stetig weiter und umfasst schon jetzt 80% der von PHPUnit bereitgestellten Metriken. Zusätzlich bietet es ausgefallenere Erweiterungen wie die vom Google-Page-Ranke Algorithmus abgeleitete CodeRank-Metrik.

Die Tools, an denen du arbeitest setzen sich alle mit dem Thema Software-Engineering auseinander. Hast du das Gefühl, dass die PHP Gemeinde schon bereit ist, neue Methoden aus der Softwaretechnik zu erlernen?

Aus meiner Erfahrung heraus würde ich behaupten, die meisten Entwickler sind bereits auf diesem Weg oder wollen zumindest diesen Weg einschlagen. Ein Problem sehe ich zur Zeit noch im Marketing für diese Herangehensweise. Wie verkauft man einen augenscheinlich teureren Entwicklungsaufwand in der ersten Projektphase? Kunden und Entscheider sehen nur das Hier&Jetzt, einen Monat Feature-Driven oder zwei Monate QA getriebene Entwicklung in der ersten Iteration. Das ab einer gewissen Komplexität jede nachträgliche Änderung an Individualentwicklungen ein Balancespiel ist, wird häufig übersehen.

Wenn du einen Wunsch frei hättest, mit dem du PHP verbessern könntest, was würdest du verändern?

Zur Zeit wäre es wohl das Backslash Token in PHP 5.3 Namespaces 🙂 Ansonsten habe ich den utopischen Wunsch nach mehr Einheitlichkeit in der Reihenfolge von Parametern einzelner Core-Funktionen.

Mit wem würdest du gerne in einem Software Projekt Pair Programming betreiben?

Hm, ist das eine Fangfrage? Aber im Ernst, im ersten Moment fällt mir sofort Lars Jankowfsky von swoodoo ein. Auch wenn ich Lars bisher nicht persönlich kenne, glaube ich wir würden in einer solchen Pair Programming Session viel Spaß haben, zumindest ich 😛

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

1 Comments

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen