CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne +...

8
München, 28. bis 30. Juni 2016 CLEAN CODE DAYS 2016 Organizer Platinsponsor A conference about intuitively understandable software engineering 28.-30.06.2016 Munich Die Konferenz mit dem Fokus auf das Testen im Embedded Umfeld Medienpartner

Transcript of CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne +...

Page 1: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

München,28. bis 30. Juni 2016

CLEANCODE

DAYS2016

Organizer

Platinsponsor

A conference about

intuitively understandable

software engineering

28.-30.06.2016

Munich

Die Konferenz mit dem Fokus auf das Testen im EmbeddedUmfeld

Medienpartner

Page 2: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

Herzlich Willkommen zu der Embedded Testing Konferenz!

Als wir diese Konferenz im vergangenem Jahr zum ersten Mal aufgesetzt haben,war die folgende Analyse unsere Motivation gewesen: Es gibt zwar allgemeineKonferenzen zum Thema Testen oder allgemeine Konferenzen zum ThemaEmbedded, aber bei beiden Konferenztypen ist Embedded Testing jeweils nur einRandgebiet. Die Teilnehmerzahl unserer neuen Konferenz zeigt uns, dass wirhier eine interessante Nische gefunden haben. Im Vergleich zum letzten Jahrkonnten wir die Teilnehmerzahl um über 30% steigern.

Parallel zur Embedded Testing finden die Clean Code Days statt, die ebenfallsdas Thema Testing zum Schwerpunkt haben. Als Teilnehmer der EmbeddedTesting können Sie selbstverständlich auch diese Vorträge besuchen. Auf Seite 4 und 5 finden Sie die Agenda beider Konferenzen zusammengefasst.

Erstmals haben wir keinen Feedbackbogen in Papierform, sondern sind auf einezweigeteilte Variante umgestiegen. Sie haben zusammen mit IhremNamensschild grüne Klebepunkte erhalten – nach jedem Vortrag können Sie denVortrag direkt auf einem Plakat (einer sogenannten Happiness Door) bewerten.

Für die konferenzbezogenen Fragen haben wir eine internet-basierte Variante entworfen. Sie können die Beantwortung derFragen jederzeit beenden und zu einem späteren Zeitpunkt fortsetzen, solange Sie dies auf dem selben Gerät (Smartphone,Tablet oder Notebook) durchführen. Ihre Daten bleiben erhalten. Der QR Codeführt Sie direkt zum Feedback, Sie können aber auch die Webseite manuelleingeben: https://de.surveymonkey.com/r/FeedbackET

An dieser Stelle möchten wir uns ganz herzlich bei unserem Platin Sponsor QA Systems sowie den Ausstellern Intland Software, Software Quality Lab, Vector Software und Verifysoft Technology bedanken, die maßgeblich zum Gelingender Konferenz beigetragen haben. Nehmen Sie sich die Zeit und besuchen Siedie Stände in den Pausen.

Wenn Sie Fragen haben, können Sie sich jederzeit an der Registrierung melden,wir helfen Ihnen gerne weiter. Die Vortragsfolien werden wir ca. in zwei Wochenzum Download bereitstellen, Sie werden per E-Mail benachrichtig, sobald diesezur Verfügung stehen.

Wir wünschen Ihnen eine interessante Konferenz und vor allem ein produktives Networking.

Ihr Team von der HLMC Events GmbH

Dear attendees of the Clean Code Days,

we welcome you at the fourth Clean Code Days. We offer besides a lot of talksalso three short-workshops in the agenda this year all taking place in roomLondon on the first conference day. We also integrated a Closing Keynote in theagenda for the first time which is looking back on the Clean Code Days.Another highlight is the proven Coding Dojo with Björn Kimminich from Kuehne+ Nagel on the evening of the first conference day in room Rom. The motto ofthis year is “Bot Wars”.

The Embedded Testing is taking place parallel to the Clean Code Days like lastyear. As attendee of the Clean Code Days you can visit the talks of the EmbeddedTesting of course. The agenda of both is on page 4 and 5.

