<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>XP - Development - XP</title>
    <link>http://www.xp-dev.de/</link>
    <description>Tägliche Programmierarbeiten, Agile Entwicklung und kleine Tools in php5 und asp.net</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2.1 - http://www.s9y.org/</generator>
    <managingEditor>info@xp-dev.de</managingEditor>
<webMaster>info@xp-dev.de</webMaster>
<pubDate>Thu, 13 Mar 2008 21:35:09 GMT</pubDate>

    <image>
        <url>http://www.xp-dev.de/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: XP - Development - XP - Tägliche Programmierarbeiten, Agile Entwicklung und kleine Tools in php5 und asp.net</title>
        <link>http://www.xp-dev.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Resource Refactoring</title>
    <link>http://www.xp-dev.de/index.php?/archives/30-Resource-Refactoring.html</link>
            <category>Refactoring</category>
            <category>XP</category>
    
    <comments>http://www.xp-dev.de/index.php?/archives/30-Resource-Refactoring.html#comments</comments>
    <wfw:comment>http://www.xp-dev.de/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.xp-dev.de/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Jan Schubert)</author>
    <content:encoded>
    Wer in .net mit Resourcen arbeitet, wird sich über dieses Tool wahrhaftig freuen! Es erweitert das Context Menü im Visual Studio für Refactoring und ermöglicht ein schnelles auslagern von Strings in die Resourcen.&lt;br /&gt;
&lt;br /&gt;
Zu finden ist es unter &lt;a href=&quot;http://www.codeplex.com/&quot; target=&quot;blank&quot;&gt;Codeplex&lt;/a&gt; oder direkt unter &lt;a href=&quot;http://www.codeplex.com/ResourceRefactoring&quot; target=&quot;blank&quot;&gt;Resource Refactoring&lt;/a&gt;! 
    </content:encoded>

    <pubDate>Wed, 12 Mar 2008 21:50:10 +0100</pubDate>
    <guid isPermaLink="false">http://www.xp-dev.de/index.php?/archives/30-guid.html</guid>
    
</item>
<item>
    <title>Ein neuer Versuch mit einem neuen Projekt!</title>
    <link>http://www.xp-dev.de/index.php?/archives/27-Ein-neuer-Versuch-mit-einem-neuen-Projekt!.html</link>
            <category>Agile Entwickung</category>
            <category>Scrum</category>
            <category>XP</category>
    
    <comments>http://www.xp-dev.de/index.php?/archives/27-Ein-neuer-Versuch-mit-einem-neuen-Projekt!.html#comments</comments>
    <wfw:comment>http://www.xp-dev.de/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.xp-dev.de/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Jan Schubert)</author>
    <content:encoded>
    Wir haben ein neues Projekt. Die Entwicklung soll mit insgesamt sechs Entwicklern von statten gehen. Wir haben uns wieder für die Programmiersprache c# entschieden, damit wir unseren Sourcecode testbar halten können. Die Entwicklungszeit wurde auf drei Monate geschätzt. Um wirklich alle Features in das Release integrieren zu können, dürften keine weiteren größeren Zwischenfälle auftreten.&lt;br /&gt;
&lt;br /&gt;
Da wir schon seit einem Monat bei der Entwicklung sind, möchte ich jetzt auch schon einmal ein Zwischenfazit ziehen.&lt;br /&gt;
Zum einen haben wir in diesem Projekt zum ersten Mal viel weniger Storykarten als sonst immer. Wir haben uns dazu entschlossen die Karten dieses Mal großer zu fassen, da in den vergangenen Projekten die Übersichtlichkeit aufgrund viel zu vieler kleiner Karten erheblich litt. Dies hat sich bereits jetzt schon bewährt. Es ist nun leicht die Übersicht über das Projekt zu behalten.&lt;br /&gt;
Da wir nun weniger Karten haben, haben wir nun endlich ausführliche Taskkarten zu den Storykarten eingeführt. Diese beschreiben den technischen Part der Entwicklung einer Story. Mit diesen Karten hat der Projektleiter allerdings nichts zu tun, diese sind nur für uns Entwickler gedacht.&lt;br /&gt;
Auch &#039;Continuous Integration&#039; funktioniert wunderbar. Jeder checkt seine Änderungen am Sourcecode mehrmals täglich in den gemeinsamen Datenbestand ein. Somit ist jeder immer auf dem aktuellsten Stand der Dinge. Hinzu kommt das unser Buildserver ständig alle Änderungen an diesem Projekt neu kompiliert und unsere Testassemblies komplett testet.&lt;br /&gt;
Was noch nicht so gut funktioniert hat, war die Planung vor Projektbeginn. Wir hatten zu wenige Informationen, um eine wirklich präzise Zeitabschätzung zu geben. Diese Fragen konnten wir mittlerweile durch den &#039;On-Site Customer&#039; klären und können somit auf ein positives Projektende hoffen. 
    </content:encoded>

    <pubDate>Fri, 25 Jan 2008 17:35:58 +0100</pubDate>
    <guid isPermaLink="false">http://www.xp-dev.de/index.php?/archives/27-guid.html</guid>
    
