Continuous Integration mit Jenkins

0

Am 17.Oktober zieht es mich zusammen mit Holger Rüprich nach Hamburg auf die web DevCon. Holger wird dort einen Vortrag zum Thema „Mobile Web Apps – Wie, Warum, Womit?” machen, den wir im Büro letzten Freitag schon hören durften.

Und auch ich werde dort einen Vortrag halten, und im Vergleich zu meinen letzten Talks wieder mal etwas technischer werden. Mein Vortrag behandelt das Thema Kontinuierliche Integration am Beispiel von Jenkins und PHP.

„Kontinuierliche Integration“ ist ein Prozess, der nach dem Einchecken von Code jedes Mal das komplette System neu erstellt. Selbst wenn eine Technologie keinen separaten Kompilierungsvorgang benötigt (etwa PHP), lohnt sich dennoch der Einsatz eines CI-Systems. Lassen sich doch so auch automatisiert Tests überprüfen und Fehler fallen besonders schnell auf. Jenkins ist einer der populärsten CI-Server und unterstützt zahlreiche Sprachen und Technologien wie Java, .NET oder PHP. Der Vortrag beschreibt Einrichtung und Einsatzmöglichkeiten von Jenkins und wartet mit vielen Tipps und Tricks direkt aus der Praxis auf.

Nachdem ich gerade erst von der WebTech Conference zurück bin, ist mein Plan, dieses Jahr mal alle Konferenzen links liegen zu lassen, irgendwie nicht aufgegangen.

2010 – Mein Facebook Status

0

Der Erfolgreiche Programmierer

1

Gestern habe ich auf dem PHP World Kongress 2010 einen Vortrag mit dem Namen „Der Efolgreiche Programmierer” gehalten. In diesem Vortrag ging es weniger um Software-Entwicklung und mehr darum, welche Eigenschaften und Methoden man bei sich selbst fördern sollte, um eine erfolgreiche Laufbahn als Software-Entwickler einzuschlagen. Erfolgreich muss dabei nicht unbedingt bedeuten, dass man die Karriereleiter aufsteigt oder kontinuierlich mehr Geld verdient, sondern kann z.B. auch bedeuten, langfristig einen interessanten Job zu haben.

Doch genug der Worte, hier sind die Slides des Vortrags:

Das war mein erster Vortrag, in dem nun weder Code, noch konkrete Empfehlungen für Tools zu finden sind. Ist eine ganz neue Erfahrung, auch in diesen Bereichen nun mein Wissen weiterzugeben.

PHP World Kongress 2010

0

PHP World Kongress 2010 - SpeakerWie schon letztes Jahr werde ich auch dieses Jahr wieder als Speaker auf dem PHP World Kongress vom 09.11. bis 11.11. in München vertreten sein. Dieses Jahr ist nicht nur Holger Rüprich wieder dabei (um wieder mit mir zusammen einen Workshop zu veranstalten), sondern auch Nico Steiner wird zum ersten Mal auf dem PHP World Kongress dabei sein und einen Vortrag zu Frontend-Performance zu halten. Nico ist Experte für Frontend-Technologien und -Architektur in meiner Abteilung bei der 1&1 Internet AG. Meine Session am ersten Tag der Konferenz steht dieses Jahr unter dem Motto „Der erfolgreiche Programmierer”, wie bereits letztes Jahr wird es weniger um PHP-Code und dafür mehr um persönliche Entwicklung und Zusammenarbeit gehen.

Was macht einen Programmierer erfolgreich? Nicht nur fachliche Kompetenz und eingesetzte Methodologien sind verantwortlich. Dazu gehören auch Soft Skills, die Wahl eines geeigneten Mentors, das Verfolgen einer eigenen Version und vieles mehr. Erfolgreiche Programmierer sind leidenschaftlich, pragmatisch und produktiv – dieser Vortrag zeigt, warum.

