The course is unfortunately canceled

We all live with legacy code, that is code that has gone old and for some reasons is hard to maintain. The cost per change is increasing exponentially and threatens the very existence of our business.

This course aim to teach you the basics of attacking this problem. You will get hands-on experience that lifts your ability to cope with monolithic systems that are far from tested and where knowledge about their expected behavior has become foggy.

Refactoring is described at the mini, macro and maxi level. At the mini level, you constantly refactor the code for better maintainability. Here you use refactoring tools that are available in your IDE. Macro level is when you need to make a larger change, involving a number of steps. Planning is of essence and the Mikado Method helps you find your way in smaller steps while not losing sight of your goal or ending up with too many changes ongoing at the same time. When you decided to replace a whole system, such as a mainframe based Cobol system, you are at the maxi level. Here the Strangler Application Pattern is an option that you have to know about.

Testing is essential to enable refactoring so we will start with a quick introduction to test driven development, TDD.

See also this blog post on dependency breaking and characterization tests, The Sword and the Shield.

Note: Denna kurs hålls på svenska ifall samtliga deltagare är svensktalande. Allt presentationsmaterial är på engelska.

Who this course is for

Anybody who wants to learn or get better at the technical practices of Agile software development. You will learn to deliver higher quality code in shorter intervals with more customer communication.

Learning outcomes for this course

  • Why agile development requires automated testing
  • The case for TDD, test driven development
  • Test doubles for mocking
  • Refactoring at mini, macro and maxi level
    • Refactoring patterns and tools
    • Dependency breaking and characterization tests
    • The Mikado method
    • Strangler application pattern

Prerequisites

  1. Basic knowledge of Java. This is not primarily a programming course, so the programming tasks will be pretty simple. If you are not primarily a Java developer, see this as an opportunity. You will work with others who are better at it, and you will learn! But make sure you at least know the basics.
  2. A development environment. To avoid wasting precious course time with technical setup issues, we want you to set up your technical development environment in advance.
Course
Date
Price
Participants
Language
Venue
Contact

The course is unfortunately canceled

This course has already been held.

Please consider one of our upcoming courses

Upcomming courses in Agile & Foretagsinterna

Giuseppe De Simone
Giuseppe De Simone
Reza Farhang
Reza Farhang
Cancelled In English
David Barnholdt
David Barnholdt
Therese Ahlberg
Therese Ahlberg
Early Bird
Michael Göthe
Michael Göthe
Frida Mangen
Frida Mangen
Early Bird
Reza Farhang
Reza Farhang
Hans Brattberg
Hans Brattberg
Early Bird
Tomas Björkholm
Tomas Björkholm
Michael Göthe
Michael Göthe
Early Bird
Reza Farhang
Reza Farhang
Hans Brattberg
Hans Brattberg
Early Bird
Sonja Blignaut
Sonja Blignaut
Michael Göthe
Michael Göthe
Remote Training Early Bird In English
Reza Farhang
Reza Farhang
Remote Early Bird In English
Marcus Castenfors
Marcus Castenfors
Martin Christensen
Martin Christensen
Reza Farhang
Reza Farhang
Hans Brattberg
Hans Brattberg
Early Bird
Giuseppe De Simone
Giuseppe De Simone
Reza Farhang
Reza Farhang
Early Bird In English