</item>
<item>
    <title>Testing</title>
    <link>http://www.xp-dev.de/index.php?/archives/6-Testing.html</link>
            <category>XP</category>
    
    <comments>http://www.xp-dev.de/index.php?/archives/6-Testing.html#comments</comments>
    <wfw:comment>http://www.xp-dev.de/wfwcomment.php?cid=6</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.xp-dev.de/rss.php?version=2.0&amp;type=comments&amp;cid=6</wfw:commentRss>
    

    <author>nospam@example.com (Jan Schubert)</author>
    <content:encoded>
    Das Testen des Quellcodes ist für mich mittlerweile etwas vollkommen selbstverständliches! Mittlerweile wir jede öffentliche Methode getestet! In c# besteht mittlerweile auch die Möglichkeit Methoden, die Internal sind, zu testen. Dazu muss lediglich das Attribut &quot;InternalsVisibleTo&quot; in der jeweiligen Assembly für die sogenannte &quot;Friend Assembly&quot; gesetzt werden! Somit besteht die Möglichkeit auch nicht öffentliche Methoden zu testen! Ob dies allerdings nötig ist, muss man selber abschätzen!&lt;br /&gt;
Als Faustregel gilt: &lt;strong&gt;Solange alle Tests für die öffentlichen Methoden laufen, sind auch die privaten Methoden korrekt!&lt;/strong&gt;&lt;br /&gt;
Trotzdem gibt es manchmal private Methoden bei denen es sich vielleicht doch lohnt, Tests zu schreiben! Dies empfiehlt sich dann, wenn recht viel Funktionalität dahinter steckt!&lt;br /&gt;
&lt;br /&gt;
Jetzt stellt sich noch die Frage, wann eigentlich getestet werden muss!? Mein Favorit ist ganz klar der &lt;strong&gt;Test-First&lt;/strong&gt; Ansatz! Hierbei wird zuerst der Test und erst dann die eigentliche Funktionalität geschrieben! Zudem wird nicht mehr Code geschrieben als eigentlich nötig ist, um den Test erfolgreich abschließen zu können! Für den ersten Test (siehe unten) reicht es vollkommen aus nur den Wert 15 zurück zu geben! Sobald der Kunde allerdings definiert, dass er verschiedene Zahlen addieren will, muss sich natürlich auch die Methode an sich ändern! Das ist ein einfaches Beispiel, mit dem ich klar machen möchte, das &lt;strong&gt;Simple Design&lt;/strong&gt; bei mir ganz weit oben steht! Das heißt, dass ich nie mehr programmiere als der Kunde von mir verlangt! Somit verhindere ich auch den &lt;strong&gt;Code auf Vorrat&lt;/strong&gt;!&lt;br /&gt;
&lt;br /&gt;
Hier nochmal ein paar hilfreiche Links, die das Testen wesentlich erleichtern:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://testdriven.net/&quot; target=&quot;blank&quot; title=&quot;Testdriven&quot;&gt;Testdriven&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.nunit.org/&quot; target=&quot;blank&quot; title=&quot;NUnit&quot;&gt;NUnit&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.jetbrains.com/resharper/&quot; target=&quot;blank&quot;  title=&quot;Refactoring&quot;&gt;ReSharper&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.jetbrains.com/unitrun/&quot; target=&quot;blank&quot; title=&quot;UnitRunner&quot;&gt;UnitRunner&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.jetbrains.com/profiler/&quot; target=&quot;blank&quot; title=&quot;Profiler - dotTrace&quot;&gt;Profiler&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.ncover.org/&quot; target=&quot;blank&quot; title=&quot;NCover&quot;&gt;NCover&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.ncoverexplorer.org/&quot; target=&quot;blank&quot; title=&quot;NCoverExplorer&quot;&gt;NCoverExplorer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.aisto.com/roeder/dotnet/&quot; target=&quot;blank&quot; title=&quot;Reflector&quot;&gt;Reflector&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.typemock.com/&quot; target=&quot;blank&quot; title=&quot;TypeMock&quot;&gt;TypeMock&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/vstudio/teamsystem/&quot; target=&quot;blank&quot; title=&quot;TeamSystem&quot;&gt;TeamSystem&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;a href=&quot;http://www.xp-dev.de/index.php?/archives/6-Testing.html#extended&quot;&gt;Continue reading &quot;Testing&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 07 Jan 2007 10:31:04 +0100</pubDate>
    <guid isPermaLink="false">http://www.xp-dev.de/index.php?/archives/6-guid.html</guid>
    
</item>
<item>
    <title>Standup-Meeting</title>
    <link>http://www.xp-dev.de/index.php?/archives/5-Standup-Meeting.html</link>
            <category>Scrum</category>
            <category>XP</category>
    
    <comments>http://www.xp-dev.de/index.php?/archives/5-Standup-Meeting.html#comments</comments>
    <wfw:comment>http://www.xp-dev.de/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.xp-dev.de/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Jan Schubert)</author>
    <content:encoded>
    Unser Team trifft sich täglichen um Punkt 9.30 Uhr zum Standup-Meeting! Jeder berichtet kurz, welche Stories er am Tag davor bearbeitet hat und welche Besonderheiten es gab. Es passiert auch häufiger mal, dass sich daraus eine Diskusion entwickelt, diese wird dann aber umgehen unterbrochen, weil das Standup-Meeting nur zum Berichten des Projektfortschrittes gedacht ist. Diskusionen können im Nachhinein ausführlich und nur mit den direkt betroffenen Personen ausgetragen werden.&lt;br /&gt;
&lt;br /&gt;
Wenn die Entwickler berichtet haben, was sie am vorigen Tag alles geschafft haben, kommt auch noch mal der Projektleiter und ausgewählte Kunden zu Wort. Diese berichten dann von aktuellen Ereignissen! Dadurch können wir unser Tagesgeschäft besser planen und effektiver an unseren Stories arbeiten! 
    </content:encoded>

    <pubDate>Fri, 05 Jan 2007 20:07:58 +0100</pubDate>
    <guid isPermaLink="false">http://www.xp-dev.de/index.php?/archives/5-guid.html</guid>
    
</item>

</channel>
</rss>