<?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>TSCHITSCHEREENGREEN live &#187; Optimierung IT Projekt</title>
	<atom:link href="http://www.tschitschereengreen.com/blog/index.php/tag/optimierung-it-projekt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tschitschereengreen.com/blog</link>
	<description>Tschitschereengreen - the yoosic coding division</description>
	<lastBuildDate>Tue, 07 Sep 2010 20:01:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Code Design &#8211; weiterführende Links</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/code-design-weiterfuhrende-links/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/code-design-weiterfuhrende-links/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:19:44 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Vorträge]]></category>
		<category><![CDATA[Code Design]]></category>
		<category><![CDATA[Code Esthetics]]></category>
		<category><![CDATA[Code Formatting]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coder]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=414</guid>
		<description><![CDATA[Hier wie versprochen meine Nachlieferung an Links zu unserem Workshop letzte Woche: Blog Artikel Buch Review über &#8220;Beautiful Code&#8221; von O&#8217;Reilly Der Zen Ansatz Code in eine neue Methode auslagern Details diskutiert another Book Review nochmal ein Blog zu O&#8217;Reillys Buch]]></description>
			<content:encoded><![CDATA[<p>Hier wie versprochen meine Nachlieferung an Links zu unserem Workshop letzte Woche:<br />
<a href="http://www.devsource.com/c/a/Using-VS/Formatting-Code-the-Right-Way/">Blog Artikel</a><br />
<a href="http://www.codinghorror.com/blog/archives/001062.html">Buch Review über &#8220;Beautiful Code&#8221; von O&#8217;Reilly</a><br />
<a href="http://mitch-wheat.blogspot.com/2006/08/zen-and-art-of-code-design-and.html">Der Zen Ansatz</a><br />
<a href="http://codekicker.de/fragen/Wann-soll-man-den-Code-einer-Methode-in-eine-Neue-auslagern/44">Code in eine neue Methode auslagern</a><br />
<a href="http://c2.com/ppr/formatting.html">Details diskutiert</a><br />
<a href="http://binstock.blogspot.com/2007/12/beautiful-code-vs-readable-code.html">another Book Review</a><br />
<a href="http://alarmingdevelopment.org/?p=79">nochmal ein Blog zu O&#8217;Reillys Buch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/code-design-weiterfuhrende-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bewusster Einsatz von Intuition beim Debugging</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/bewusster-einsatz-von-intuition-beim-debugging/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/bewusster-einsatz-von-intuition-beim-debugging/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:02:14 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Accelerate Debugging]]></category>
		<category><![CDATA[Agiles Projektmanagement]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Kognitive Prozesse]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=375</guid>
		<description><![CDATA[Die aus den letzten beiden Einträgen hier zum Thema Intuition beim Debugging (1,2) resultierende Frage ist nun, was man mit dem Thema jetzt für den konkreten Alltag anfangen kann. Grundsätzlich bietet Intuition eine Art Abkürzung für die Arbeit eines Softwareentwicklers und kann wesentlich schneller zum Erfolg führen. Das bedeutet, dass man während man sich Schritt [...]]]></description>
			<content:encoded><![CDATA[<p>Die aus den letzten beiden Einträgen hier zum Thema Intuition beim Debugging (<a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/16/intuition-debugging/">1</a>,<a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/15/rationalitat-vs-intuition/">2</a>) resultierende Frage ist nun, was man mit dem Thema jetzt für den konkreten Alltag anfangen kann.<span id="more-375"></span></p>
<p>Grundsätzlich bietet Intuition eine Art Abkürzung für die Arbeit eines Softwareentwicklers und kann wesentlich schneller zum Erfolg führen. Das bedeutet, dass man während man sich Schritt für Schritt vom Fehlerbild zur Fehlerquelle durcharbeitet, gern diese Abkürzungen in Anspruch nehmen sollte. Allerdings muss klar sein, dass diese A) ins Nirvana führen können und man damit wieder zurück muss und B) der logische Pfad der Fehlersuche der führende sein muss.</p>
<p>Bei Entwicklern habe ich erlebt, dass diese von einer Abkürzung zur nächsten kamen und damit ohne logischen Leitfaden durch den Code der Applikation mäanderten. Das das fatal und nicht zielführend ist, versteht sich. Richtig eingesetzte Intuition sieht so aus, dass man entlang des logischen Pfades spontane Eingebungen zu Fehlerquellen validiert (!) und bei Miserfolg direkt wieder auf den logischen Pfad springt. Dabei sollte man natürlich nicht jeder Eingebung folgen. Die Validierung dieser ist maßgeblich, da jeder Versuch Zeit kostet und grundsätzlich erstmal ein Schuss ins Blaue ist.</p>
<p>Nicht zu unterschätzen ist, die emotionale Wirkung des Einsatzes von Emotion. Aus eigener Erfahrung weiss ich, dass beim Debugging ständig neue Vermutungen über die Ursache des Fehlers entstehen. Wenn man jeder von dieser folgt, entsteht schnell der Eindruck, dass die Software total unberechenbar (aka crap) ist und sich schwer debuggen lässt. Das frustriert und hat mich nie weiter gebracht.</p>
<p>Weitere Infos, wie Intuition funktioniert finden sich bei <a href="http://www.coding-horror.de/?page_id=216">Coding Horror.DE</a>. Weiterhin lesbar ist <a href="http://refactr.com/blog/2007/01/should-intuition-play-a-part-in-developing-software/">dieser Beitrag über Intuition im Team</a>. Eine allgemeine Übersicht über Intuition hab ich noch in folgendem <a href="http://www.ppig.org/papers/20th-beynon.pdf">PDF </a>gefunden. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/bewusster-einsatz-von-intuition-beim-debugging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review Code Esthetics Pt. 1 &#8211; Code Design</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/12/07/review-code-esthetics-pt-1-code-design/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/12/07/review-code-esthetics-pt-1-code-design/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 14:59:02 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Vorträge]]></category>
		<category><![CDATA[Code Design]]></category>
		<category><![CDATA[Code Esthetics]]></category>
		<category><![CDATA[Code Formatting]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=344</guid>
		<description><![CDATA[Während der knapp über 2 Stunden habe ich mir gemeinsam mit den teilnehmenden Professoren und Studenten grundsätzliche Themen zur professionellen Gestaltung von Code angeschaut. Die mitgebrachten Beispiele wurden dabei beurteilt und als Fazit zu der folgenden Übersicht mit Empfehlungen für eine gutes Code Design zusammengefasst. » maximale Zeilenbreite: 80 » maximale Anzahl Zeilen: zwischen 120 [...]]]></description>
			<content:encoded><![CDATA[<p>Während der knapp über 2 Stunden habe ich mir gemeinsam mit den teilnehmenden Professoren und Studenten grundsätzliche Themen zur professionellen Gestaltung von Code angeschaut. Die mitgebrachten Beispiele wurden dabei beurteilt und als Fazit zu der folgenden Übersicht mit Empfehlungen für eine gutes Code Design zusammengefasst.<span id="more-344"></span></p>
<p><span class="green">» maximale Zeilenbreite: 80<br />
</span><br />
<span class="green">» maximale Anzahl Zeilen: zwischen 120 und 2000<br />
</span><br />
<span class="green">» CodeInhalte: saubere Trennung nach MVC bzw. Pattern, nur gültigen Code<br />
</span><br />
<span class="green">» Kommentare: Feste Syntax, Block Komments, 1-6x Umfang des kommentierten Quelltextes<br />
</span><br />
<span class="green">» Struktur: optisch durch Kommentare kennzeichnen<br />
</span><br />
<span class="green">» Dateikopf: Inhalt, Datum, Ersteller/Brarbeiter<br />
</span><br />
<span class="green">» Funktionskopf: Inhalt, Parameter inkl. Beschreibung, Documentor Standards nutzen, Rückgabewerte dokumentieren<br />
</span><br />
<span class="green">»  Intendation: maximal 5 Schritte<br />
</span><br />
<span class="green">» Klammern: korrekt intendiert, keine eigene Zeile vs. eigene Zeile<br />
</span><br />
<span class="green">» Leerzeilen: kennzeichnen zusammengehörige Strukturen, einheitliche Verwendung!<br />
</span><br />
<span class="green">» Methodenlänge: <40 bis < 80 Zeilen<br />
</span><br />
<span class="green">» Naming Conventions inkl. Kommentare: einheitlich, nach Projektstandard<br />
</span><br />
<span class="green">» Charset: UTF8<br />
</span><br />
<span class="green">» Tabs/Spaces: Spaces bevorzugt, aber immer einheitlich<br />
</span><br />
<span class="green">» Definition, Deklaration: getrennt, einzeilig wenn identisch<br />
</span><br />
<span class="green">» Code Strukturen (optisch erkennbare Muster): zusammenfassen, wenn identisch oder gleichartig formatieren<br />
</span></p>
<p>Spannende Diskussionen gab es bei zwei Punkten: zum einen stand die Hypothese im Raum, dass wenn immer man innerhalb einer Funktion eine Leerzeile einfügen will, man lieber direkt eine neue Funktion für den folgenden Code schreiben sollte. Darüber hinaus kam das alte Thema Spaces vs. Tabs auf.</p>
<p>Im Zuge des Workshops habe ich ein paar Fragen an die Anwesenden gestellt und war überrascht, dass über 80% der Anwesenden schon umfangreiche Programmiererfahrungen, z.T. auch in grösseren Teams, hatten und dass ca. 50% aller Studenten in ihrem Arbeitsumfeld direkte Coding Guidelines definiert haben. Mein Eindruck nach den verschiedensten Diskussionen mit den Studenten hinterlässt dabei den Eindruck, dass die Mehrzahl der Anwesenden in der Summe einen überdurchschnittlich guten Code schreiben dürfte. Was entweder an der Auswahl der Teilnehmenden oder der Ausbildung der HTW Dresden liegt. Hier darf man spekulieren <img src='http://www.tschitschereengreen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>Weiterführende Links zum Thema Code Design liefer ich morgen in einem extra Artikel kurz nach.</p>
<p>Insgesamt war der Workshop optimierungsfähig. Die einzelnen Gruppen mit Vorschlägen zum Thema Code Design hatten zu viel Redezeit, so dass sich sicherleich diverse Anwesende schnell langweilten. Andererseite war die Beteiligung deutlich über meinen Erwartungen, so dass die Gruppengrösse tiefere Diskussionen (ich wäre gern auf bestimmte Details näher eingegangen) verhindert. Fazit: Es bringt nichts, wenn die Hälfte der Leute sich nach 1,5 Stunden langweilt und man dennoch zu flach auf der Oberfläche der Themen kratzt. Hier werde ich mir also zur nächsten Veranstaltung etwas einfallen lassen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/12/07/review-code-esthetics-pt-1-code-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fazit: neue Werkzeuge in der Softwareentwicklung</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 21:54:13 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[From Inside]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Agiles Projektmanagement]]></category>
		<category><![CDATA[Coder]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=331</guid>
		<description><![CDATA[Wie bereits angekündigt habe ich heute meinen Vortrag auf die Einladung von Herr Prof. Wiedemann an der HTW Dresden gehalten. Die Folien finden sich hier zum Download: 11-2009 Allgmeine Praesentation TTS HTW &#8211; Neue Werkzeuge.pdf Das Fazit: die Präsentation kam sehr gut an. Habe ein nettes Kompliment von einer anwesenden Professorin zum Vortrag erhalten . [...]]]></description>
			<content:encoded><![CDATA[<p>Wie bereits <a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/06/seminar-neue-technologien-in-der-softwareentwicklung/">angekündigt </a>habe ich heute<a href="https://www.xing.com/events/werkzeuge-softwareentwicklung-halbe-entwicklungsdauer-spass-erfolgreich-424001/guestlist?participation[yes]=true"> meinen Vortra</a>g auf die Einladung von <a href="https://www.xing.com/profile/Thomas_Wiedemann2">Herr Prof. Wiedemann</a> an der HTW Dresden gehalten.</p>
<p>Die Folien finden sich hier zum Download: <a href='http://www.tschitschereengreen.com/blog/wp-content/uploads/2009/11/11-2009-Allgmeine-Praesentation-TTS-HTW-Neue-Werkzeuge.pdf'>11-2009 Allgmeine Praesentation TTS HTW &#8211; Neue Werkzeuge.pdf</a></p>
<p>Das Fazit: die Präsentation kam sehr gut an. Habe ein nettes Kompliment von einer anwesenden Professorin zum Vortrag erhalten <img src='http://www.tschitschereengreen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . Darüber hinaus geb es ne Menge Fragen und ich musste nach 50% Inhalten und 75% Zeit den Turbo einschalten. <span id="more-331"></span>Alles in allem hoffe ich, dass es die Erwartungen erfüllt hat und einen Einblick in aktuelle Trends und die Arbeitsweise von Tschitschereengreen vermittelt hat.</p>
<p>Die vielfältigen Fragen waren sehr spannend und wären es sicher wert tiefere Diskussionen hierzu zu führen. Hier ein paar Beispiele:<br />
* In der sich so schnell verändernden Welt der Webtechnologien: welche Rolle wird Java hier zukünftig spielen? Vor allem jetzt wo Google, das im den <a href="http://code.google.com/webtoolkit/">Web Toolkits</a> verwendet, wird es da einen neuen Aufschwung geben?<br />
* Was bedeutet diese schnelle Veränderung für die Lehre? Was ist wenn, die heute vermittelte Inhalte in 3-4 Jahren, wenn die Studenten fertig sind, nicht mehr relevant sind? (Grossartige Frage eines Professors/Professorin)<br />
* Wie passen die aktuellen Web-Sprachen mit Java-Enterprise-Applikationen zusammen?<br />
* Was passiert, wenn in Ihrem Unternehmen ein Entwickler ausfällt?<br />
* etc&#8230; spannend, spannend die Themen</p>
<p>Zum Abschluss habe ich noch wie versprochen, zwei Veranstaltungen vorgestellt, welche wir weiterführend umsetzen könnten. Das Interesse war vor allem für das Seminar: <strong>Code Esthetics</strong> am grössten. Die erste Veranstaltung wird daher am 3.12.2009 um 17.00 stattfinden und je nach Bedarf aller 2 Wochen wiederholt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rationalität vs. Intuition</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/11/15/rationalitat-vs-intuition/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/11/15/rationalitat-vs-intuition/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 18:46:46 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Coder]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Rationalität]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=322</guid>
		<description><![CDATA[Vergangenen Freitag nachmittag sass ich mit einem Mitarbeiter zusammen vor seiner Arbeitsmaschine und gemeinsam waren wir auf der Suche nach einem Bug in seiner Software. Gemeinsam schauten wir durch seinen Code und ich liess mir Stück für Stück erklären, was nicht funktioniert, welche Codebestandteile beteiligt sind und welche möglichen Ursachen es geben könnte. Unsere Zusammenarbeit [...]]]></description>
			<content:encoded><![CDATA[<p>Vergangenen Freitag nachmittag sass ich mit einem Mitarbeiter zusammen vor seiner Arbeitsmaschine und gemeinsam waren wir auf der Suche nach einem Bug in seiner Software. Gemeinsam schauten wir durch seinen Code und ich liess mir Stück für Stück erklären, was nicht funktioniert, welche Codebestandteile beteiligt sind und welche möglichen Ursachen es geben könnte.</p>
<p>Unsere Zusammenarbeit sah in etwa so aus: er zeigte mir ein Stück Code und erklärte mir was es tat. Dann stellte ich Fragen zum Verständnis und liess mir die erwartete Funktionsweise erklären. Anschliessend prüften wir gemeinsam, ob der Code wirklich zu 100% ausführte, was wir erwarteten. Das ganze wiederholte sich 4-5 Mal, während sich folgendes abspielte.<span id="more-322"></span></p>
<p>Mein Mitarbeiter zeigte mir den Code, erklärte mir die Funktionsweise und hatte einen Aha-Effekt. Er brach mitten im Satz ab und Zitat: &#8220;Ich habs! Wart!&#8221; &#8211; woraufhin er sofort in eine andere Datei springen wollte&#8230; Ich stoppte Ihn lies mir seine Gedanken erklären. Hierbei äusserte er seine Vermutung (jedes mal eine andere), welche sich nach meiner Auffassung nicht direkt kausal aus dem eben betrachteten Code herleiten liess. Daher bestand ich darauf, dass wir erstmal die korrekte Funktionsweise von ebendiesen diskutieren. Dabei prüften wir eine Funktion, erhielten daraus logische Hinweise auf die Fehlerquelle in einer anderen Funktion. Prüften diese erneut und sprangen zur nächsten Funktion. Am Ende konnten wir damit den Fehler an einer anderen, ganz unerwarteten Stelle nachweisen.</p>
<p>Im Nachgang daran habe ich mir gestern und heute ziemlich viel den Kopf verzbrochen, was da eigentlich passiert ist und was wir daraus für die Zukunft lernen können. Folgende Fragen stellen sich mir dabei: was lernen wir daraus? Können wir das in unserem Entwicklungsbetrieb nutzen? Welche Vorteile lassen sich dadurch erzielen? Meine Gedanken hierzu werde ich in den nächsten Tagen hier niederschreiben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/11/15/rationalitat-vs-intuition/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