We got no feedback in hardcopy form for the first time this year. We decided totake a two way model. You got glue dots at the registration to rate the talkdirectly afterwards at the exit of the room on a so called “Happiness Door”.For the conference based questions we designed a feedback form on the internet.You can stop the answering of the questions any time and continue at the same point as long as you stay on the same device.The QR Code leads you directly to the feedback. You can alsouse the URL https://de.surveymonkey.com/r/ccdays2016

You can come to the regsitration any time if you got any questions, we are gladto assist you. The handouts will be provided for download in about two weeks,we will inform you by E-Mail as soon as they are available.

We wish you an interessting conference and especially an efficient networkingamong each other.

Your team of the HLMC Events GmbH

Gerhard Versteegen Franziska Mai Alexander Bertler

Welcome

Platinum sponsor

Exhibitors

Page 3: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

Tuesday, June 28th 2016, 10:00 am - 6:00 pm

Full-day Workshop GTWS1: Lean PokerRafael Ördög, Emarsys

Lean Poker is this: you and a small group of strangers are going to develop a bot in a language of your choice,that plays poker against other bots. (Don't worry if you don't know poker, we will teach you.) All you need to dois write a function that takes a data structure containing cards and bets your bot sees during the game, and return a single number: the amount you are willing to bet at that point.

Now here is the catch: even before you start coding the bots play a round in a matter of seconds, and if your bot wins you getpoints. If it comes second, you get less points. Otherwise you get nothing. The next minute another game plays, and anotherone, and another one… that goes on all day long, while you and your friends are desperately hacking away on the code, andkeep deploying, deploying, and deploying. Don’t worry about the deployment pipeline, that’s already set up for you.

During this pretty intense day you will sometimes be cheering for your bot to take over, you will be deploying desperately tochange the course of events when your bot keeps losing, but even more importantly you will learn how to create as much valueas you can in a short period of time, while you are mostly just having fun.

Please check out http://leanpoker.org for more information.

Full-day Workshop GTWS2: Test Driven Development in der PraxisHendrik Lösch, Saxonia Systems GmbH

Wer hat noch nicht von Test Driven Development gehört. Dieses unvergleichlich tolle Vorgehen, welchesArchitekturen vereinfacht, die Produktivität steigert und dabei den Spaß an der Entwicklung fördert. Versucht man es dann jedoch in der Praxis einzusetzen, ergibt sich nicht selten Ernüchterung.

Aus diesem Grund geht dieser Workshop näher auf die Hintergründe von TDD und agiler Softwareentwicklung ein. So führt erkurz in das Thema ein und zeigt anschließend unterschiedliche Ausprägungen des Vorgehens, samt Vergleich deren Vor- undNachteile sowie Praxistauglichkeit. Sie erfahren dabei was sich hinter der Transformation Priority Premise verbirgt und in wie weitTDD bei der Einhaltung der SOLID Prinzipien helfen kann.

Ziel ist es, dass Sie am Ende des Workshops selbst entscheiden können wie viel TDD wirklich gut für Ihr Projekt ist und welchenAufwand Sie tatsächlich dafür in Kauf nehmen wollen.

Der Workshop ist sowohl für TDD-Anfänger geeignet als auch für Personen, die eine andere Sichtweise auf das Vorgehen erhalten wollen.

Tuesday, June 28th 2016, 2:00 pm - 6:00 pm

Half-day Workshop HTWS1: Hands-On Test-RefactoringMarco Emrich, webmasters akademie GmbH

TDD hilft dabei, wartbare Tests auf Unit-Ebene zu entwickeln. Doch auch diese Tests sind zu pflegen. Trotz besterIntention sind Tests oft nicht optimal geschnitten, enthalten überflüssige Abhängigkeiten oder kompliziertes Setup.Gezieltes Refactoring kann hier Abhilfe schaffen. Tests, die statt Test-getrieben erst im Nachhinein entstanden sind, stellen meist noch größere Herausforderungen dar.

In diesem Workshop lernen Sie anhand eines Praxisbeispiels, wie Sie eine Legacy-Testsuite, die so gar nicht "clean" ist, Schritt fürSchritt mittels Test-Refactoring in lesbare und wartbare Tests verwandeln.

Workshops

Page 4: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

09:00

09:05

10:05

