2. Jürgen Gutsch
• Software Developer, Trainer und Berater bei der
YooApplications AG in Basel www.yooapps.com
• Freier Trainer und Berater
• Blogger aspnetzone.de/blogs/juergengutsch
• Fachautor
• Speaker
• Community Lead des .NET-Stammtisch Konstanz-
Kreuzlingen: dotnetkk.de
• .NET-begeisterter Developer seit 2001
3. Motivation
• Ehem. Gründer eines Software Startups
• Das Startup erforderte günstige Tools
• Das Startup erforderte flexible Tools
• (Prozessunabhängig)
• Das Startup erforderte flexible Techniken
• Das Project Setup musste minimal sein
• Kunden sollten die Tools verstehen können
4. Themen
• Distributed Version Control Systems
• Git und Mercurial
• Continous Integration
• Build-, Test- und Delivery Automation mit Jenkins-CI
• Planning & Collaboration
• Trello
5. DVCS
• Git und Mercurial (Hg) sind gängige Systeme
• Für allen Plattformen
• Große Communities
• Kostenfreies Hosting bei
• Bitbucket
• Github
• Codeplex
• Team Foudation Services (ja, wirklich!!)
• Einfache Installation auf eigenen Servern
6. Warum DVCS
• Offline arbeiten
• Schnelleres Arbeiten mit DVCS
• Lokale Repositories
• Leichteres Branching and Merging
• Leichteres Feature Branching
• Weniger Platz auf der Festplatte benötigt
7. Git vs. Mercurial
• Die Unterschiede sind im Detail, und meist in der Praxis
nicht relevant
• https://www.atlassian.com/dvcs/overview/dvcs-options-git-
or-mercurial
• Pro Git
• Staging
• Änderbare Historie
• Größere Community, Quasi Standard
• Pro Mercurial
• Einfacher zu lernen
• Nicht änderbare Historie
• Bessere GUI Unterstützung (Windows)
8. Agil arbeiten mit DVCS
• „Deliver a working inkrement of the Software“
• Features in Branches isolieren („Feature Branching“)
• Nur fertige Features in den Haupt-Branch mergen
Bildquelle: http://martinfowler.com/bliki/FeatureBranch.html
9. Continous Integration
• Jede Code Änderung automatisch
• Bauen
• Testen
• ggf. Ausliefern
• Frühes Feedback für die Entwickler
• Frühes Feedback für das gesamte Team, inkl. dem
Kunden
10. CI mit Jenkins
• Open Source
• Kostenfrei
• Plattformunabhängig
• Flexibel, Erweiterbar, über 600 Plug-Ins
• Ressourcenschonend
• Große Community
• Selbsthostende Applikation, unter Windows als
Dienst
11. Agil Arbeiten mit Jenkins
• Frühes Feedback bei Code-Änderungen
• Jede Code-Änderung löst Build aus
• Der erfolgreiche Build erzeugt eine
• lauffähige Software
• getestete Software
• Kunden über erfolgreiche Builds Benachrichtigen
• Kunden erfolgreiche Builds direkt ausliefern
• Oder gleich Installieren
• Kunden Build anstoßen lassen
12. Planning & Collaboration
• Gemeinsames Arbeiten von Kunde und Team
• Frühes Kundenfeedback
• Feature-Priorisierung durch den Kunden
• Whiteboard erfordert Physikalische anwensenheit
• Elektronisches Board ist intuitiv Bedienbar
13. Trello
• Kostenfrei mit vielen Features
• Interaktives Board mit flexibler Anzahl an Spalten
• Mehrere Prozesse sind möglich
• Stories/Features werden als Kärtchen dargestellt
• Drag&Drop der Kärtchen
• Websocket für UI-Aktualisierung
• Web UI, Cross-Browser und Cross-Plattform fähig
14. Agil Arbeiten mit Trello
• Scrum-Planning mit mehreren Boards möglich
• Kanban Planing mit mehreren Spalten möglich
• Kunde kann Zugang zum System bekommen
• Sofortiges Feedback bei Änderungen auf der UI
• Planungen über Entfernungen mit Trello Ideal
• Verschieben von Kärtchen über Boards möglich
15. Fazit
• Eine Flexible IDE muss nicht viel kosten
• Kostenfreie Tools können die Anforderungen
kleiner Unternehmen und Startups voll decken
• Große Communities sorgen für den Support der
Tools
16. Vielen Dank
Fragen sie mich…
• Im Anschluss persönlich hier auf der Konferenz
• Per E-Mail: juergen@gutsch-online.de
• Per Twitter: @sharpcms
• Per Facebook: facebook.com/juergen.gutsch
• Skype: juergen.gutsch