Am zweiten Tag laden Holger und ich dann zum dreistündigen Workshop mit dem Thema „PHP im Unternehmenseinsatz” ein, in dem wir einen Überblick über die aus unserer Sicht wichtigen Bereiche für die Erstellung unternehmenskritischer Applikationen geben.

PHP wird heutzutage fast schon selbstverständlich im professionellen Bereich eingesetzt. Doch auch die verwendeten Tools und Methodologien müssen professionellen Ansprüchen genügen. Dieser Workshop zeigt direkt wie PHP in großen Projekten eingesetzt wird und wirft einen Blick auf die Themen verwendete Methodologien, Software, Build-System, Projektmanagement, Teamführung und weitere Aspekte.

Die nächsten zwei Wochen werde ich jetzt nutzen, die Folien mit dem letzten Feinschliff zu versehen.

Soundtrack meines Lebens

1

In der Sendung „Der Soundtrack meines Lebens” auf 3sat besucht die Moderatorin Nina Brunner eine bekannte Persönlichkeit während ein „Profiler Team” versucht, an Hand einer Playlist von acht Titeln herauszufinden, um welche Persönlichkeit es sich handelt.

Nun bin ich zwar keine bekannte Persönlichkeit, aber die Idee dahinter fand ich trotzdem interessant. Aus dem geplanten acht Musiktiteln sind während des Schreibens des Eintrags 20 geworden. Weiter konnte und wollte ich mich nicht eingrenzen.

Die folgenden 20 Lieder (in zufälliger Reihenfolge) haben mich mein bisheriges Leben begleitet.

Nine Inch Nails – Hurt

Smashing Pumpkins – Today

Front 242 – Welcome To Paradise

:Wumpscut: – Capital Punishment

Amanda Palmer – Oasis

VNV Nation – Legion (Janus)

Chris Isaak – Wicked Game

Absolute Beginner – Die Kritik an Platten kann die Platten der Kritik nicht ersetzen

Elvis Presley – Don’t be cruel

Jimmy Eat World – Bleed American

Cindy Lauper – The Goonies ‘r’ Good Enogh

Tomcraft – Into The Light

Bill Medley & Jennifer Warnes – The Time Of My Life

Leider kein Video verfügbar.

Dashboard Confessional – Again I Go Unnoticed

The Pixies – Where Is My Mind

The (International) Noise Conspiracy – A New Morning, Changing Weather

Donovan – Hurdy Gurdy Man

Umbra et Imago – Gothic Erotic

Muse – Knights Of Cydonia

Die Form – Silent Order

UPDATE: Die Lieder habe ich (soweit verfügbar) jetzt auch als iMix auf iTunes zusammengestellt.

Album des Monats – Marina and the Diamonds

0

Entdeckt durch Nico und mittlerweile geht die CD nicht mehr aus dem CD-Player raus. Ich habe mir die CD zwar ursprünglich wegen Mowgli’s Road gekauft, finde aber mittlerweile „Are you satisfied?” noch besser.

Webinale / IPC 2010 in Berlin

0

Eine PHP Konferenz in Berlin war für mich die ideale Kombination, endlich mal wieder meinen Koffer zu packen, in einen Zug zu sitzen und mich vier Tage in einem Hotel mit einer Menge Entwickler aufzuhalten.

Berlin fand ich spitze, aber da das hier kein Blog über Städtereisen ist, schreibe ich heute „nur” eine kurze Zusammenfassung dessen, was ich mit Nico und Frank auf der International PHP Conference Spring Edition 2010 und der Webinale 2010 erlebt und gelernt habe.

Die Workshops

Begonnen hat die Konferenz für mich mit einem Workshop am Sonntag nachmittag (morgens hatten wir eine Stadtrundfahrt, aber dazu wollte ich ja hier nichts schreiben). Der Workshop „Softwarearchitektur vs PHP” von Johann-Peter Hartmann war sehr unterhaltsam und mit der Vorstellung von ATAM (Architecture Tradeoff Analysis Method) habe ich auch etwas neues gelernt. Ich hatte zwar mit etwas mehr Inhalten zum Thema Architektur gerechnet und hätte auf den interaktiven Teil auch verzichten können, aber alles in allem war es ein interessanter Vortrag.