10:35

10:20

11:30

12:15

13:25

14:10

14:20

15:05

15:35

16:20

16:30

from17:15

from18:10

Erfahrungen mit der schrittweisenEtablierung von Clean Code im sicher-heitskritischen UmfeldJan Haulsen, BeOne GmbHErik Wucher, BridgingIT GmbH

A step beyond modulesRafael Ördög, Emarsys

Clean COBOL CodeTobias Voß, viadee Unternehmensberatung GmbH

SOLID - das Clean Code FundamentCarsten Schmidt, CTS EVENTIM AG & Co.KGaA Service GmbH

Clean Code durch Pointfree-ProgrammingMarco Emrich, webmasters akademie GmbH

Ist das Kunst, oder kann das weg?Vinko Novak, Cassini Consulting

SHORT WORKSHOP:Clean Code Code Retreatwith it-econonics GmbHKatharina Knaus, it-economics GmbH

SHORT WORKSHOP:Hands on use case centricarchitectureAndreas Hager, Andreas Hager Gaming

SHORT WORKSHOP:How invariants help writingloopsSander Kooijmans, HighTech ICT

Verifikation im Bereich FunktionaleSicherheitGudrun Neumann, SGS-TÜV Saar GmbH

Static and Dynamic Code Analysis in aContinuous Testing ProcessMatthias Schmidt, Bosch Engineering GmbH

Entwicklung einer Steuersoftware fürdie Produktfamilie der RegelstangenDieselmotoren nach Kategorie ADr. rer. nat. Evgeni Schumm, Konzept Informationssysteme GmbH

Become a language designer: Test DSLsfor embedded systemsVassilis Riyopoulos, Zühlke

Testen von sicherheitsgerichteterSoftware nach IEC 61508Thomas Sauter and Oliver Schönfeld,NewTec GmbH

Zertifizierung erforderlich – Wie bitte?Gudrun Neumann, SGS-TÜV Saar GmbH

Verifikation der Software von SensorLösungen bei der ams AGStephan Puri-Jobi, ams AG

Requirements-based Testing forEmbedded Devices to Achieve ISO 26262ComplianceJanos Koppany, Intland Software

Konsistente und wiederholbare Metrikenfür die Verwaltung von TestaktivitätenIngo Nickles, Vector Software

Practical Requirements Traceability forDeveloper TestingMatt Davis, QA Systems GmbH

State of The Art Testautomatisierung fürSteuerungs- und Embedded-Systeme mitHIL-TestständenJohannes Bergsmann, Software Quality Lab GmbH

Automatisierung von funktionalen undvisuellen Embedded HMI TestsReginald Stadlbauer, froglogic GmbH

Schnell-Lesen für InformatikerPeter Rösler

Opening of the Embedded Testing

Opening Keynote: Grenzen der Testens von SoftwareReinhard Wilhelm, Universität des Saarlandes

Opening of the Clean Code Days

Opening Keynote: The Lone Stranger or: You can't establish Clean Code on your ownCarsten Windler, Holidaypirates GmbH

L U N C H B R E A K / L U N C H B U F F E T A N D V I S I T I N G O F T H E E X H I B I T I O N

C O F F E E B R E A K A N D V I S I T I N G O F T H E E X H I B I T I O N

C O F F E E B R E A K A N D V I S I T I N G O F T H E E X H I B I T I O N

Get together - Excellent networking with participants, speakers and exhibitors

Room Rom Room Madrid Room Paris

Embedded Testing Clean Code

Room London

T i m e f o r r o o m c h a n g e

T i m e f o r r o o m c h a n g e

T i m e f o r r o o m c h a n g e

Coding Dojo “Bot Wars”Björn Kimminich, Kuehne + Nagel (AG & Co.) KG

1st conference day, June 29th 2016

Subject to change

Page 5: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

2nd conference day, June 30th 2016

Subject to change

09:00

09:45

09:55

10:40

11:10

11:55

12:05

12:50

14:00

14:45

14:55

15:40

16:10

17:10

SHORT WORKSHOP:Warum Sie für Qualität verantwortlich sind undwarum Sie sie niemals erreichen werdenFrank Lange, Agilefokus UG andAndreas Lowinger

