LeSS in Action: Scrum Developer (Java)

This event has been cancelled.

Friedenheimer Brücke 29
Munich
80639
Germany

Description :

"Organizational Agility is constrained by Technical Agility. In other words, when you are slow in making changes to your product, then it doesn’t matter how you structure your teams, your organization or what framework you adopt, you will be slow to respond to changes."

During this 5-day hands-on training you will get to know the definition of Large-Scale Scrum (LeSS) and it's mechanics. You are going to work on an existing software product within this Framework.

We will train you on how to apply different practices for multi team collaboration. You will be taking part in multi-team Refinements, Plannings and team coding sessions. You are going to apply Acceptance Test-Driven Development (ATDD) next to Test-Driven Development (TDD) and gain some insights into what Continuous Integration (CI) means.

Furthermore we will venture a bit into legacy code. We will share our view point on what legacy code is and how to work with it.

Why Valtech?

Valtech acts as a partner for agile and digital transformation on all levels. We are keen on improving product developing organizations, their structure, their processes as well as their code base and related build systems. Enabling them to practice continuous integration is key to succeed in large-scale product development.

The perspectives “understanding the existing”, “bridging the gap between code and business” and “guidance during value-adding code development” guide us to excellence. We love to share our insights in this and other trainings.

Agenda :

Monday:

  • Requirement workshop
  • Estimation
  • Definition of Done
  • Cucumber and Friends
  • Sprint Plannings

Tuesday:

  • Test-Driven Development
  • Collaboration (Working in teams, Software Configuration Management (SCM such as git, subversion, ...), Build Automation and other tools, Pair Programming, Continuous Integration Practices and Build Systems, Collective Code Ownership)

Wednesday:

  • Code Smells & Refactoring
  • Thinking about test and test automation (Testing Pyramid, Mocking, Unit testing in other languages: JavaScript, Python, etc., Good Unit Testing)

Thursday:

  • Thinking about Design
  • Feature Team revisit

Friday:

  • Working with Legacy Code 
  • Craftsmanship
  • Retrospective

Details :

We'll have a one-week Sprint on an existing product, no simulation. We begin with clarification, followed by Sprint Planning and implementation. During this week, the students will be supported by several trainers as deemed necessary by themselves. Thus we encourage learning by doing.

"Learn the craft, rather than the theory only"

In all parts, the learning experience is designed to be

  1. try
  2. (possibly) fail
  3. learn
  4. try again - (probably) succeed
  5. repeat

Some stations to highlight:

Product Backlog Refinement (PBR) Workshop

In Large-Scale Scrum, the PBR workshop is one of the most important activities. In our one-week Sprint we will cover three important aspects of this workshop: splitting big Items, work out details of the Items and estimate them. Some optional techniques we might cover: impact mapping, story mapping, specification by example, estimation and alike.

Acceptance Test Driven Development with Cucumber and Friends

In this session, we use the examples derived from the PBR to build executable specifications. We are going to discuss technical approaches, good practices and conventions in detail.

Test-Driven Development (TDD)

Starting with day two, we are going to implement the refined Items using TDD. Through extensive and continuously practicing TDD we want it to become your second-nature.

Collaboration

In this part we address fundamental techniques and practices, which enables teams to collaborate in a Large-Scale Scrum environments. This includes:

  • working as teams
  • SCM, Build Automation and other tools
  • Pair Programming
  • Continuous Integration Practices and Build Systems
  • Shared Code Ownership

Due to the nature of the course, students will experience first-hand how collaboration works and should then be able to apply this during their day-to-day work.

Code Refactoring

This covers the techniques and mechanics of code refactoring.

We want you to be able to identify and refactor badly written code.

More on Test Automation

Beyond automated acceptance test and Unit Test, we go deeper into (automated) testing. Including:

  • Exploratory Testing
  • product-wise testing strategies
  • good automated testing
  • Unit Testing of other programming languages

Thinking about Design

The difference between emergent design, traditional style of design and architecture is explicitly addressed in this section of the course. We’ll also cover some design principles and paradigms.

Feature Teams

After the teams have experienced several days of highly collaborative work on a shared code base, we’ll revisit the topic of Feature Teams and explore technical and organizational structures.

Legacy Code

In this section we discuss and experiment on “how to deal with legacy code”. We give you tips and tricks on how to work with legacy code and how to utilize your refactoring techniques.

Price: 3,600 EUR

Early Bird Price: 2,880 EUR (End Date: 2020-03-25)

Additional Price Information: Group ticket also available