Montag

Der Montag startet mit zwei eher durchwachsenen Keynotes: Während der Vortrag „Die Mensch-Maschine-Beziehung und ihre Folgen” von Ibrahim Evsan unterhaltsam war, obwohl er nichts Neues erzählt hatte, war die Google-Keynote „Die Zukunft liegt in der Cloud” einfach nur langweilig. Der Gipfel war, dass Petra Sonnenberg zeigen wollte, wie in Zukunft alle unsere Applikationen in der Cloud laufen, gleichzeitig aber eine Präsentation mit Google Docs erstellt hatte, die aussah wie die ersten Gehversuche mit Power Point. Geendet hat die Keynote mit einem Werbevideo von Google. Nicht gerade das, was ich mir von einem Unternehmen wie Google versprochen hatte.

Danach kam das Highlight des Tages: Julian Koschwitz hat in seiner Session zu „Augmented Editorial Design” gezeigt, wie man klassische Printmedien mit dem Web verbinden kann und Magazine um dynamischen Content wie Videos oder Sound anreichern kann. Eine Webcam und ein Browser ist ausreichend. Ähnlich gut war die erste Session der IPC, die ich danach besucht habe. David Soria Parra hat sehr anschaulich dargestellt, wie „Git für Fortgeschrittene” Probleme beseitigt, die viele von uns mittlerweile mit Subversion haben.

Nachmittags ging es mit einem Vortrag zu „Continuous Integration und Continuous Deployment” von Manuel Pichler weiter, von dem ich mir auch mehr erhofft hatte. Manuel hat die zwar Bewegründe für CI und wie man es schrittweise einführt schön zusammengefasst, der Teil über Deployment ist leider sehr kurz ausgefallen und war für mich leider nicht hilfreich, da wir täglich und nicht nur wöchentlich deployen.

Abgeschlossen habe ich den Tag mit der für mich langweiligsten Session der Webinale: „Positive User Experience durch User Centered Web Design”. Meine Experience war in diesem Vortrag nicht sehr positiv, was zum Teil auch an der fortgeschrittenen Uhrzeit gelegen haben mag.

Dienstag

Der Dienstag morgen begann mit einem Vortrag zu „Frontend Performance mit PHP” von Frank und Nico, der sehr gut besucht war und mir auch noch ein paar neue Impulse gegeben hat, obwohl ich natürlich wußte, was auf mich zu kommt.

Da sich Jung von Matt für die aktuelle 1&1 Kampagne verantwortlich zeigt, habe ich mir danach die Session „Künftig entscheidend für den Erfolg (fast) jeder Marke: Produktinfo und -inszenierung” von Michael Behrens angeschaut. Die Beispiele, die er gezeigt hat, waren interessant, jedoch weit weg von dem, was JvM für 1&1 macht. Deutlich cooler waren auch die Beispiele, die Michael Chaize in seiner Session „Ten Innovative Projects for the Flash Platform” gezeigt hat. Von 3D-Grafiken über Gesichtserkennung bis hin zur Emulation von Spielekonsolen war da für jeden was dabei. Flash scheint (leider) trotz HTML5 immer noch nicht tot zu sein.

Durch das ständige Vertauschen von Sessions habe ich leider mittags einige Sessions verpasst und die Zeit genutzt, was für’s Büro zu programmieren. Abgeschlossen habe ich den Tag mit einer spontanen Session zu YQL von Yahoo!, in der leider nur die Standard-Beispiele gezeigt wurden.

Mittwoch