SHORT WORKSHOP:Wir machen 99% testbarJohannes Hochrainer, Software Quality Lab GmbH

From rowing boats to container ships - a journey to continuous deliveryTobias Getrost, 1&1 Telecommunication SE

Bringing Clean Code to Large ScaleLegacy C++ ApplicationsArne Mertz, Zühlke Engineering

Batman v Supername: Dawn of Legacy CodeBjörn Kimminich, Kuehne + Nagel (AG & Co.) KG

Continuous Refactoring - prophylaxis,surgery and spring-cleaning for source codeUrs Enzler, bbv Software Services AG

Clean Communication - No Space for AmbiguitiesJohannes Dienst, MULTA MEDIO Informationssysteme AG

Benefits of Clean Code in the Cloud anddaily businessChristian Jantz, Safewrd Ventures OÜ

Live and Let Die: robust testing thefancy waySebastian Heglmeier und Daniel Zappold, improuv GmbH

Let Tests Drive or let Dijkstra Derive?Sander Kooijmans, HighTech ICT

Durchgängige Berücksichtigung desRessourcenverbrauchs durch automatischestatische AnalyseDr. Jörg Herter, AbsInt Angewandte Informatik GmbH

Clean Unit TestsJohannes Hochrainer, Software Quality Lab GmbH

Clean Test Code durch Test-RefactoringMarco Emrich, webmasters akademie GmbH

Software Unit Test: Autonome Fahrzeugegetestet mit Luftfahrt Best Practise!Martin Heininger, HEICON - Global Engineering

Testgetriebene Entwicklung mitSimulink® und Stateflow®

Evgeni Verbitski, TechCoaching GmbH

Design- und Code-Reviews für EmbeddedSoftwarePeter Rösler

Acceptance TestingAndreas Mautz, Entwicklungshilfer NRW

Mit Covered by Analysis zu einer hundertprozentigen CodeabdeckungIngo Nickles, Vector Software

Erhellendes und Erschreckendes zurCodeüberdeckungsmessungFrank Büchner, Hitex GmbH

Wegweiser zur Auswahl einesWerkzeuges zur statischen CodeanalyseRoyd Lüdtke, Verifysoft Technology GmbH

L U N C H B R E A K / L U N C H B U F F E T A N D V I S I T I N G O F T H E E X H I B I T I O N

C O F F E E B R E A K A N D V I S I T I N G O F T H E E X H I B I T I O N

C O F F E E B R E A K A N D V I S I T I N G O F T H E E X H I B I T I O N

End of the Clean Code Days and Embedded Testing 2016

Room Rom Room Paris Room Madrid

Embedded Testing Testing & Clean Code Embedded Testing Clean Code

Room London

Room Rom Room Madrid

Embedded Testing

T i m e f o r r o o m c h a n g e T i m e f o r r o o m c h a n g e

T i m e f o r r o o m c h a n g e T i m e f o r r o o m c h a n g e

T i m e f o r r o o m c h a n g e

Closing Keynote: Lessons Learned? A retrospective view of the Clean Code Days2016Michael Puder, generic.de software technologies AG and Ralf Schoch, CoDeSo – Consulting, Development & Solutions

Clean Code

Page 6: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

Wednesday, June 29th 2016, 9:05 am - 10:05 am

Opening Keynote CleanCode Days

The Lone Stranger or: You can't establish Clean Code on your ownCarsten Windler, Holidaypirates GmbH

You'd love to use Clean Code principles in your project, but you seem to be all alone in the world? If you try to establish Clean Code all by yourself, you will end with rolling the sameboulder up the hill again and again, because you can either start fixing the code of others, or try to keep your code clean and watch the rest of the code rot. Both are options, but notgood ones. So what can you do?

This talk can roughly be separated into two parts. Firstly we talk about why you need help to get Clean Code into your products, and provide you some bullet-proof arguments which"the Management" can't deny. But it's not only about the Management - you have to convince your co-workers, if they are not yet into it. "But Uncle Bob says..." will not be enough,especially in the PHP world.

