agile entwicklungsumgebung mit dvcs, jenkins und trello - agile bodensee konferenz 2013

16
Agile Entwicklungsumge bung mit DVCS, Jenkins und Trello

Upload: juergen-gutsch

Post on 26-Jun-2015

374 views

Category:

Technology


0 download

DESCRIPTION

Vortrag über eine günstige agile Entwicklungsumgebung mit DVCS, Jenkins und Trello auf der Agile Bodensee Konferenz 2013

TRANSCRIPT

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

Agile Entwicklungsumge

bungmit DVCS, Jenkins und Trello

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

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

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

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

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

Themen

• Distributed Version Control Systems• Git und Mercurial

• Continous Integration• Build-, Test- und Delivery Automation mit Jenkins-CI

• Planning & Collaboration• Trello

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

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

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

Warum DVCS

• Offline arbeiten• Schnelleres Arbeiten mit DVCS• Lokale Repositories• Leichteres Branching and Merging• Leichteres Feature Branching• Weniger Platz auf der Festplatte benötigt

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

Git vs. Mercurial

• Die Unterschiede sind im Detail, und meist in der Praxis nicht relevant• https://www.atlassian.com/dvcs/overview/dvcs-options-g

it-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)

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

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

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

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

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

CI mit Jenkins

• Open Source• Kostenfrei• Plattformunabhängig• Flexibel, Erweiterbar, über 600 Plug-Ins• Ressourcenschonend• Große Community• Selbsthostende Applikation, unter Windows als

Dienst

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

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

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

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

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

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

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

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

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

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

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

Vielen Dank

Fragen sie mich…

• Im Anschluss persönlich hier auf der Konferenz• Per E-Mail: [email protected]• Per Twitter: @sharpcms• Per Facebook: facebook.com/juergen.gutsch• Skype: juergen.gutsch