Den Mittwoch habe ich nach dem Hotel-Checkout wieder mit zwei Keynotes auf der Webinale begonnen. David Carr hat in seiner Keynote „The Speed of Now” den Namen zum Programm gemacht und ist extrem schnell durch eine Masse an Slides gegangen, so dass man ihm kaum noch folgen konnte. Ossi Urchs Keynote „Social Web oder Die neue Macht der Nutzer” klang eher nach einer Keynote von 2008 als nach einer Keynote in der man Trends für 2011 erfahren hätte. Das allgegenwärtige „Twitter, Facebook und Smartphones beherrschen unser Leben!” wurde am dritten Tag der Webinale dann doch etwas alt.

Danach fand die Panel Diskussion „Holy Code, holy Shit! – Die Developer-Designer-Hölle” statt, an der ich auch beteiligt war. Leider war es organisatorisch nicht möglich, dass sich alle Teilnehmer vorher treffen, so dass hier keine wirkliche Diskussion entstand und es eher bei „Thema verfehlt” einzuordnen war. Sollte ich jemals wieder an einer Panel-Diskussion teilnehmen, dann nur, wenn es vorher auch möglich ist, sich mit den anderen Teilnehmern und vor allem dem Moderator abzustimmen.

Nach der Mittagspause war ich dann mit meinem Vortrag „23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten” dran.

Der Vortrag lief gut, ich habe mir auch meinen „Cowboy/Indianer”-Witz merken können und das Feedback war durchweg positiv. Abgeschlossen habe ich den Tag mit einem Vortrag von Frank zum Thema „A better Approach for File System dependent tests”, in dem Frank sein Projekt vfsStream vorgestellt hat.

Zusammenfassend hat sich der Besuch der Konferenzen für mich mehr gelohnt, als das in den letzten Jahren der Fall war. Tatsächlich habe ich während der Konferenz jedoch festgestellt, dass mich die Themen der Webinale mittlerweile mehr fesseln als die Sessions auf der PHP Conference.

Aufwand schätzen, ohne Aufwand zu haben

8

„Haben Sie ein neues Projekt und der Kunde möchte möglichst schnell wissen, was es kosten wird? Wollen Sie agil arbeiten, aber Ihre Entwickler müssen das Geld ranschaffen und haben keine Zeit für langwieriges Planning Poker? Sind sie auch der Meinung, dass aufwändiges Planen überflüssig ist?”

Dann gibt es jetzt die Lösung: Verwenden Sie einfach „Planning Dice”. Mit „Planning Dice” können Sie jede Aufgabe innerhalb kurzer Zeit abschätzen, ohne dass Sie dafür wertvolle Entwickler-Ressourcen von der Software-Entwicklung abziehen.

Wie funktioniert „Planning Dice”?

Drucken Sie sich den „Planning Dice”-Bausatz aus und schneiden die Vorlage aus. Falten Sie den Bausatz an den vorgegebenen Linien und nutzen Sie die Klebeflächen, um den „Planning Dice”-Bausatz zu fixieren. Verwenden Sie dazu handelsüblichen Papierkleber oder bestellen Sie das Original-„Planning Dice”-Klebeset.

Nun sind Sie nur noch Sekunden davon entfernt, langwierigen Planungsmeetings Adieu zu sagen. Um den Aufwand einer Aufgabe zu schätzen, denken Sie einfach fest an die Aufgabe und lassen Sie den „Planning Dice” aus Ihrer Hand auf einen Tisch gleiten. Der „Planning Dice” wird Ihnen den Aufwand auf der zum Himmel gewandten Fläche anzeigen. „Planning Dice” paßt sich automatisch an die Größe Ihrer Aufgaben und das Know-How Ihrer Entwickler an, so dass die Werte als Stunden, Tage, Wochen oder Mannmonate zu interpretieren sind. Sollten Sie streng nach Scrum implementieren, so zeigt Ihnen „Planning Dice” natürlich Story Points an.

