Agile
Entwicklungsumgebu
ng
mit DVCS, Jenkins und Trello
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
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
Themen
• Distributed Version Control Systems
• Git und Mercurial
• Continous Integration
• Build-, Test- und Delivery Automation mit Jenkins-CI
• Planning & Collaboration
• Trello
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
Warum DVCS
• Offline arbeiten
• Schnelleres Arbeiten mit DVCS
• Lokale Repositories
• Leichteres Branching and Merging
• Leichteres Feature Branching
• Weniger Platz auf der Festplatte benötigt
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)
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
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
CI mit Jenkins
• Open Source
• Kostenfrei
• Plattformunabhängig
• Flexibel, Erweiterbar, über 600 Plug-Ins
• Ressourcenschonend
• Große Community
• Selbsthostende Applikation, unter Windows als
Dienst
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
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
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
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
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
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

Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konferenz 2013

  • 1.
  • 2.
    Jürgen Gutsch • SoftwareDeveloper, 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ündereines 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 VersionControl Systems • Git und Mercurial • Continous Integration • Build-, Test- und Delivery Automation mit Jenkins-CI • Planning & Collaboration • Trello
  • 5.
    DVCS • Git undMercurial (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 • Offlinearbeiten • 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 mitDVCS • „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 • JedeCode Ä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 mitJenkins • 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 mitvielen 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 mitTrello • 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 FlexibleIDE 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 siemich… • 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