Steering Agile Architecture

With Tudor Girba November, 13th - 14th, 2017 in Hamburg

The architecture of the system is important and it deserves special attention because it is too easy for it to go wrong in the long run, and it is too expensive when that happens. In this course, we take a systematic look at what architecture is, and we detail a method of approaching the challenge of steering it on a daily basis through:

  • making architectural concerns explicit,
  • crafting automated checkers,
  • agreeing on findings,
  • and distilling corrective actions.

This approach requires the team to build custom tools and use them to guide decisions actively. This requires new skills and an appropriate technical infrastructure. However, this is a technical detail. The critical benefit comes from making architectural decisions explicit, and from the daily actions of cleaning the state of the system.

The course will be held in english!

About the Trainer: Tudor Girba

Tudor Gîrba (tudorgirba.com) is a software environmentalist and co-founder of feenk gmbh, a consulting and coaching company (feenk.com). Tudor leads the work on the Moose platform for software and data analysis (moosetechnology.org), he initiated the Glamorous Toolkit project for rethinking the IDE (gtoolkit.org), and he is a board member of the Pharo live programming language (pharo.org). He authored the humane assessment method to help teams solve real problems without reading code (humane-assessment.com). Tudor also argues that storytelling should be prominent in software development (demodriven.com). In 2014, he won the prestigious Dahl-Nygaard Junior Prize for his work on the modeling and visualization of evolution and interplay of large numbers of objects (aito.org). Tudor holds a PhD from the University of Bern.


Target Audience

 

Steering agile architecture is a challenge regardless of the type of system or chosen architecture and it should concern everyone involved in building the system. That is why, this course is targeted to both engineers and managers. We cover the multiple facets of the process, and we accompany the conceptual descriptions with real life examples from multiple case studies.


Teaser Video

Watch the 3 minute introductory video.


Course Outline

The course tackles three parts in a non-linear fashion guided by live interactions with the audience.

Approaching architecture

 

What is software architecture:

  • Paper architecture vs. real architecture
  • When is architecture important?
  • Who should care about architecture?
  • Architecture and architects
  • Architecture and requirements
  • Architecture and testing
  • Architecture and pair programming
  • Architecture and code review
  • Architecture and code reading

Architecture and agility:

  • Architecture as an emergent property
  • Emergent properties and complex (as different from complicated) games

Growing architecture

Architecture and technical debt:

  • Architecture and quality
  • The benefits and limitations of the technical debt metaphor
  • Beyond technical debt: software habitability as a positive metaphor

Architecture as a collaboration:

  • Architecture as a commons
  • Architecture as a work in progress
  • Architecture as a negotiation
  • Small fixes and long term goals

The daily assessment game:

  • The roles: stakeholder and facilitator
  • Integrating daily assessment in the development process
  • Dealing with the queue of technical tasks
  • Examples of daily group decisions and actions

Exposing architecture

 

Detecting and testing architecture drifts

  • The limited impact of out-of-the-box detections
  • The need for contextual detection
  • Testing architecture
  • Hypothesizing and the humane assessment method of crafting custom tools during development

Introduction in software analysis:

 

  • Overview of what software analysis is and how it helps software architecture
  • How developers already unknowingly know software analysis
  • Code as data
  • Beyond basic code structure: annotations, configurations, tests etc.
  • How to think of analyses: static vs. dynamic, history vs. one version, code vs. bytecode, metrics vs. queries vs. visualizations

Software in pictures:

  • What is information and software visualization?
  • Principles of visualization
  • Visualizing software systems
  • Visualization as a transformation
  • Visualization as an opportunity
  • Combining queries and visualizations

Preise

Der Kurs kostet 1.785,00 EUR inkl. MwSt. (1.500,00 EUR netto). Mittagessen und Tagungsgetränke sind im Preis enthalten.
Für Frühbucher (6 Wochen vor dem jeweiligen Termin) gewähren wir 10% Rabatt bei Anmeldung über unsere Homepage. Der zweite (und jeder weitere) Teilnehmer aus derselben Firma bekommt 10% Rabatt bei Anmeldung über unsere Homepage. Beide Rabatte sind nicht kombinierbar.

Termin

  • 13.-14. November 2017 in Hamburg

Anmeldung zur Schulung "Steering Agile Architecture"

Newsletter

Mit der Anmeldung bestätigen Sie, dass Sie unsere Allgemeinen Geschäftsbedingungen gelesen haben und mit ihnen einverstanden sind.

Fragen?

Schicken Sie uns eine E-Mail oder rufen Sie uns an: 040 413 58 48 0.