Sollte „Planning Dice” ein „?” anzeigen, so hat „Planning Dice” noch nicht all benötigten Informationen für eine verläßliche Schätzung. Fokussieren Sie sich erneut auf die zu schätzende Aufgabe und wenden Sie danach den Planning Dice erneut an.

Der Bausatz

Probieren Sie „Planning Dice” noch heute aus und überzeugen Sie sich von den beeindruckenden Ergebnissen. Laden Sie dazu „Planning Dice” hier herunter.

Planning Dice - Jetzt NEU!„Planning Dice” und große Projekte

Wir erhalten oft Anfragen von Projektmanagern, die die Vorteile von „Planning Dice” auch in großen Projekten einsetzen möchten und Planungen auf Vorstandsniveau in Sekunden erstellen wollen. Auch dies ist natürlich mit „Planning Dice” möglich.

Laden Sie sich dazu einfach einen zweiten „Planning Dice” herunter und befragen Sie gleichzeitig beide „Planning Dice”. Die angezeigten Werte müssen dabei einfach miteinander multipliziert werden und Sie erhalten die korrekte Schätzung für Ihr Projekt.

Natürlich skaliert „Planning Dice” noch weiter und Sie können die komplette Ressourcenplanung für das nächste Jahr mit Hilfe von zehn „Planning Dice” innerhalb weniger Sekunden erledigen. Vorbei ist die Zeit, in der Sie mühsam die Roadmap durcharbeiten mussten, um die Grobschätzung der benötigen Projektpersonentage für das nächste Jahr zu ermitteln.

Vielen Dank an Sebastian Lorenz, der diese nette Idee mit mir gesponnen hat.

Es gibt immer eine Alternative

1

Nachdem ich in letzter Zeit häufig Politiker zitiert habe, die etwas sinnvolles getan oder geleistet haben, macht dieser Trend mit einem Zitat der eisernen Lady Margaret Thatcher eine Kehrtwende. Die britische Premierministerin hat häufig die Floskel „There is no alternative.” verwendet. Ein Zitat, das bei mir keine positiven Gefühle auslöst.

Dieser Satz ist ein bequemer Weg, um eine Entscheidung zu begründen. So unwahr dieser Satz in der Politik ist, genauso unwahr ist es, wenn es um Software-Entwicklung oder das Management von Entwicklungs-Teams geht. Wenn jemand Ihnen glauben machen will, dass Sie unbedingt eine Rules Engine/Scala/PHP/einen Application Server einsetzen müssen, um ein Problem zu lösen und das damit begründet, dass das der einzige Weg ist, das Problem zu lösen, dann schauen Sie besser genauer hin.

Statt des einzigen Wegs ist es meistens eher der einzige Weg, den die entsprechende Person kennt, oder der, bei dem er nichts neues lernen muss oder sogar der, der einem Consultant das meiste Geld bringt.

Die Gründe für die scheinbare Alternativlosigkeit werden Ihnen natürlich nicht mitgeteilt. Mit dem Satz „Es gibt keine Alternative.” wird nur versucht, eine Diskussion über mögliche Wege von Anfang an zu unterbinden.

Der französische Soziologe Pierre Bourdieu hat für dieses Muster den Begriff „TINA-Prinzip” geprägt, in Anlehnung an die Anfangsbuchstaben von „There Is No Alternative.” Passend dazu hat die Politikwissenschaftlerin und ehemalige Greenpeace-Vorstandsmitglied Susan George dem TINA-Prinzip den Aufruf „TATA!” entgegengestellt:

There Are Thousands of Alternatives!

Ob Sie dem TINA- oder dem TATA-Prinzip folgen, liegt bei Ihnen, Sie haben die Alternative.

My backpack’s got jets…

0

…Well I’m Boba the Fett
Well I bounty hunt for Jabba Hutt
To finance my ‘Vette

Entdeckt in „Zack and Miri Make a Porno” von Kevin Smith. Unbedingt beim Text zuhören, oder einfach die Lyrics lesen.

nach oben