37
Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services

Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Embed Size (px)

Citation preview

Page 1: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Working with Legacy Teams

Jens Schauder @jensschauder

T-Systems on site services GmbH

Page 2: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Come alongFollow me

Page 3: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Brownfield Projekt

Brownfield

Page 4: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

WTF?What the F***?

Page 5: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

AufmunitionierenAufmunitionieren

Page 6: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Checkstyle + JenkinsMetriken

Page 7: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

I See Dead Code!I see dead code!

Page 8: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Magic Numbers

firstName = rs.getString(1)

Page 9: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Magic Numbers

firstName = rs.getString(1)lastName = rs.getString(2)

Page 10: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Magic Numbers

firstName = rs.getString(1)lastName = rs.getString(2)age = rs.getInt(2+1)

Page 11: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Magic Numbers

firstName = rs.getString(1)lastName = rs.getString(2)age = rs.getInt(2+1)city = rs.getString(2+2)

Page 12: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Magic Numbers

firstName = rs.getString(1)lastName = rs.getString(2)age = rs.getInt(2+1)city = rs.getString(2+2)zip = rs.getString(2+2+1)

Page 13: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Change The World!Rettet die Welt

Page 14: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Den Mund zu Voll GenommenZu Viel

Page 15: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Wie konnte das passieren?

Warum?

Page 16: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Conways Law

 "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations"

Page 17: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Schauders Corollary

  "If your team is a mess, so will be your code."

Page 18: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Jim McCarthy

“You can’t have great software without a great team, and most software teams behave like dysfunctional families.”

Page 19: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Legacy Teams

Legacy Team

Page 20: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

BJ Fogg‘s Behaviour Model

Page 21: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

SCARFSCARF

Herbeiführen

Vermeiden

Page 22: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

SCARF

Status

Sicherheit

Verbundenheit

Unabhängigkeit

Gerechtigkeit

Page 23: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Metriken Reloaded

Metriken Reloaded

Page 24: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Metriken sind Leitplanken

Metriken als

Leitplanken

Page 25: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Change the World ReloadedRettet die Welt #2

Page 26: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Broken Window Theorie

Broken Window

Page 27: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Mikado Methode

Mikado Methode

Page 28: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Quarantäne

Page 29: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

If it hurts, do it more often

If it hurts …

Page 30: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Vorsicht Cargo KultCargo Cult meiden

Page 31: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Teammitgliedversteher

Das Team verstehen

Page 32: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

TeambuildingTeam Building

Page 33: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

References

• http://www.behaviormodel.org/• http://www.davidrock.net/files/NLJ_SCA

RFUS.pdf• http://mikadomethod.org/

Page 34: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Images• Monty Pythons French Waiter

http://www.youtube.com/watch?v=mzlCdWwYn2I• WTF per minute http://xkcd.com/• Matrix der Film• Sixths Sense• Engraving from Mechanic’s Magazine (cover of bound Volume

II, Knight & Lacey, London, 1824). Courtesy of the Annenberg Rare Book & Manuscript Library, University of Pennsylvania, Philadelphia, USA.

• Colorful Floral Abstract http://www.sxc.hu/photo/1271814http://www.sxc.hu/photo/1271814

Page 35: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

More Images• Preacher Until: The End Of The World• Matrix Reloaded• Schutzplanke

http://commons.wikimedia.org/wiki/File:Bauteile_Schutzplanke.png

• Long Walk http://www.flickr.com/photos/143andy/2433641086/in/photostream/

• window with a view of ruined buildings http://www.sxc.hu/photo/1413673

• Mikado http://www.flickr.com/photos/mordicuac/116695148/

Page 36: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Even More Images• Fantastic Four http://en.wikipedia.org/wiki/File:FF509.jpg• Ouch

http://en.wikipedia.org/wiki/File:OuchFlintGoodrichShot1941.jpg• Coned ice cream http://www.sxc.hu/photo/1127245• Dentist http://www.sxc.hu/photo/33199• Malton Department of Defense/Quarantine Poster

http://wiki.urbandead.com/index.php/Malton_Department_of_Defense/Quarantine_Poster

• The Fantastic Four; Marvel Comics

Page 37: Working with Legacy Teams Jens Schauder @jensschauder T-Systems on site services GmbH

Working with Legacy Teams

Jens Schauder @jensschauder

T-Systems on site services GmbH