Do you know the difference between continuous integration, continuous delivery and continuous deployment?

Probably every common agile developer has heard these terms. But have you ever thought about the difference between them. I have really been wondering about this question and after some investigation I would like to share all information on this topic i have gathered.

To be able to understand continuous deployment it can be helpful to define its predecessors first – continuous integration and continuous delivery. Continuous integration (CI) usually refers to integrating, building and testing code within an integration environment. It assumes frequent integration of developers code into a shared repository, at least once a day. This makes sure that the local version of every individual developer doesn’t differ too much. Weiterlesen

Fight your Project – Transfer von Kampfsport und agilem Projektmanagement (Theorie)

Projektmanagement und Kampfsport — zwei doch recht unterschiedliche Begriffe, die sich auf den ersten Blick nicht verheiraten lassen. Ersteres bezeichnet einen Pool von Anwendungsmethoden, der in Zusammenwirkung die Initiierung, Planung, Steuerung und den Abschluss von einem oder mehreren Projekten innehat. Im Kampfsport hingegen steht ein Leistungsvergleich innerhalb des Kampfringes im Vordergrund und die Vorgabe, sich außerhalb des Rings in Zurückhaltung und Selbstbeherrschung zu üben. Was beide Termini jedoch eint ist, dass man sich — um Erfolg zu haben — eine hohe sensitive Wahrnehmung im Bereich der zwischenmenschlichen Aktionsebene und des eigenen Bewusstseins erarbeiten muss. Weiterlesen

Crowdtesting – Wie kann man das nutzen?

 

Eine Freundin von mir kam neulich ganz erfreut auf mich zu und erzählte mir von ihren ersten Crowdtesting-Erfahrungen innerhalb ihres aktuellen Projekts. Crowdtesting? Was ist das denn? Und wie kann das in der Praxis funktionieren? Von ihrer Begeisterung ein wenig angesteckt, begab ich mich auf die Suche nach diesen Fragen und löcherte sie nochmal ausgiebig, denn auch ich fand das einen äußerst interessanten und zukunftsträchtigen Ansatz. Schließlich dachte ich mir, das wäre doch eigentlich was für ‘alle’ – Praxiserfahrungen zu einem noch recht neuen Testing der ganz anderen Art! Die Ergebnisse hierzu also im folgenden Blogartikel! Weiterlesen

Zend Framework 3 – Status? (Teil 2)

 

Nachdem ich euch im ersten Teil dieses Blogartikels die ursprüngliche Roadmap vorgestellt und einen Überblick zum ersten großen Statusupdate im Herbst 2015 gegeben habe, möchte ich nun im zweiten Teil darauf eingehen, was weiter passiert ist, welche 3.0-Releases seitdem schon veröffentlich wurden, ob die bisherigen Ziele erreicht wurden und was der aktuelle Stand ist. Weiterlesen

Zend Framework 3 – Status? (Teil 1)

 

In Zeiten der Symfony und Laravel Hypes stellt sich doch mal wieder die Frage, was ein alter Bekannter von uns eigentlich gerade so treibt: Das Zend Framework. Unter dem Motto “Totgesagte leben länger”, hat Matthew Weier O’Phinney im Januar 2015 [1] die Roadmap für das nächste Major Release ausgegeben.
Die neue Version soll eine Weiterentwicklung des Zend Framework 2 sein und Verbesserungen vor allem im Hinblick auf Einfachheit, Wiederverwendbarkeit und Performance bieten.

Wie es seitdem voranging und was der heutige Stand ist, dazu möchte ich euch Einblick in diesem zweiteiligen Blogartikel geben. Weiterlesen

Resource Handling im Repository

PHP-Applikationen sind inzwischen stark modularisiert, composer.json ist inzwischen kaum noch aus dem Projektalltag wegzudenken. Doch dadurch entstehen auch neue Probleme. Irgendwie wollen verschiedene Resourcen (CSS, JS, Templates, …) aus externen Libraries in die Applikation eingebunden werden. Im Symfony-Umfeld hilft dabei in Teilen zwar eine saubere Ordnerstruktur und das Assets-Handling, doch nicht alles ist ein Symfony-Bundle. Ende letzten Jahres hat uns dann Bernhard Schussek (@Webmozart) ein Tool vorgestellt, das hier Abhilfe schafft: Puli. Weitere Infos zu Puli finden sich in seinem Blog.
Weiterlesen

