Agile Technical Practices

Agile Technical PracticesAgile Programmiertechniken – zweitägige praxisnahe Intensivkurse!

Technische Kurse für Softwareentwickler, die neue Praktiken kennenlernen oder ihr Wissen über effektive Programmiertechniken erweitern möchten.

Unter Anleitung erfahrener Fachleute lernen Sie modernste Programmiertechniken in der Praxis kennen, wie zum Beispiel Team Work mit Pair Programming, Test Automation und Test Pyramiden, Refactoring, Test Driven Development (TDD), die vier Regeln des Simple Design, SOLID Design Principles, Clean Code, sowie Continuous Integration and Delivery.

Kursangebot für Anfänger und Fortgeschrittene.


Grundlagen von Continuous Delivery

DevOps und ganz generell die Prinzipien und Praktiken von Continuous Delivery bilden die technische Seite der Agilität; sie ermöglichen es einer Organisation, ein Produkt häufig mit höherer Qualität und Sicherheit zu releasen.

In diesem Kurs analysieren wir die Welt von Continuous Delivery, ausgehend von den ursprünglichen Prinzipien bis hin zu den Praktiken für die tatsächliche Umsetzung. Gemeinsam werden wir verstehen, wie Continuous Delivery in all ihren Formen erreicht werden kann, wobei das Continuous Testing als erste zu untersuchende Praxis im Detail vertieft wird.

Kursinhalte:

  • Definition: DevOps und Continuous Delivery
  • Prinzipien von Continuous Delivery
  • Praktiken von Continuous Delivery
    • Continuous Quality
    • Continuous Testing
    • Continuous Integration
    • Continuous Deployment
    • Continuous Monitoring
  • im Fokus: Continuous Testing
  • Test Pyramiden
  • eine Quality Test Suite
  • Test Suite Ungereimtheiten
  • wie kann man eine Continuous Delivery Kultur etablieren und weitergeben

E-TDD – Effective Test Driven Development:

Grundlagenkurs für agile Programmiertechniken, mit speziellem Fokus auf eXtreme Programming. Der Kurs bietet das nötige Basiswissen für Teams, um die Qualität ihrer Arbeit nachhaltig und langfristig zu verbessern, indem sie flexiblen, leicht modifizierbaren und wartungsfreundlichen Code liefern. Im Kurs folgen auf jede Phase theoretischer Wissensvermittlung praktische Übungen für die Anwendung und Umsetzung der neuen Kenntnisse.

Kurssprache und Kursmaterial sind auf Englisch.

Start learning Agile Technical Practices in this intensive, hands-on class. Guided by experienced practitioners, you will learn the basics of Test-Driven Development (TDD), Pair Programming, Iterative and Incremental Development, Emergent Design, applying robust software design principles, and working with frameworks and libraries.

Possible Course Agenda:

  • TDD as a software design technique & testing tool
  • Where TDD fits in the overall picture of software testing
  • History of TDD and when to use it
  • Concepts of unit testing and microtesting
  • Code isolation
  • Detroit school or “classic” style TDD practicum
  • Inside-out design
  • Test coverage metrics – meaning and use
  • Characteristics of effective test cases
  • Organisation and naming considerations for test suites
  • Test-driving code that interacts with frameworks and libraries
  • IDE and VCS integration
  • Value of collaborative work
  • Pair programming basics, anti-patterns, different styles
  • Test suites as design documentation
  • Up-front and emergent design and how to balance them
  • Software design principles
  • Behavior-focused vs. implementation-aware tests
  • Guiding design through microtests – practicum
  • Branching strategies

M-TDD Mastering Test Driven Development:

Ein nächster Schritt hin zum Experten für agile technische Praktiken: dieser Kurs mit fortgeschrittenen Inhalten baut auf dem auf, was Sie im Grundkurs gelernt haben, mit Lerninhalten wie outside-in Software Design, Vorstellung ausgefeilterer Varianten des Pair Programming sowie Einsatz eines Mixes aus verschiedenen TDD Techniken.

Bitte beachten: Dies ist ein Kurs mit fortgeschrittenen Inhalten. Der Besuch unseres Basiskurses “Effective TDD” oder eines ähnlichen Grundlagenkurses ist eine Voraussetzung für die Teilnahme. Bitte kontaktieren Sie uns, um weitere Details abzuklären.

Kurssprache und Kursmaterial sind auf Englisch.

Possible Course Agenda

  • Outside-in and inside-out design
  • Test doubles – mocks, stubs, fakes
  • Test case design guidelines for outside-in design
  • Balancing inside-out and outside-in design
  • Guiding outside-in design through microtests
  • Review of software design principles
  • Common code smells and remedies
  • Establishing a test baseline: Golden Master approach
  • Establishing a test baseline: Read by Refactoring approach
  • Identifying seams in code
  • Writing characterization tests
  • Breaking dependencies to enable microtesting
  • Practicum:
    – identifying code smells – finding seams
    – breaking dependencies – building test coverage

Zielgruppe:

Softwareentwickler, die effektive Programmiertechniken kennenlernen oder Ihr bereits bestehendes Wissen erweitern möchten. Im Kurs wird Java als Programmiersprache verwendet für Beispiele und Übungen, die Teilnehmer können aber gerne auch eine andere Sprache ihrer Wahl auf dem eigenen Laptop verwenden.

Bitte beachten: Es handelt sich um einen weitestgehend praxisorientierten Kurs – bitte den eigenen Computer mit Entwicklungsumgebung mitbringen.

Trainer:

Dieser Kurs wird von namhaften Experten in der internationalen eXtreme Programming Community durchgeführt.

Kursformat:

Der Kurs wird sowohl als öffentlicher als auch als in-house Kurs angeboten. Bei Interesse an einem in-house Kurs in Ihrem Unternehmen kontaktieren Sie uns bitte über das untenstehende Kontaktformular. Wir bearbeiten Ihre Anfrage unverzüglich und melden uns schnellstmöglich bei Ihnen.