Nobody can write perfect code at first; it will always require iterations to improve it. So secondly, we'll introduce some basic Clean Code related measures, which can be added even toexisting projects one by one. Here we'll see how to generally support the daily development and refactoring process. Starting with relatively simple measures like Code Styling andCode Reviews, over to Automated tests, Code Metrics and finally Continuous Integration.

All examples will be in PHP, or PHP-related. However developers from other languages are more than welcome, as we don't dive deep into the language features and are happy tolearn from others.

Opening Keynote Embedded Testing

Grenzen der Testens von SoftwareReinhard Wilhelm, Universität des Saarlandes

Die formale Verifikation funktionaler Korrektheit von Software ist schwierig und aufwendig. Sie wird deshalb auch in Zukunft nur für höchstkritische Programmedurchgeführt werden. Sorgfältiges Testen bleibt unverzichtbar.

Für nichtfunktionale Eigenschaften gibt es praxistaugliche und praxiserprobte Alternativen, z.B. statische Programmanalyse. Korrekte statische Analysen sind, anders als Testen, in derLage, Garantien für die Abwesenheit gewisser Arten von Fehlern zu geben. Der Vortrag stellt die Grundlagen der Validierung von Software und die Vorteile und Beschränkungen ver-schiedener Methoden vor und geht dann näher auf die Verifikation von Echtzeiteigenschaften ein.

Thursday, June 30th 2016, 4:10 pm - 5:10 pm

Closing Keynote CleanCode Days

Lessons Learned? A retrospective view of the CleanCode Days 2016Michael Puder, generic.de software technologies AG and Ralf Schoch, CoDeSo – Consulting, Development & Solutions

As an attendee of the conference, you where following one of the Clean Code Developers practice: "Attend Conferences". Good.

But, no improvement, no progress, no learning, without reflexion!

Following this practice, we'll take a brief, retrospective look at selected sessions of the Clean Code Days 2016, and recap the most important, thrilling or valuable content for yourreflexion on your way home.

Keynotes

Page 7: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

11

Specials

Wednesday, June 29th 2016, 10:35 am - 12:25 pm

Clean Code Code Retreat with it-econonics GmbHKatharina Knaus, it-economics GmbH

Wednesday, June 29th 2016, 1:25 pm - 3:05 pm

Hands on use case centric architectureAndreas Hager, Andreas Hager Gaming

Wednesday, June 29th 2016, 3:35 pm - 4:20 pm

How invariants help writing loopsSander Kooijmans, HighTech ICT

Wednesday, June 29th 2016, from 6:10 pm

Coding Dojo "Bot Wars"Björn Kimminich, Kuehne + Nagel (AG & Co.) KG

Wednesday, June 29th 2016, from 6:10 pm

Schnell-Lesen für InformatikerPeter Rösler

Wednesday, June 29th 2016, 9:00 am - 10:40 am

Warum Sie für Qualität verantwortlich sind und warumSie sie niemals erreichen werden.Frank Lange, Agilefokus UG and Andreas Lowinger

Thursday, June 30th 2016, 11:10 am - 12:50 pm

Wir machen 99% testbarJohannes Hochrainer, Software Quality Lab GmbH

Page 8: CLEAN CODE · 2016-08-01 · Batman v Supername: Dawn of Legacy Code Björn Kimminich, Kuehne + Nagel (AG & Co.) KG Continuous Refactoring - prophylaxis, surgery and spring-cleaning

QA Systems GmbH | Schwieberdinger Str. 56 | 70435 Stuttgart | Tel +49 (0)711 / 13 81 83-0 | Fax -10 | [email protected]

Mit besserer Software schneller am Markt

Mit den Tools von QA-Systems erfüllen Sie alle wichtigen Industriestandards: MISRA C/C++, CERT® and CWE™, ISO 26262, IEC 61508, IEC 62304, IEC 60880, EN 50128, DO-178B, DO-178C/DO-330

Statisches Testen› Fehler vermeiden, bevor es teuer wird

› Coding Standards, Bug Catching, Metriken und Management Reports

Dynamisches Testen› Schnell und kostengünstig zu standard-

konformem Code

› Modul-, Integrations- und Systemtest, Code-Überdeckung und Regressionstest

Mehr Infos unter www.qa-systems.de