<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Seminar und PHP-Schulung für Webdevelopment</title>
	<atom:link href="https://entwicklungshilfe.nrw/blog/tag/seminar/feed/" rel="self" type="application/rss+xml" />
	<link>https://entwicklungshilfe.nrw/blog/tag/seminar/</link>
	<description>PHP-Schulungen für effektive Webentwicklung, praxisorientierte Workshops und Seminare für besseres Webdevelopment</description>
	<lastBuildDate>Mon, 23 Sep 2019 18:15:15 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://entwicklungshilfe.nrw/wp-content/uploads/2026/02/cropped-favicon-32x32.png</url>
	<title>Seminar und PHP-Schulung für Webdevelopment</title>
	<link>https://entwicklungshilfe.nrw/blog/tag/seminar/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Git auf der Command Line CLI einsetzen</title>
		<link>https://entwicklungshilfe.nrw/blog/2016/02/11/git-auf-der-command-line-cli/</link>
					<comments>https://entwicklungshilfe.nrw/blog/2016/02/11/git-auf-der-command-line-cli/#respond</comments>
		
		<dc:creator><![CDATA[Andreas Mautz]]></dc:creator>
		<pubDate>Thu, 11 Feb 2016 07:58:00 +0000</pubDate>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Entwicklertools]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Versionskontrolle]]></category>
		<category><![CDATA[Workshop]]></category>
		<guid isPermaLink="false">http://www.entwicklungshilfe.nrw/blog/?p=382</guid>

					<description><![CDATA[<p>Git ist ein häufig genutztes Versionstool in PHP-Projekten. Allerdings wird häufig mit grafischen Oberflächen wie Sourcetree gearbeitet. Webdeveloper nutzen diese Tools häufig, ohne genau zu wissen, was im Hintergrund genau passiert. Daher zeigen wir dir in diesem Artikel, wie du das alles schnell und effektiv auf der Command Line nutzen kannst. Das hat einige Vorteile: Du bist [&#8230;]</p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/02/11/git-auf-der-command-line-cli/">Git auf der Command Line CLI einsetzen</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Git ist ein häufig genutztes Versionstool in PHP-Projekten. Allerdings wird häufig mit grafischen Oberflächen wie <a href="https://www.sourcetreeapp.com/" target="_blank" rel="noopener noreferrer">Sourcetree</a> gearbeitet. Webdeveloper nutzen diese Tools häufig, ohne genau zu wissen, was im Hintergrund genau passiert. Daher zeigen wir dir in diesem Artikel, wie du das alles schnell und effektiv auf der Command Line nutzen kannst. Das hat einige Vorteile: Du bist schneller und hast gleichzeitig viel mehr <a href="http://www.entwicklungshilfe.nrw/blog/category/git-schulung/">Wissen über Git</a> und Kontrolle über deine Software und Arbeitsschritte.</p>
<figure id="attachment_391" aria-describedby="caption-attachment-391" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/terminal-git-log.png" rel="attachment wp-att-391"><img decoding="async" class="wp-image-391 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/terminal-git-log-300x148.png" alt="Terminal Git-Log - www.slant.co" width="300" height="148" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/terminal-git-log-300x148.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/terminal-git-log-768x380.png 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/terminal-git-log.png 976w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/terminal-git-log-300x148@2x.png 600w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-391" class="wp-caption-text">Terminal Git-Log &#8211; www.slant.co</figcaption></figure>
<p>In Stellenausschreibungen steht heute immer öfter die Anforderung, Git über die Command Line zu nutzen. Gerade bei <a href="https://www.gulp.de/knowledge-base/markt-und-trends/umfrage-ergebnis-noch-junior-oder-schon-senior.html" target="_blank" rel="noopener noreferrer">Senior-Entwicklern</a> wird dieses Wissen bereits explizit vorausgesetzt. Das <a href="https://de.wikipedia.org/wiki/Kommandozeile" target="_blank" rel="noopener noreferrer">Command-Line</a>-Wissen kannst du dann auch anwenden, wenn dir kein Rechner mit Sourcetree zur Verfügung steht, weil du dich vielleicht direkt auf den Linux-Servern lokal oder remote bewegen musst.</p>
<h2>Git Commands, die tatsächlich gebraucht werden</h2>
<p>Es sind nicht so viele <a href="https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html" target="_blank" rel="noopener noreferrer">Git Commands</a>, die für die tägliche Arbeit gebraucht werden, wie man vielleicht glaubt. Hier mal ein einfacher Task mit den Git-Commands direkt auf der Command Line.</p>
<h3>Git Repository klonen</h3>
<p><strong>git clone https://url.com/example-repo</strong></p>
<figure id="attachment_393" aria-describedby="caption-attachment-393" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen.jpg" rel="attachment wp-att-393"><img fetchpriority="high" decoding="async" class="wp-image-393 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-300x213.jpg" alt="Git-Repository klonen" width="300" height="213" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-300x213.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-768x546.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-1024x728.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-269x192.jpg 269w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen.jpg 1920w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-300x213@2x.jpg 600w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-768x546@2x.jpg 1536w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-Repository-klonen-269x192@2x.jpg 538w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-393" class="wp-caption-text">Git Repository klonen</figcaption></figure>
<p>Mit dem Git Command wird das Repo in das Verzeichnis &#8222;example-repo&#8220; geklont. Gibt man hinter der URL ein anderes Ziel oder Target an, wird ein anderer Ordner genommen. Das macht bei der späteren Anwendung keinen Unterschied, kann aber zu mehr Übersicht in der Dateistruktur genutzt werden. Mit der Angabe von &#8222;.&#8220; wird das Repository in das aktuelle Verzeichnis geklont. Das ist zwar ein seltener Anwendungsfall, spart einem aber bei Bedarf Zeit. Dafür muss der Ordner allerdings vollständig leer sein. Auch die Verzeichnisse der PHP-IDEs, wie <a href="http://www.entwicklungshilfe.nrw/seminare/phpstorm-best-practice/">PhpStorm</a>, dürfen hier nicht vorhanden sein.</p>
<h3>Branch erstellen</h3>
<p><strong>git checkout -b myNewTask</strong><br />
Mit dem Checkout-Befehl und dem Parameter -b wird ein neuer Branch &#8222;myNewTask&#8220; erstellt und automatisch auf diesen gewechselt. Hier ist darauf zu achten, auf welchen Branch man sich zu dem Zeitpunkt der Erstellung befindet, und natürlich auch darauf, dass man den aktuellsten Stand auscheckt – also vorher ein &#8222;git pull&#8220; ausgeführt hat.</p>
<h3>Developing auf dem Branch</h3>
<p><strong>git add . &amp;&amp; git commit -m “#myNewBranch add css file”</strong><br />
oder<br />
<strong>git add layout/mynewtask.css &amp;&amp; git commit -m “#myNewBranch add css file”</strong></p>
<figure id="attachment_392" aria-describedby="caption-attachment-392" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch.jpg" rel="attachment wp-att-392"><img decoding="async" class="wp-image-392 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch-300x200.jpg" alt="Developing auf dem Branch" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch-1024x683.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch.jpg 1920w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch-300x200@2x.jpg 600w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Developing-auf-dem-Branch-768x512@2x.jpg 1536w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-392" class="wp-caption-text">Developing auf dem Branch</figcaption></figure>
<p>Generell soll ja bei jeder funktionierenden Änderung ein Commit gemacht werden. Hier ist Disziplin gefragt. Grafische Tools wie Sourcetree verleiten jedoch dazu, dies zu einem späteren Zeitpunkt zu machen. Hier kann man sehr einfach einzelne geänderte Zeilen separaten Commits zuweisen. Das bedeutet leider noch lange nicht, dass der Commit tatsächlich alles tut, was er soll, und wie gewünscht funktioniert hat.</p>
<p>Insofern ist es besser, regelmäßig kleine Commits zu machen. Der Git-Add-Befehl dient dabei einmal für das separate File und einmal für alles seit dem letzten Commit. Auch hier gilt: Regelmäßige und sinnvolle Commits machen einem das Leben leichter und sind effektiver. Vorher ist es zudem immer sinnvoll, sich die aktuellen Änderungen mit &#8222;git status&#8220; noch einmal anzeigen zu lassen. Denn schließlich kommt es vor, dass man etwas übersehen hat. Das trifft auch auf von der Applikation generierte Files zu, die eventuell noch über .gitignore ausgeschlossen werden müssen.</p>
<h3>Commit Messages</h3>
<figure id="attachment_394" aria-describedby="caption-attachment-394" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages.jpg" rel="attachment wp-att-394"><img loading="lazy" decoding="async" class="wp-image-394 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages-300x200.jpg" alt="Commit-Messages" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Commit-Messages-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-394" class="wp-caption-text">Commit Messages</figcaption></figure>
<p>Damit man die Historie einer Entwicklung nachvollziehen kann, sind Commit Messages wichtig. Diese müssen aussagekräftig sein und beinhalten idealerweise eine <a href="http://www.entwicklungshilfe.nrw/seminare/phpstorm-effektiv-mit-ticketsystem-nutzen/">Ticket-ID</a>. Denn somit können die Arbeitsschritte direkt zugeordnet werden. Nicht aussagekräftige Commit Messages indes schaden dem Team und einem selbst.</p>
<p>Mit <a href="https://git-scm.com/book/uz/v2/Customizing-Git-Git-Hooks" target="_blank" rel="noopener noreferrer">Pre Hooks</a> ist es möglich, Commits ohne Ticket-ID direkt zu unterbinden. Das kann sogar erweitert werden, dass sich das Ticket im richtigen Status befinden muss. Solche Maßnahmen einzuführen und umzusetzen, ist allerdings nicht so einfach wie deren technische Implementierung.</p>
<p>Es gibt einige Spaßseiten zu dem Thema wie beispielsweise <a href="http://www.commitlogsfromlastnight.com/" target="_blank" rel="noopener noreferrer">Commits from last night</a> – dabei ist das Thema doch eigentlich sehr ernst. Denn es dient der Dokumentation der eigenen Arbeit und zeigt, dass du ein Profi bist. Soll heißen: Arbeite immer möglichst professionell. Das ist wichtig und richtig.</p>
<h2>Git-flow installieren und sofort nutzen</h2>
<p><strong>git flow feature start myNewBranch</strong><br />
<strong>git flow feature finish myNewBranch</strong></p>
<figure id="attachment_395" aria-describedby="caption-attachment-395" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow.jpg" rel="attachment wp-att-395"><img loading="lazy" decoding="async" class="wp-image-395 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow-300x200.jpg" alt="Git-Flow" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow-1024x683.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow.jpg 1920w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow-300x200@2x.jpg 600w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-flow-768x512@2x.jpg 1536w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-395" class="wp-caption-text">Git-flow</figcaption></figure>
<p><a href="http://www.entwicklungshilfe.nrw/seminare/git-flow-git-branching-model-fuer-agile-software-projekte/">Git-flow</a> hat sich in vielen Projekten bewährt und wird vor allem gerne bei neuen Projekten eingesetzt. Auf dem <a href="http://www.rogoit.de/webdesign-typo3-blog-duisburg/category/mac-snippet/" target="_blank" rel="noopener noreferrer">Mac</a> ist es schnell mit <a href="http://brew.sh/" target="_blank" rel="noopener noreferrer">Homebrew</a> installiert, und nach einem &#8222;git flow init&#8220; kann es nach einigen Bestätigungen der Default-Settings sofort eingesetzt werden. Mit dem oben aufgeführten Start-Befehl wird dabei ein neuer Branch aus dem aktuellen Develop Branch erstellt. Danach kann man sein Feature entwickeln und mit dem Finish-Befehl wieder abschließen. Hier wird ein Merge zurück in den Develop Branch ausgeführt und der Feature Branch sofort gelöscht. Falls man das aber nicht unbedingt möchte, geht es auch mit Hotfixes und Releases.</p>
<p>Eine gute Übersicht zu all dem bietet <a href="http://danielkummer.github.io/git-flow-cheatsheet/" target="_blank" rel="noopener noreferrer">http://danielkummer.github.io/git-flow-cheatsheet/</a>. Ausführliche Informationen zu Git-flow gibt es außerdem unter <a href="https://github.com/nvie/gitflow" target="_blank" rel="noopener noreferrer">https://github.com/nvie/gitflow</a>. Wir haben uns im praktischen Einsatz dazu entschlossen, nach dem Git-Flow-Workflow zu arbeiten, die zusammengeführten Branches allerdings zu archivieren und zu erhalten.</p>
<h2>Git-Workflow nur auf der Command Line</h2>
<figure id="attachment_386" aria-describedby="caption-attachment-386" style="width: 337px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI.png" rel="attachment wp-att-386"><img loading="lazy" decoding="async" class="wp-image-386 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI.png" alt="Git auf der Command Line CLI" width="337" height="208" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI.png 337w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI-300x185.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI-103x65.png 103w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI-163x102.png 163w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI-103x65@2x.png 206w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/Git-auf-der-Command-Line-CLI-163x102@2x.png 326w" sizes="auto, (max-width: 337px) 100vw, 337px" /></a><figcaption id="caption-attachment-386" class="wp-caption-text">Git auf der Command Line CLI</figcaption></figure>
<p>Der Git-flow ist eine Zusammenfassung von Befehlen, die man selbstverständlich auch eigenhändig und einzeln ausführen kann. In meinen Augen ist aber ein großer Nachteil, dass Branches, die zurückgemerged wurden, auch gelöscht werden.</p>
<p>Persönlich finde ich es zudem besser, Bugfixes auf dem Feature Branch durchzuführen und sich öfter mit dem aktuellen Stand abzugleichen. So kann man die Arbeit auf einem Feature besser dokumentieren. Das Ganze geht manuell auf der Command Line – CLI – wie folgt:</p>
<p>// Aktuellen Develop Branch auschecken und aktualisieren<br />
<strong>git checkout develop</strong><br />
<strong> git pull</strong></p>
<p>// Feature Branch für Jira Ticket SUP-123 erstellen<br />
<strong>git checkout -b feature/SUP-123</strong></p>
<p>// Commits auf das Ticket<br />
<strong>git status</strong><br />
<strong>git add . &amp;&amp; git commit -m “#SUP-123 what i have done”</strong></p>
<p>// Git Pushes sollten mindestens jeden Abend durchgeführt werden – und zwar auf jeden Fall vor den Merges, egal in welche Richtung<br />
<strong>git status</strong><br />
<strong>git push</strong></p>
<p>// Feature Branch zurück in Develop bringen<br />
<strong>git checkout develop</strong><br />
<strong>git pull</strong><br />
<strong>git merge feature/SUP-123</strong><br />
<strong>git status</strong></p>
<p>// Tag setzen<br />
<strong>git tag -a v1.2.0 -m “Version v1.2.0”</strong><br />
// Push mit Tags<br />
<strong>git push &amp;&amp; git push &#8211;tags</strong></p>
<p>Die oben aufgeführten Commands in <a href="http://www.entwicklungshilfe.nrw/seminare/oh-my-zsh-mit-agnoster-theme/">oh-my-zsh</a><br />
// Aktuellen Develop Branch auschecken und aktualisieren<br />
<strong>gco develop</strong><br />
<strong>gl</strong></p>
<p>// Feature Branch für Jira Ticket SUP-123 erstellen<br />
<strong>gcb feature/SUP-123</strong></p>
<p>// Commits auf das Ticket<br />
<strong>gst</strong><br />
<strong>gaa &amp;&amp; gcmsg “#SUP-123 was ich gerade getan habe”</strong><br />
<strong>gst</strong></p>
<p>// Git Push sollte mindestens jeden Abend durchgeführt werden – und zwar auf jeden Fall vor den Merges, egal in welche Richtung<br />
<strong>gst</strong><br />
<strong>gp</strong></p>
<p>// Feature Branch zurück in Develop bringen<br />
<strong>gco develop</strong><br />
<strong>gl</strong><br />
<strong>gm feature/SUP-123</strong><br />
<strong>gst</strong></p>
<p>// Tag setzen<br />
<strong>git tag -a v1.2.0 -m “Version v1.2.0”</strong></p>
<p>// Push mit Tags<br />
<strong>gp &amp;&amp; gp &#8211;tags</strong></p>
<p>Mit oh-my-zsh sind eine Vielzahl von Git Commands als Alias abgelegt. Im praktischen Einsatz kommen in meinen Augen die oben abgebildeten zum Tragen. Allein gaa &amp;&amp; gcmsg &#8222;my message&#8220; bringen einem sehr viel, da sie ein häufiger Anwendungsfall sind. Auch gc für git checkout geht schnell in Fleisch und Blut über.</p>
<h2>Probleme mit Git</h2>
<p><a href="https://www.ralfebert.de/git/mergekonflikte-beheben/" target="_blank" rel="noopener noreferrer">Git-Konflikte</a> sind ein großes Thema bei Git und natürlich auch Themen wie Rebase. Aber in diesem Artikel gehe ich nicht zusätzlich auf diese Themen ein. In Zukunft werden wir hier in unserem <a href="http://www.entwicklungshilfe.nrw/blog/">Webdevelopment-Blog</a> das Thema Git auch in anderen Zusammenhängen aufgreifen. Auch gehe ich nicht auf Tools, wie <a href="https://github.com/jonas/tig" target="_blank" rel="noopener noreferrer">Tig</a> ein. Aber natürlich ist es wichtig und richtig, mit visuellen Tools zu arbeiten.</p>
<h2>Fazit zu Git auf der Command Line CLI</h2>
<p>Git ist in der heutigen Zeit des Webdevelopments der Quasi-Standard. Jeder Entwickler, egal ob Frontend oder Backend, muss damit umgehen können. Man braucht und darf keine Ausreden bei der Nutzung einer Command Line haben. Nur so wird man zum Profi – sonst ist man nur ein Anwender. Ein User.</p>
<p>In diesem Artikel ist ein einfaches Beispiel über die Entwicklung eines <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/" target="_blank" rel="noopener noreferrer">Feature Branches</a> abgebildet. Man sieht ganz deutlich, dass nur wenige Commands nötig sind. Es ist wichtig, diese einfachen Vorgänge zu 100 Prozent auf der Command Line durchführen zu können und dies auch regelmäßig zu tun. Nur so lernt man Git richtig.</p>
<h2>Unsere Git-PHP-Schulung</h2>
<figure id="attachment_396" aria-describedby="caption-attachment-396" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung.jpg" rel="attachment wp-att-396"><img loading="lazy" decoding="async" class="wp-image-396 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung-300x143.jpg" alt="Git-Flow PHP-Schulung" width="300" height="143" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung-300x143.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung-768x365.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung-702x336.jpg 702w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung.jpg 800w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/02/git-flow-php-schulung-300x143@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-396" class="wp-caption-text">Git-flow: PHP-Schulung</figcaption></figure>
<p>Git wird von vielen Webdevelopern benutzt. Sie haben es aber leider häufig nicht verinnerlicht oder verstanden, warum man damit genau so arbeitet, wie man es tut. In unserer Schulung gehen wir ganz praktisch vor und erklären Git von den Grundlagen bis zu praktischen und etablierten Workflows. Wir gehen auf die Anwendungsfehler ein und geben unsere persönliche Erfahrung direkt an die Teilnehmer weiter. Es ist eine sehr individuelle Intensiv-Schulung. Alle Informationen zu dem Thema gibt es auf<br />
<a href="http://www.entwicklungshilfe.nrw/seminare/git-flow-git-branching-model-fuer-agile-software-projekte/">http://www.entwicklungshilfe.nrw/seminare/git-flow-git-branching-model-fuer-agile-software-projekte/</a></p>
<p><em>Wie nutzt du Git bislang? Hast du es schon mal per Command Line versucht, und wie sind da ggf. deine Erfahrungswerte?</em></p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/02/11/git-auf-der-command-line-cli/">Git auf der Command Line CLI einsetzen</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://entwicklungshilfe.nrw/blog/2016/02/11/git-auf-der-command-line-cli/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PhpStorm mit dem Ticketsystem Redmine nutzen</title>
		<link>https://entwicklungshilfe.nrw/blog/2016/01/31/phpstorm-mit-ticketsystem-redmine-nutzen/</link>
					<comments>https://entwicklungshilfe.nrw/blog/2016/01/31/phpstorm-mit-ticketsystem-redmine-nutzen/#respond</comments>
		
		<dc:creator><![CDATA[Andreas Mautz]]></dc:creator>
		<pubDate>Sun, 31 Jan 2016 18:57:11 +0000</pubDate>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Entwicklertools]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Versionskontrolle]]></category>
		<category><![CDATA[Workshop]]></category>
		<guid isPermaLink="false">http://www.entwicklungshilfe.nrw/blog/?p=305</guid>

					<description><![CDATA[<p>In diesem Tutorial für Webdeveloper zeige ich, wie man die Entwicklungsumgebung PhpStorm mit dem Ticketsystem Redmine verbindet und das Tasksystem von PhpStorm zusammen mit git-flow als Workflow umsetzen kann. Voraussetzungen für einen erfolgreichen Workflow Grundlage für den hier gezeigten Workflow sind PhpStorm als IDE mit installiertem git-flow-Plugin sowie ein funktionierendes Ticketsystem Redmine. Natürlich gibt es Alternativen zu [&#8230;]</p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/01/31/phpstorm-mit-ticketsystem-redmine-nutzen/">PhpStorm mit dem Ticketsystem Redmine nutzen</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In diesem Tutorial für Webdeveloper zeige ich, wie man die Entwicklungsumgebung PhpStorm mit dem Ticketsystem Redmine verbindet und das Tasksystem von PhpStorm zusammen mit git-flow als Workflow umsetzen kann.</p>
<h3>Voraussetzungen für einen erfolgreichen Workflow</h3>
<p>Grundlage für den hier gezeigten Workflow sind <a href="https://www.jetbrains.com/phpstorm/" target="_blank" rel="noopener noreferrer">PhpStorm</a> als IDE mit installiertem <a href="https://plugins.jetbrains.com/plugin/7315" target="_blank" rel="noopener noreferrer">git-flow-Plugin</a> sowie ein funktionierendes Ticketsystem <a href="http://www.redmine.org/" target="_blank" rel="noopener noreferrer">Redmine</a>. Natürlich gibt es Alternativen zu dieser Kombination. PhpStorm arbeitet mit sehr vielen Systemen zusammen, und auch andere IDEs haben ähnliche Funktionen. Der Workflow im Versionskontrollsystem basiert auf unserer <a href="http://presentations.entwicklungshilfe.nrw/git_flow.html">git-flow-Präsentation</a> und ist aus meiner Sicht zwar im Feinen anpassbar, im Groben aber alternativlos.</p>
<h3>Ticketsystem Redmine richtig einstellen</h3>
<p>Das Ticketsystem sollte von außen erreichbar sein. Der zur Verknüpfung benutzte User sollte im Ticketsystem aktiv sein und Projekte und Tasks – im Weiteren auch Issues genannt – zugewiesen haben. Zusätzlich muss die REST-Api in der Konfiguration des Ticketsystems aktiviert sein.</p>
<figure id="attachment_322" aria-describedby="caption-attachment-322" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-322 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/redmine_setting-1024x148.png" alt="Einstellungen im Ticketsystem redmine für PhpStorm" width="1024" height="148" /><figcaption id="caption-attachment-322" class="wp-caption-text">Einstellungen im Ticketsystem redmine für PhpStorm</figcaption></figure>
<h3>In PhpStorm geht es weiter</h3>
<p>In PhpStorm geht man zunächst über die Tastenkombi cmd+&#8220;,&#8220; (Mac) in die Einstellungen und navigiert zu Tools -&gt; Tasks -&gt; Servers. Dort setzt man nach Auswahl des Ticketsystems die URL und Zugangsdaten zu seinem Ticketsystem.</p>
<figure id="attachment_314" aria-describedby="caption-attachment-314" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-314 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_task_server-1024x689.png" alt="PhpStorm-Einstellungen für die Verbindung mit dem Ticketsystem" width="1024" height="689" /><figcaption id="caption-attachment-314" class="wp-caption-text">PhpStorm-Einstellungen für die Verbindung mit dem Ticketsystem</figcaption></figure>
<p>Ein Klick auf den Test-Button liefert das Ergebnis:</p>
<figure id="attachment_308" aria-describedby="caption-attachment-308" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-308 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_settings-1024x420.png" alt="PhpStorm mit dem Ticketsystem Redmine" width="1024" height="420" /><figcaption id="caption-attachment-308" class="wp-caption-text">PhpStorm mit dem Ticketsystem Redmine</figcaption></figure>
<p>Im zweiten Reiter stellt man die Commit-Einstellungen ein. Das Ticketsystem Redmine ist in der Lage, Commit-Nachrichten auszulesen und darauf zu reagieren. Eine sinnvolle Einstellung zur Automatisierung spart hier wertvolle Zeit.</p>
<figure id="attachment_313" aria-describedby="caption-attachment-313" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-313 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_tasks_settings_2-1024x682.png" alt="Einstellungen in PhpStorm für die Verbindung mit dem Ticketsystem" width="1024" height="682" /><figcaption id="caption-attachment-313" class="wp-caption-text">Einstellungen in PhpStorm für die Verbindung mit dem Ticketsystem</figcaption></figure>
<h2>Optimaler Workflow in PhpStorm mit dem Ticketsystem Redmine</h2>
<p>Die Voraussetzungen sind hier ein Projekt im ausgecheckten develop-Branch, ein vorhandenes Ticket und eine eingerichtete Entwicklungsumgebung.</p>
<p>Die Steuerungsleiste für das Taskmanagement befindet sich im rechten oberen Bereich.</p>
<figure id="attachment_307" aria-describedby="caption-attachment-307" style="width: 838px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-307 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_settings_server_task.png" alt="Leiste für die Ticketsystemsteuerung" width="838" height="52" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_settings_server_task.png 838w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_settings_server_task-300x19.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_settings_server_task-768x48.png 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_settings_server_task-300x19@2x.png 600w" sizes="auto, (max-width: 838px) 100vw, 838px" /><figcaption id="caption-attachment-307" class="wp-caption-text">Leiste für die Ticketsystemsteuerung</figcaption></figure>
<p>Über das Dropdown kommt man in den &#8222;Task öffnen&#8220;-Dialog.</p>
<figure id="attachment_321" aria-describedby="caption-attachment-321" style="width: 750px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-321 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_open_task-e1454265308986.png" alt="Öffnen einer Issue in PhpStorm" width="750" height="401" /><figcaption id="caption-attachment-321" class="wp-caption-text">Öffnen einer Issue in PhpStorm</figcaption></figure>
<p>Nach erfolgreichem Öffnen eines Tasks sollte man eine für den Task eingerichtete Changelist in PhpStorm und auf Ebene der Versionskontrolle einen Feature-Branch ausgecheckt haben.</p>
<figure id="attachment_312" aria-describedby="caption-attachment-312" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-312 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-1024x361.png" alt="Fortschritt im PHP-Projekt" width="1024" height="361" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-1024x361.png 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-300x106.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-768x271.png 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-1024x361@2x.png 2048w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-300x106@2x.png 600w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist2-768x271@2x.png 1536w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-312" class="wp-caption-text">Fortschritt im PHP-Projekt</figcaption></figure>
<p>Sollte man seine relevanten Entwicklungen lokal abgeschlossen haben, kommt der Zeitpunkt, an dem man seinen Code committet. Durch die Nutzung der taskrelevanten Changelisten ist dies selbst bei Bearbeitung mehrerer Issues in einem Projekt durchschaubar. Zudem verringern die voreingestellten Informationen aus dem Ticketsystem die manuell einzugebenden Informationen.</p>
<figure id="attachment_311" aria-describedby="caption-attachment-311" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-311 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_commit-1024x772.png" alt="Commit der neuen Dateien" width="1024" height="772" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_commit-1024x772.png 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_commit-300x226.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_commit-768x579.png 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_commit.png 1517w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_commit-300x226@2x.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-311" class="wp-caption-text">Commit der neuen Dateien</figcaption></figure>
<p>Vor dem anschließenden Push zeigt PhpStorm eine Zusammenfassung der Änderungen.</p>
<figure id="attachment_320" aria-describedby="caption-attachment-320" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-320 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_push-1024x1008.png" alt="Push in unser zentrales Versionskontrollsystem" width="1024" height="1008" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_push-1024x1008.png 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_push-300x295.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_push-768x756.png 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_push.png 1170w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_push-300x295@2x.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-320" class="wp-caption-text">Push in unser zentrales Versionskontrollsystem</figcaption></figure>
<p>Als Abschluss muss man das Feature leider noch manuell über das git-flow-Plugin schließen, aber ich hoffe, dass das in naher Zukunft automatisiert wird.</p>
<figure id="attachment_317" aria-describedby="caption-attachment-317" style="width: 526px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-317 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_gitflow-e1454265851423.png" alt="Der Feature Branch wird geschlossen" width="526" height="351" /><figcaption id="caption-attachment-317" class="wp-caption-text">Der Feature Branch wird geschlossen</figcaption></figure>
<p>Als Meldung sollte PhpStorm einblenden, dass der Feature-Branch erfolgreich zurückgemerged wurde.</p>
<figure id="attachment_318" aria-describedby="caption-attachment-318" style="width: 750px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-318 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_tasks-e1454265896201.png" alt="Erfolgsmeldung aus PhpStorm für unseren Workflow" width="750" height="112" /><figcaption id="caption-attachment-318" class="wp-caption-text">Erfolgsmeldung aus PhpStorm für unseren Workflow</figcaption></figure>
<p>Es kann zudem vorkommen, dass PhpStorm die Changelist nicht löscht. Um die Ordnung nicht zu verlieren, hilft das manuelle Löschen.</p>
<figure id="attachment_316" aria-describedby="caption-attachment-316" style="width: 750px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-316 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_changelist-e1454265959607.png" alt="Manuelles Löschen der Changelist in PhpStorm" width="750" height="441" /><figcaption id="caption-attachment-316" class="wp-caption-text">Manuelles Löschen der Changelist in PhpStorm</figcaption></figure>
<p>Außerdem kann es helfen, bei zu vielen Issues in der Liste auch diese manuell zu löschen.</p>
<figure id="attachment_315" aria-describedby="caption-attachment-315" style="width: 750px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-315 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/phpstorm_workflow_tasks_2-e1454266031571.png" alt="Entfernen der Issue aus der Taskliste" width="750" height="218" /><figcaption id="caption-attachment-315" class="wp-caption-text">Entfernen der Issue aus der Taskliste</figcaption></figure>
<h3>Überprüfung in der Versionskontrolle und im Ticketsystem Redmine</h3>
<p>Wer ähnlich wie wir <a href="http://www.entwicklungshilfe.nrw/blog/ticketsystem-mit-versionskontrolle/">Redmine mit gitolite und dem redmine git hosting</a> nutzt, kann jetzt in seinem Projekt bei Redmine im Projektarchiv seinen neuen Workflow überprüfen.</p>
<figure id="attachment_309" aria-describedby="caption-attachment-309" style="width: 1024px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-309 size-large" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/workflow_redmine-1024x162.png" alt="Workflow Ansicht im Ticketsystem Redmine" width="1024" height="162" /><figcaption id="caption-attachment-309" class="wp-caption-text">Workflow-Ansicht im Ticketsystem Redmine</figcaption></figure>
<p>Weiterführende Informationen zum Beispiel vom PhpStorm-Hersteller Jetbrains bekommt ihr <a href="https://www.jetbrains.com/phpstorm/help/tasks.html" target="_blank" rel="noopener noreferrer">hier</a>.</p>
<p><em>Nutzt ihr in euren PHP-Projekten eine andere Kombination von Ticketsystem, Versionskontrolle und IDE? Wenn ja, dann schreibt uns hier doch bitte mal, welche das sind. Denn von einem solchen Know-how-Austausch profitieren ja letztlich alle. Die oben beschriebene Kombination <a href="http://www.entwicklungshilfe.nrw/seminare/phpstorm-effektiv-mit-ticketsystem-nutzen/">schulen</a> wir übrigens auch.</em></p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/01/31/phpstorm-mit-ticketsystem-redmine-nutzen/">PhpStorm mit dem Ticketsystem Redmine nutzen</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://entwicklungshilfe.nrw/blog/2016/01/31/phpstorm-mit-ticketsystem-redmine-nutzen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Legacy Code – Entstehung, Ursache und Auswirkung</title>
		<link>https://entwicklungshilfe.nrw/blog/2016/01/28/legacy-code-entstehung-und-ursache/</link>
					<comments>https://entwicklungshilfe.nrw/blog/2016/01/28/legacy-code-entstehung-und-ursache/#respond</comments>
		
		<dc:creator><![CDATA[Andreas Mautz]]></dc:creator>
		<pubDate>Thu, 28 Jan 2016 08:03:41 +0000</pubDate>
				<category><![CDATA[PHP-Schulung]]></category>
		<category><![CDATA[Software Qualität]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Workshop]]></category>
		<guid isPermaLink="false">http://www.entwicklungshilfe.nrw/blog/?p=191</guid>

					<description><![CDATA[<p>In aktuellen Webdesign-Projekten ist Legacy Code zu einem sehr großen Problem geworden: Dadurch drohen nicht wenige Projekte in naher Zukunft zu scheitern und erhebliche Kosten zu verursachen. Dabei ist das Problem schon länger in allen Unternehmensebenen bekannt – allerdings wird es für kurzfristige Gewinne und neue Projektziele immer wieder übergangen. &#8222;Later equals never&#8220; sagte mahnend schon Robert C. Martin. [&#8230;]</p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/01/28/legacy-code-entstehung-und-ursache/">Legacy Code – Entstehung, Ursache und Auswirkung</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In aktuellen Webdesign-Projekten ist Legacy Code zu einem sehr großen Problem geworden: Dadurch drohen nicht wenige Projekte in naher Zukunft zu scheitern und erhebliche Kosten zu verursachen. Dabei ist das Problem schon länger in allen Unternehmensebenen bekannt – allerdings wird es für kurzfristige Gewinne und neue Projektziele immer wieder übergangen. <a href="http://alvinalexander.com/programming/clean-code-quotes-robert-c-martin" target="_blank" rel="noopener noreferrer">&#8222;Later equals never&#8220;</a> sagte mahnend schon <a href="https://de.wikipedia.org/wiki/Robert_Cecil_Martin" target="_blank" rel="noopener noreferrer">Robert C. Martin</a>. Doch in den Führungsetagen wird das Thema oft sogar komplett ausgeblendet. Dabei richtet Legacy Code nicht nur auf technischer Ebene, sondern auch im Team erhebliche Schäden an.</p>
<h2>Legacy-Code-Probleme sind überall bekannt</h2>
<figure id="attachment_245" aria-describedby="caption-attachment-245" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt.jpg" rel="attachment wp-att-245"><img loading="lazy" decoding="async" class="wp-image-245 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt-300x200.jpg" alt="Legacy Code Probleme sind bekannt" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Probleme-sind-bekannt-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-245" class="wp-caption-text">Legacy-Code-Probleme sind bekannt</figcaption></figure>
<p>&#8222;Nirgends werden tote Pferde so weit geritten wie in der Software-Entwicklung&#8220; heißt es auf meiner <a href="http://www.rolandgolla.de/" target="_blank" rel="noopener noreferrer">Website</a>. Nicht von ungefähr. Denn als <a href="http://www.entwicklungshilfe.nrw/dozenten/profil/speaker/roland/">Trainer und Dozent</a> im Bereich der Software-Qualität kann ich infrage kommende Code-Stellen, die nach Robert C. Martin gerne als &#8222;Code smells&#8220; bezeichnet werden, auch ohne die Unterstützung von Software sehr schnell ausfindig machen. Zudem sind sie unter Webdevelopern durchaus bekannt. Aber sie werden aus Zeitgründen umschifft.</p>
<p>Dabei ist Legacy Code längst kein Problem mehr, welches nur auf den Backend-PHP-Teil betrifft. Denn da heute Webapplikationen geschrieben werden, ist der Anteil von Javascript beträchtlich – und in den kommenden Jahren wird sich das noch weiter verschieben: API-Schnittstellen, Webservices und Microservices werden den Teil des Backends in der Applikation darstellen und unterschiedlichste Clients im Frontend die bereitgestellten Daten verarbeiten. Mit Technologien wie <a href="https://facebook.github.io/react/" target="_blank" rel="noopener noreferrer">React</a> und <a href="https://angularjs.org/" target="_blank" rel="noopener noreferrer">AngularJS</a> zeichnet sich hier ein sehr klares Bild des zukünftigen Webdevelopments ab.</p>
<h2>Legacy-Code-Nester in Webdevelopment-Projekten</h2>
<figure id="attachment_246" aria-describedby="caption-attachment-246" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten.jpg" rel="attachment wp-att-246"><img loading="lazy" decoding="async" class="wp-image-246 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten-300x200.jpg" alt="Legacy Code Nester in Webdevelopment Projekten" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-Nester-in-Webdevelopment-Projekten-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-246" class="wp-caption-text">Legacy-Code-Nester in Webdevelopment-Projekten</figcaption></figure>
<p>Bei den Frontend-Teilen eines Webprojekts braucht man gar nicht lange zu suchen. Große Ansammlungen sind hier z. B. main.css, style.css und natürlich script.js und app.js. Das sind große und historisch gewachsene Files, die immer nur erweitert werden und selten ein <a href="http://www.entwicklungshilfe.nrw/workshops/moderierte-code-reviews/">Code-Refactoring</a> gesehen haben. Auch im Bereich der Backend-Entwicklung wird trotz Software-Design und Patterns oft nicht sauber gearbeitet.</p>
<p>Eben dort ist <a href="http://www.entwicklungshilfe.nrw/seminare/phpstorm-best-practice/">PhpStorm</a> eine große Hilfe: Code, der offensichtlich nicht verwendet wird, wird farbig ausgegraut und kann so recht zuverlässig entfernt werden. Aber auch hier ist große Vorsicht geboten: Ohne <a href="http://www.entwicklungshilfe.nrw/code-rocker/">automatisierte Tests</a> ist es nahezu unmöglich, effektiv zu arbeiten. Fakt aber ist, dass durch die gewachsene Komplexität und die schlechte Lesbarkeit viel Zeit und Motivation verloren gehen. Wenn man da überhaupt noch durchsteigt. Dann wird gerne kapituliert, was sogar bis zur Krankmeldung gehen kann. Hier Licht reinzubringen, ist, wenn man es nicht regelmäßig macht, ein immenser, unausweichlicher und stetig wachsender Kostenfaktor.</p>
<h2>Legacy Code verursacht weitaus höhere Projektkosten</h2>
<figure id="attachment_248" aria-describedby="caption-attachment-248" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld.jpg" rel="attachment wp-att-248"><img loading="lazy" decoding="async" class="wp-image-248 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld-300x200.jpg" alt="Legacy Code kostet viel Geld" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-kostet-viel-Geld-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-248" class="wp-caption-text">Legacy Code kostet viel Geld</figcaption></figure>
<p>Webdevelopment-Projekte sind in einem schlechten Software-Zustand nicht mehr wartbar, zumal nach und nach immer mehr Bugs ans Tageslicht kommen. Das richtet großen Schaden in sämtlichen Bereichen einer Firma an und kann diese sogar in den Ruin treiben.</p>
<p>Auch Kunden ist das mittlerweile klar geworden: Rund 30 Prozent Mehrkosten sind als On-Top-Budget für Software-Qualität längst eine feste kalkulatorische Größe. Damit werden dann beispielsweise automatisierte Tests eingeführt, um den Entwicklungsprozess optimieren zu können.</p>
<h2>Legacy Code verhindert die Weiterentwicklung der Berufssparte</h2>
<figure id="attachment_249" aria-describedby="caption-attachment-249" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte.jpg" rel="attachment wp-att-249"><img loading="lazy" decoding="async" class="wp-image-249 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte-300x200.jpg" alt="Legacy Code verhindert die Weiterentwicklung der gesamten Berufssparte" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-verhindert-die-Weiterentwicklung-der-gesamten-Berufssparte-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-249" class="wp-caption-text">Legacy Code verhindert die Weiterentwicklung der Berufssparte</figcaption></figure>
<p>Wenn die verfügbaren Ressourcen eines Webdevelopment-Teams völlig aufgebraucht werden, leiden darunter Weiterbildung und Motivation sowie die Bereitschaft, sich mit Herzblut in seine Arbeit einzubringen. Code wird dann sprichwörtlich hingerotzt. Dabei ist gerade bei der heutigen Programmierung ein enorm hohes und komplexes Wissen gefragt. Das kann nicht mal eben mit einer einzelnen PHP-Schulung abgebildet werden.</p>
<p>Zudem wird es Junior-Webdevelopern auf diese Weise nahezu unmöglich gemacht, sich in die vorhandenen Strukturen zu integrieren. Hinzu kommt die vertane Zeit. Denn sich mit Problemen aus einer &#8222;anderen technischen Epoche&#8220; auseinandersetzen zu müssen, ist nicht zielführend. Innovationen und Sprünge in der Entwicklung sind so nicht machbar. Man steckt im Sumpf der Legacy-Projekte fest.</p>
<h2>Refactoring ist der Anfang vom Ende des Legacy Codes</h2>
<figure id="attachment_251" aria-describedby="caption-attachment-251" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code.jpg" rel="attachment wp-att-251"><img loading="lazy" decoding="async" class="wp-image-251 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code-300x208.jpg" alt="Refactoring Anfang vom Ende für Legacy Code" width="300" height="208" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code-300x208.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code-768x533.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code-1024x710.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Refactoring-Anfang-vom-Ende-fuer-Legacy-Code-300x208@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-251" class="wp-caption-text">Refactoring ist der Anfang vom Ende des Legacy Codes</figcaption></figure>
<p>Software-Qualität entsteht durch Refactoring von Quellcode. Man spricht hier auch von &#8222;Aushärten&#8220;. In allen Arbeitsbereichen wird dabei noch einmal über die bestehende Arbeit geschaut, um diese zu korrigieren und zu verbessern. Sogar ein einfacher Blog-Artikel wie dieser hier bekommt dadurch mehr als zehn Revisionen.</p>
<p>Betrachtet man hingegen Code-Stellen, bleibt man im unteren einstelligen Bereich. Hier muss wesentlich mehr Zeit investiert und eingeplant werden. Dies ist dann zugleich eine Investition in das eigene Webdevelopment-Team. Denn warum sollte man sich schwieriger und langsamer in Projekten bewegen, bloß weil der Kunde an diesem Punkt keinen Bedarf sieht …? Schließlich geht es nicht zuletzt um die eigene Software-Qualität – und damit letztlich auch um Lebensqualität.</p>
<h2>Wir können Software-Projekte nicht neu schreiben</h2>
<figure id="attachment_252" aria-describedby="caption-attachment-252" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben.jpg" rel="attachment wp-att-252"><img loading="lazy" decoding="async" class="wp-image-252 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben-300x210.jpg" alt="Wir können Software-Projekte nicht neu schreiben" width="300" height="210" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben-300x210.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben-768x536.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben-1024x715.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wir-koennen-Software-Projekte-nicht-neu-schreiben-300x210@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-252" class="wp-caption-text">Wir können Software-Projekte nicht neu schreiben</figcaption></figure>
<p>Noch immer gibt es die Illusion, dass eine Website alle paar Jahre komplett neu gemacht werden muss. Selbst auf Internetseiten, die an Werbekampagnen gebunden sind, soll dies zutreffen. Doch in &#8222;Wegwerf-Seiten&#8220; wurde in aller Regel keine aufwendige Business-Logik implementiert – wie etwa in Bereichen des E-Commerce. Insofern ist es purer Wahnsinn, zu denken, man könne mit den vorhandenen personellen Ressourcen parallel einfach mal eine neue Seite entwickeln. Das ist der falsche Weg.</p>
<figure id="attachment_265" aria-describedby="caption-attachment-265" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/same-old-thinking.png" rel="attachment wp-att-265"><img loading="lazy" decoding="async" class="wp-image-265 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/same-old-thinking-300x150.png" alt="Same old thinking – same old result" width="300" height="150" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/same-old-thinking-300x150.png 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/same-old-thinking.png 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-265" class="wp-caption-text">Same old thinking – same old result</figcaption></figure>
<p>&#8222;Same old thinking – same old result&#8220; ist hier ein Problem an sich. Es verhindert, dass sich Entwickler mit neuem Wissen frisch ans Werk machen können, zumal dadurch alte Probleme am Ende nur neu verpackt werden. Zudem ergeben sich beträchtliche Spannungen, wenn ein Teil des Teams neue Software schreiben muss, während der andere Teil den bestehenden Teil weiterpflegt. So kommt nur unnötige Unruhe auf, die dem Teamgeist schadet und das Projekt behindert. Allerdings ist es ohne Weiteres möglich, bestimmte Routen eines Projekts neu zu erstellen und somit sukzessiv Teile zu erneuern. <a href="http://www.entwicklungshilfe.nrw/kontakt/">Zu diesem Thema beraten wir gerne</a>.</p>
<h2>Mit Pair Programming Probleme erkennen und lösen</h2>
<figure id="attachment_253" aria-describedby="caption-attachment-253" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code.jpg" rel="attachment wp-att-253"><img loading="lazy" decoding="async" class="wp-image-253 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-300x196.jpg" alt="Teamarbeit Legacy Code" width="300" height="196" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-300x196.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-768x503.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-1024x670.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-214x140.jpg 214w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-300x196@2x.jpg 600w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Teamarbeit-Legacy-Code-214x140@2x.jpg 428w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-253" class="wp-caption-text">Legacy Code: Pair Programming als Lösung</figcaption></figure>
<p>Vor allem Refactoring im Team bietet eine hervorragende Möglichkeit, mit Pair-Programming anzufangen. Nutzt man diese Chance, so bildet man gleich auch das Webdevelopment-Team weiter und spart eine ganze Menge Zeit, die sonst für Absprachen und Konventionen nötig wäre. Gerade der &#8222;doppelte Blick&#8220; ist ja der Schlüssel dafür, Probleme zu erkennen und aus einem anderen Blickwinkel betrachten zu können. Wir bieten Schulungen mit genau diesem Ziel an. Da der Start mit <a href="http://www.entwicklungshilfe.nrw/workshops/moderiertes-pair-programming/">Pair Programming</a> jedoch nicht immer ganz einfach ist, ist eine externe Meinung umso wichtiger, damit es hier nicht zum Kompetenzgerangel kommt.</p>
<h2>Legacy Code und der innere Schweinehund</h2>
<figure id="attachment_254" aria-describedby="caption-attachment-254" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund.jpg" rel="attachment wp-att-254"><img loading="lazy" decoding="async" class="wp-image-254 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund-300x199.jpg" alt="Legacy Code und der Schweinehund" width="300" height="199" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund-300x199.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund-768x510.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund-1024x680.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Legacy-Code-und-der-Schweinehund-300x199@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-254" class="wp-caption-text">Legacy Code und der innere Schweinehund</figcaption></figure>
<p>Sport ist gut für die Gesundheit, gesunde Ernährung ohnehin, und Bewegung tut ihr Übriges. Ein gesunder Körper kann am Ende immer auf einen gesunden Geist zählen. Und halten wir zur Genüge daran? Nein. Wir verfügen über einen regelrechten Ausreden-Katalog, der von täglichen Problemen bis hin zum Wetter immer eine passende Ausrede für uns parat hält. Und dabei ist es doch einfach nur eine Kopfsache.</p>
<p>So ist es auch in der Software-Entwicklung. Hier verhalten wir uns aus mehreren Gründen unvernünftig. Wobei oft gar nicht erst nach Gründen gesucht, sondern ebenso wie beim Thema Sport &amp; Gesundheit bei jeder Gelegenheit der &#8222;Keine-Zeit-Joker&#8220; ausgespielt wird. Einfach mal mit einem festen Termin über zwei Stunden in der Woche freitags ab 16 Uhr starten! Das kommt auch erstmal gut an. Aber hier sind Ausdauer und Disziplin gefragt!</p>
<h2>Wenn der Budget-Plan keine Software-Qualität zulässt</h2>
<figure id="attachment_255" aria-describedby="caption-attachment-255" style="width: 1280px" class="wp-caption alignleft"><img loading="lazy" decoding="async" class="wp-image-255 size-full" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Geschäftsfuehrung-und-Legacy-Code.jpg" alt="Geschäftsführung und Legacy Code" width="1280" height="853" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Geschäftsfuehrung-und-Legacy-Code.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Geschäftsfuehrung-und-Legacy-Code-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Geschäftsfuehrung-und-Legacy-Code-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Geschäftsfuehrung-und-Legacy-Code-1024x682.jpg 1024w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /><figcaption id="caption-attachment-255" class="wp-caption-text">Geschäftsführung und Legacy Code</figcaption></figure>
<p>Investitionen in die Software-Qualität und in das Personal sind dringend notwendig. Aber oft lässt der Budget-Plan dies nicht zu. Doch wie weit kommt man mit einem Auto mit brennender Motorleuchte, ohne einen Motorschaden zu riskieren …? Schlimmstenfalls bis zum Totalschaden. Gleichermaßen riskant ist ein solch &#8222;blindes&#8220; Vorgehen in der Software-Entwicklung. Und noch einmal: Darunter leidet immer auch die Stimmung in der gesamten Firma.</p>
<p>In puncto Software-Qualität muss also die richtige Entscheidung getroffen werden! Es gilt, konsequent Ziele zu beschließen und zu erreichen. Der Prozess muss kontrolliert und überwacht werden.</p>
<h2>Mit zu viel Legacy Code werden Entwickler verheizt</h2>
<figure id="attachment_256" aria-describedby="caption-attachment-256" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code.jpg" rel="attachment wp-att-256"><img loading="lazy" decoding="async" class="wp-image-256 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code-300x200.jpg" alt="Arbeitsmarkt und Arbeitssituation bei viel Legacy Code" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code-768x512.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Arbeitsmarkt-und-Arbeitssituation-bei-viel-Legacy-Code-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-256" class="wp-caption-text">Arbeitsmarkt und Arbeitssituation bei zu viel Legacy Code</figcaption></figure>
<p>Als Webentwickler mit Berufserfahrung findet man derzeit in jeder Stadt Arbeitgeber und kann sofort eine Stelle besetzen. Die Stellen selbst sind dabei, auch wenn die Gehälter einander entsprechen, höchst unterschiedlich. Wird der Entwickler gefordert und gefördert – oder doch nur verheizt? Etwa durch zu viel Legacy Code. Letzteres findet man überall. Ersteres vielleicht in den vier großen Städten. Vor allem Berlin zeigt, wie es geht. Und gerade deshalb gibt es dort auch so tolle Erfolgsstories.</p>
<p>Der Ruf der Entwicklungsabteilung und der Software-Qualität im Unternehmen ist ein zunehmend wichtiges Entscheidungskriterium für die Karriere. Daher gilt auch hier: Ist der Ruf erst ruiniert … Treffen Unternehmen indes die richtigen Entscheidungen, so festigt man die bestehenden Strukturen und macht sich attraktiv für neue Bewerber.</p>
<h2>Mein Fazit zum Thema Legacy Code</h2>
<figure id="attachment_257" aria-describedby="caption-attachment-257" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code.jpg" rel="attachment wp-att-257"><img loading="lazy" decoding="async" class="wp-image-257 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code-300x200.jpg" alt="Fazit Legacy Code" width="300" height="200" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code-300x200.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code-768x511.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code-1024x682.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code.jpg 1280w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Fazit-Legacy-Code-300x200@2x.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-257" class="wp-caption-text">Fazit Legacy Code</figcaption></figure>
<p>Legacy Code ist nach wie vor ein großes Problem, das sich nur mit Arbeit lösen lässt. Doch ist man diesen Weg einmal gegangen, dann lohnt er sich. Denn klar ist:</p>
<ul>
<li>Die Software-Qualität steigt.</li>
<li>Die Kunden sind zufriedener.</li>
<li>Die Abteilungen können effektiv arbeiten.</li>
<li>Der Spaß kehrt zurück an den Arbeitsplatz.</li>
</ul>
<p>So betrachtet ist die gezielte und intensive Beschäftigung mit Legacy Code ein notwendiges Übel. Denn niemand mag es, ständig aufzuräumen und Ordnung zu halten. Für Profis gehört aber genau das nun einmal dazu.</p>
<p><em>Welche Erfahrungen hast du mit Legacy Code gemacht? Du kannst gerne das Kommentarfeld unter diesem Beitrag nutzen, um deine Erfahrungen mit anderen zu teilen.</em></p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/01/28/legacy-code-entstehung-und-ursache/">Legacy Code – Entstehung, Ursache und Auswirkung</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://entwicklungshilfe.nrw/blog/2016/01/28/legacy-code-entstehung-und-ursache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wie du deine Vorgesetzten vom Nutzen einer PHP-Schulung überzeugst</title>
		<link>https://entwicklungshilfe.nrw/blog/2016/01/07/php-schulung-vorgesetzte-ueberzeugen/</link>
					<comments>https://entwicklungshilfe.nrw/blog/2016/01/07/php-schulung-vorgesetzte-ueberzeugen/#respond</comments>
		
		<dc:creator><![CDATA[Andreas Mautz]]></dc:creator>
		<pubDate>Thu, 07 Jan 2016 11:16:37 +0000</pubDate>
				<category><![CDATA[PHP-Schulung]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Workshop]]></category>
		<guid isPermaLink="false">http://www.entwicklungshilfe.nrw/blog/?p=146</guid>

					<description><![CDATA[<p>In Deutschland werden nach wie vor gut ausgebildete Webentwickler gesucht – doch der Markt ist seit Jahren ziemlich abgegrast. Dem Personalmangel kann zwar mittels gezielter PHP-Schulungen zur Steigerung der Effektivität bestehender Teams begegnet werden. Aber zuvor müssen erst einmal die Vorgesetzten überzeugt werden. Dieser Beitrag hilft dir dabei. Berufliche Weiterbildung steht in Deutschland weiterhin hoch im Kurs. So [&#8230;]</p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/01/07/php-schulung-vorgesetzte-ueberzeugen/">Wie du deine Vorgesetzten vom Nutzen einer PHP-Schulung überzeugst</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In Deutschland werden nach wie vor gut ausgebildete Webentwickler gesucht – doch der Markt ist seit Jahren ziemlich abgegrast. Dem Personalmangel kann zwar mittels gezielter PHP-Schulungen zur Steigerung der Effektivität bestehender Teams begegnet werden. Aber zuvor müssen erst einmal die Vorgesetzten überzeugt werden. Dieser Beitrag hilft dir dabei.</p>
<figure id="attachment_188" aria-describedby="caption-attachment-188" style="width: 300px" class="wp-caption alignleft"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1.jpg" rel="attachment wp-att-188"><img loading="lazy" decoding="async" class="wp-image-188 size-medium" src="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-300x198.jpg" alt="Wie du deine Vorgesetzten vom Nutzen einer PHP-Schulung überzeugst" width="300" height="198" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-300x198.jpg 300w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-768x506.jpg 768w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-1024x675.jpg 1024w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-214x140.jpg 214w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1.jpg 1920w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-300x198@2x.jpg 600w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-768x506@2x.jpg 1536w, https://entwicklungshilfe.nrw/wp-content/uploads/2016/01/Wie-du-deine-Vorgesetzten-vom-Nutzen-einer-PHP-Schulung-ueberzeugst-1-214x140@2x.jpg 428w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-188" class="wp-caption-text">Wie du deine Vorgesetzten vom Nutzen einer PHP-Schulung überzeugst</figcaption></figure>
<p>Berufliche Weiterbildung steht in Deutschland weiterhin hoch im Kurs. So gaben im Jahr 2015 bei einer im Auftrag des <em>ILS Institut für Lernsysteme</em> durchgeführten <a href="http://www.ils.de/ueber-uns/presse/aktuelle-meldungen/aktuelle-forsa-umfrage-was-bringt-weiterbildung/" target="_blank" rel="noopener noreferrer">Forsa-Studie</a> unter 20- bis 40-jährigen acht von zehn Befragten an, durch gezielte Schulungsmaßnahmen mehr Kompetenz und Sicherheit im Beruf erlangt zu haben. Und immerhin 60 Prozent waren sich darin einig, mit ihrem erweiterten Wissen fortan selbstbewusster auftreten zu können. Der immense Wert von Weiterbildung ist damit unter Arbeitnehmern weitgehend unbestritten, und besonders groß sind die Herausforderungen im IT-Bereich. Hier nicht zuletzt in puncto PHP-Schulungen für Webentwickler.</p>
<h2>Mit PHP-Schulungen Personalmangel kompensieren</h2>
<p>Das hat seine Gründe. Denn einerseits ist der IT-Markt angesichts der rasant fortschreitenden Digitalisierung der Wirtschaftsprozesse von einer immer größeren Dynamik geprägt, und andererseits erfordern die durch die <a href="http://deutsche-wirtschafts-nachrichten.de/2015/06/23/studie-unternehmen-bemerken-hacker-angriffe-viel-zu-spaet/" target="_blank" rel="noopener noreferrer">zunehmende Anzahl an Cyber-Angriffen entstehenden finanziellen Schäden</a> immer bessere Systeme mit ständig zu optimierenden Sicherheitsvorkehrungen. Hinzu kommen die stark veränderten User-Gewohnheiten, die &#8222;mobile first&#8220; zum derzeit alles beherrschenden Schlagwort machen.</p>
<p>Da aber auf dem Arbeitsmarkt nach wie vor ein <a href="http://de.webmasters-europe.org/blog/infos-aus-dem-verband/it-arbeitsmarkt-analyse-2015-viele-offene-stellen-fuer-internet-experten" target="_blank" rel="noopener noreferrer">akuter Mangel an gut ausgebildeten Webdevelopern</a> herrscht, bleiben viele Stellen unbesetzt. Kompensieren lässt sich dieser nun schon seit einigen Jahren währende Engpass kurzfristig wohl nur durch gezielte PHP-Schulungen. Hier ist also Lernen angesagt, um die Effektivität von Webdevelopern zu erhöhen. Ziel ist es dabei, deren individuelle Skills kontinuierlich zu erweitern und zu verfeinern. Letzten Endes ergibt sich daraus eine Win-Win-Situation für Arbeitgeber (sprich: größere Leistungsfähigkeit der Entwicklerteams) und Arbeitnehmer (sprich: höhere Arbeitsplatzsicherheit und bessere Karrierechancen), von der dann auch die deutsche Wirtschaft insgesamt profitiert.</p>
<h2>Strategische Überzeugungsarbeit in drei Schritten</h2>
<p>Allerdings winken die meisten Unternehmen (bzw. deren IT-Abteilungsleiter) längst nicht jede aus den Reihen der Entwicklerteams vorgeschlagene PHP-Schulungsmaßnahme einfach so durch. Finanzieller Aufwand und Belastung des Arbeitszeitkontos sind dabei die häufigsten „Totschlagargumente“ gegen das Erlernen neuer PHP-Fertigkeiten. Hier ist also zunächst einmal jede Menge Überzeugungsarbeit gefordert, und dabei solltest du unbedingt die drei nun folgenden Punkte für ein strategisch durchdachtes Vorgehen beachten:</p>
<h3>1. Fokussiere den Nutzen für dein Unternehmen, ohne dabei dein Licht unter den Scheffel zu stellen!</h3>
<p>Formuliere deinen Vorschlag immer so, dass nicht etwa eine etwaige Wissenslücke oder fachliche Schwäche deinerseits im Vordergrund steht, sondern stets der (wirtschaftliche) Nutzen, den das Unternehmen durch deine PHP-Schulung erfährt. Deine bereits vorhandenen Skills dürfen hierbei nicht in Zweifel gezogen werden können. Im Zweifelsfall solltest du das also vorher üben.</p>
<h3>2. Suche dir Verbündete und schaffe Allianzen, denn gemeinsam seid ihr durchsetzungsfähiger!</h3>
<p>Statt alleine nach vorne zu preschen, stimme dich zuerst mit deinen Teamkollegen ab, damit ihr idealerweise mit einem gemeinschaftlichen Vorschlag an euren Team- oder Projektleiter herantreten könnt. Sieht auch dieser die Vorteile für das Entwicklerteam (und für sich selbst als Verantwortlichen), so seid ihr schon mal auf einem guten Weg zur Budgetierung der gewünschten PHP-Schulung.</p>
<h3>3. Erkundige dich genau über die Lerninhalte der PHP-Schulung und sammle stichhaltige Argumente!</h3>
<p>Umso exakter du den Nutzen für dein Unternehmen am Beispiel aktueller Projekte und Problemstellungen formulieren und anhand deines zukünftigen Know-hows belegen kannst, desto eher bekommst du grünes Licht für das Vorhaben. Du musst also schon im Erstgespräch genau nachweisen, inwiefern die PHP-Schulung zu dir, zum Projekt und zum Unternehmen passt.</p>
<p>Übrigens: Als allerletzte Trumpfkarte kannst du gegebenenfalls immer noch deine Bereitschaft zum Ausdruck bringen, die PHP-Schulung zumindest anteilig in deiner Freizeit wahrzunehmen. Denn wie gesagt: Du selbst profitierst ja auch von der Maßnahme, insofern sie dich fachlich nach vorne bringt und dir möglicherweise neue berufliche Perspektiven innerhalb deines Unternehmens eröffnet.</p>
<p><em>Wenn du Interesse an den PHP-Schulungen von Entwicklungshilfe NRW hast, <a href="http://www.entwicklungshilfe.nrw/">findest du hier ausführliche Informationen zu den Seminaren und Workshops</a>.</em></p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2016/01/07/php-schulung-vorgesetzte-ueberzeugen/">Wie du deine Vorgesetzten vom Nutzen einer PHP-Schulung überzeugst</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://entwicklungshilfe.nrw/blog/2016/01/07/php-schulung-vorgesetzte-ueberzeugen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Blogstart mit fünf Tipps für Webworker (und andere)</title>
		<link>https://entwicklungshilfe.nrw/blog/2015/12/14/php-schulungen/</link>
					<comments>https://entwicklungshilfe.nrw/blog/2015/12/14/php-schulungen/#respond</comments>
		
		<dc:creator><![CDATA[Andreas Mautz]]></dc:creator>
		<pubDate>Mon, 14 Dec 2015 10:16:47 +0000</pubDate>
				<category><![CDATA[PHP-Schulung]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Workshop]]></category>
		<guid isPermaLink="false">http://www.entwicklungshilfe.nrw/blog/?p=26</guid>

					<description><![CDATA[<p>Gute Webentwickler sind in Deutschland heiß begehrt (und vergleichsweise rar gesät). Laut der IT-Arbeitsmarkt-Analyse 2015 von Webmasters Europe e.V. ist die Nachfrage gegenüber dem Vorjahr sogar noch gestiegen. Da Spezialisten für Webdevelopment jedoch nicht auf Bäumen wachsen, bleiben viele Stellen offen. Die Folge: Die oftmals nicht optimal besetzten Entwicklerteams in Unternehmen und Agenturen arbeiten meist [&#8230;]</p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2015/12/14/php-schulungen/">Blogstart mit fünf Tipps für Webworker (und andere)</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Gute Webentwickler sind in Deutschland heiß begehrt (und vergleichsweise rar gesät). Laut der <a href="http://de.webmasters-europe.org/blog/infos-aus-dem-verband/it-arbeitsmarkt-analyse-2015-viele-offene-stellen-fuer-internet-experten" target="_blank" rel="noopener noreferrer">IT-Arbeitsmarkt-Analyse 2015 von Webmasters Europe e.V.</a> ist die Nachfrage gegenüber dem Vorjahr sogar noch gestiegen. Da Spezialisten für Webdevelopment jedoch nicht auf Bäumen wachsen, bleiben viele Stellen offen. Die Folge: Die oftmals nicht optimal besetzten Entwicklerteams in Unternehmen und Agenturen arbeiten meist hart an der Grenze des Machbaren – und dies geht dann in aller Regel zu Lasten der Software-Qualität. Viele IT-Projekte scheitern auch einfach sang- und klanglos oder bleiben hinter den Erwartungen zurück. Eine unbefriedigende Situation, die sich negativ auf das Betriebsklima und die Stimmung innerhalb der Entwicklerteams auswirkt. Der Motivation ist das nicht sonderlich zuträglich. Dabei ist Team-Entwicklung angesichts der angespannten personellen Lage bei gleichzeitig immer größerem Bedarf an zukunftsweisenden Web-Lösungen heute eines der wichtigsten Stichworte. Kein Wunder also, wenn sich Webentwickler bisweilen … nun, sagen wir mal: ein wenig ausgepowert fühlen. Gut ist das nicht.</p>
<figure id="attachment_47" aria-describedby="caption-attachment-47" style="width: 150px" class="wp-caption alignnone"><a href="https://entwicklungshilfe.nrw/wp-content/uploads/2015/12/php-schulung-seminare-workshop-team.jpg" rel="attachment wp-att-47"><img loading="lazy" decoding="async" class="wp-image-47 size-thumbnail" src="https://entwicklungshilfe.nrw/wp-content/uploads/2015/12/php-schulung-seminare-workshop-team-150x150.jpg" alt="PHP-Schulung Seminare Workshop Team Training" width="150" height="150" srcset="https://entwicklungshilfe.nrw/wp-content/uploads/2015/12/php-schulung-seminare-workshop-team-150x150.jpg 150w, https://entwicklungshilfe.nrw/wp-content/uploads/2015/12/php-schulung-seminare-workshop-team-150x150@2x.jpg 300w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a><figcaption id="caption-attachment-47" class="wp-caption-text">Zusammenhalt im Team stärkt – auch darum geht es im neuen Blog von Entwicklungshilfe NRW, der das Angebot an PHP-Schulungen, Seminaren, Workshops und Trainings für Webdeveloper fortan ergänzen wird.</figcaption></figure>
<p>Damit ist im Großen und Ganzen der thematische Rahmen des hiermit vom Stapel gelaufenen Webentwickler-Blogs von Entwicklungshilfe NRW umrissen, der eine Ergänzung zu den <a href="http://www.entwicklungshilfe.nrw/seminare/">PHP-Schulungen für Webdeveloper</a> darstellen soll. Neben den branchenüblichen praktischen Tipps, Tricks und Tutorials rund um das Thema Webentwicklung wirst du hier in Zukunft auch Beiträge finden, die die nicht-technischen Aspekte deiner täglichen Arbeit als Webentwickler beleuchten. Ebenso wie mit den PHP-Schulungen von Entwicklungshilfe NRW ist es somit auch auf diesem Blog das Ziel, dich effektiv in deinem Job zu unterstützen und dir aktuelle Problemlösungen und andere für dich wichtige Informationen und Ratschläge zu liefern.</p>
<h2>Fünf allgemeine Tipps für effizienteres Arbeiten</h2>
<p>Zum „seichten“ Einstieg möchten wir dir fünf klassische Tipps für effizienteres Arbeiten geben, die so natürlich auch für alle anderen Berufsfelder gelten. In Anbetracht der oben beschriebenen Situation treffen sie auf Webentwickler heute jedoch in besonderem Maße zu.</p>
<h2>1. Halte deine Pausenzeiten ein!</h2>
<p>Wie eine <a href="http://www.sueddeutsche.de/news/karriere/arbeit-jeder-vierte-arbeitnehmer-laesst-pausen-haeufig-ausfallen-dpa.urn-newsml-dpa-com-20090101-140219-99-06539" target="_blank" rel="noopener noreferrer">repräsentative Befragung der Bundesanstalt für Arbeitsschutz und Arbeitsmedizin</a> von 2014 offenlegte, lässt rund jeder vierte Arbeitnehmer in Deutschland häufig seine Pausen ausfallen. Das ist kontraproduktiv. Denn einerseits ist dieser vermeintliche Zeitgewinn eine reine Illusion, da der Verzicht auf regelmäßige Erholungsphasen wegen der dadurch abfallenden Leistungskurve ein wahrer Produktivitätskiller ist – und anderseits belastest du damit auf Dauer deine Gesundheit. Du hilfst somit also weder dem jeweiligen Projekt und deinem Unternehmen noch dir selbst.</p>
<h2>2. Vermeide übermäßiges Multitasking!</h2>
<p>Nur 2,5 Prozent der Menschen sind sogenannte Supertasker und können ohne Qualitätsverlust mehrere Aufgaben gleichzeitig erledigen. Alle anderen sollten tunlichst die Finger davon lassen. Sonst steigt nicht nur deine Fehlerkurve signifikant an, <a href="http://www.huffingtonpost.de/2014/10/17/multitasking-gehirn-schaden-dumm_n_5996606.html" target="_blank" rel="noopener noreferrer">sondern du läufst auch Gefahr, deinem Gehirn zu schaden, wie eine Studie ergeben hat</a>. Außerdem ist Multitasking ein Kreativitätshemmer. Hier ist, sofern überhaupt möglich, eine klare Priorisierung deiner Aufgaben nötig.</p>
<h2>3. Du musst lernen, auch mal nein zu sagen!</h2>
<p>Klar, das ist meist leichter gesagt als getan. Aber wenn gute Gründe dafür sprechen, die sofortige Erledigung einer neuen Aufgabe auch mal abzulehnen, dann solltest du das unbedingt tun. Vor allem wenn dadurch eine andere wichtige Deadline definitiv nicht mehr einzuhalten ist. Gerade Berufseinsteiger tun sich hiermit natürlich etwas schwer. Aber am Ende des Tages bist du es, der einen auf den Deckel bekommt, wenn eine Aufgabe nicht fristgerecht fertiggestellt wurde und dadurch der Workflow im Team ins Stocken gerät. Nimm dir in solchen Fällen also die Zeit, überzeugende Argumente für dein Nein vorzutragen.</p>
<h2>4. Kommuniziere ausreichend und eindeutig!</h2>
<p>Eines der größten Probleme in Projekten ist unzureichende und fehlerhafte Kommunikation. Dies gilt nicht nur für die Kommunikation zwischen Projektleiter und Team, sondern auch für die „kleinteilige“ Projektkommunikation des Teams untereinander. Klar ist: Fehlende oder unsauber kommunizierte Informationen können ganze Fehler-Kaskaden in allen nachgelagerten Arbeitsschritten auslösen. Das kostet Zeit und Geld. Und Nerven sowieso. Daher solltest du dich immer bemühen, dich in ausreichendem Maße mit anderen auszutauschen und dabei auf eine unmissverständliche Ausdrucksweise zu achten. Wenn nötig, verschriftliche deine für den Rest des Teams wichtigen Informationen oder Fragen und nutze hierzu E-Mails oder kollaborative Kommunikationstools.</p>
<h2>5. Stehe auch zu deinen Schwächen!</h2>
<p>Das mag sich zunächst seltsam anhören, ist aber in der Teamarbeit von zentraler Bedeutung. Schließlich beherrscht nicht jeder alles in völliger Perfektion. Insofern ist es wichtig, dass du dir an deinen neuralgischen Punkten die passende Hilfe suchst. Dazu ist ein Team letztlich da. Also überwinde den inneren Schweinehund und bitte da um Unterstützung, wo du sie brauchst. Das gemeinschaftliche Projekt und Produkt gewinnt dadurch an Qualität – und außerdem stärkt gegenseitige Hilfestellung den Teamgeist!</p>
<p><em>Auch unsere praxisnahen PHP-Schulungen für Webentwickler sind förderlich für Teamgeist und Team-Entwicklung. <a href="http://www.entwicklungshilfe.nrw/">Hier geht es zu unseren Seminaren und Workshops</a>.</em></p>
<p>Der Beitrag <a href="https://entwicklungshilfe.nrw/blog/2015/12/14/php-schulungen/">Blogstart mit fünf Tipps für Webworker (und andere)</a> erschien zuerst auf <a href="https://entwicklungshilfe.nrw">Entwicklungshilfe NRW</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://entwicklungshilfe.nrw/blog/2015/12/14/php-schulungen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