Mit einem Wurf

– oder wie ich strategisch Fokus aufbaue, um große Softwareaufgaben zu lösen

Will man Softwareprojekte mit Expeditionen vergleichen, wird man wahrscheinlich schnell hinken. Dennoch gibt es faszinierende Erkenntnisse, die sich mit etwas Übersetzung gut übertragen lassen. Ein Aspekt ist die enorme und lange Vorbereitung, die je nach Qualität über Gedeih und Verderb einer zeitlich sehr eng gesteckten Umsetzung entscheiden kann. Ein anderer die Fähigkeit zur Reaktion in unbekannten Gegenden, das Parieren des Unvorhersehbaren. Meinen letzten Softwarelaunch als PO hat die Lektüre über Shackleton’s gescheiterte Arktisexpedition begleitet und inspiriert. Weiterlesen

Willkommen zur webinale/IPC 2016 in Berlin

Frontend- und Backend-Development, moderne Architekturen und ein praktischer Erfahrungsaustausch zu agilen Modellen mit Softwareentwicklern und IT-Entscheidern – die Doppelkonferenz aus webinale und International PHP Conference verspricht auch in diesem Jahr wieder ein abwechslungsreiches Programm. Aus unserem Kollegenkreis können wir Anfang Juni zwei Talks beisteuern – Max spricht über die Bedeutung guter Schnittstellen in Content-Management-Systemen (Mit dem API ins CMS) und Albrecht steht gemeinsam mit Judith Andresen zu Fuck-ups in der agilen Transition Rede und Antwort. Weiterlesen

Reactive Javascript mit RxJs

Auf Listen oder einfachen Array ist man es inzwischen schon gewohnt: Anstelle von einfachen Schleifen, bedient man sich hier lieber einem Iterator, oder verfällt ganz und gar dem Funktionalen Ansatz. Aber warum eigentlich? Gerade der funktionale Ansatz liefert eine einheitliches Interface wie man mit Collections umgeht. Den selben Effekt erreiche ich aber auch mit Iteratoren. Eine Liste von Cocktails

lässt sich beispielsweise so nach dem id/name Paar für Cocktails mit mehr als 6% durchsuchen:

Das erfüllt völlig seinen Zweck, aber schön ist das nicht. Mit einer foreach-Funktion könnte das dann so ausshen:

aber noch besser wäre:

Weiterlesen

Mayflower Girls‘ Day 2016

Der Girls‘ Day 2016 bei Mayflower

Neun interessierten Mädchen durfte Mayflower mit dem Girls‘ Day 2016 dieses Jahr und damit zum fünften Mal in Folge, einen Einblick in einen technischen Beruf geben. In den vergangen Jahren wurde oft der Wunsch geäußert, mal die ganze Strecke vom Browser bis zum Server zu machen, um das Zusammenspiel der Enden besser zu verstehen.

Das wollten wir mit einer einfachen Shopping Liste und einem Server zum Anfassen auf einem Raspberry Pi nachstellen. Ein Nodejs + Express Backend lieferte über eine REST-Schnittstelle die Daten für ein Angular Frontend. Es galt, eine Shopping Liste zum Laufen zu bekommen, mögliche Verbesserungen in Design und Funktionaliät zu besprechen und einfach umzusetzen. So sollte man den Zyklus von Entwicklung, Deployment (hier nur ein git pull auf dem Raspberry) und einem erneuten Aufruf im Client beispielhaft zeigen. Ein Raspberry Pi war bereits lauffähig und lieferte die Shopping List aus, ein zweiter sollte im Laufe des Tages fertig gestellt werden und als quasi Staging-Server zum Testen der Änderungen dienen. Weiterlesen