LeSS in Action (Large Product Developers)

Laan van Kronenburg 14
1183 AS Amstelveen
Amstelveen
Netherlands

Description :

Organizational Agility is constrained by Technical Agility.

The 5-day development practice course is 70% hands-on and 30% lecture and has three main focuses: Large-Scale Scrumtechnical practices, and authentic team dynamics. It covers Scrum practices such as cross-team Sprint Planning, Backlog Refinement, working as a team, and many technical practices such as AI-Augmented DevelopmentTest-Driven DevelopmentContinuous IntegrationAcceptance Test-Driven Development, and Refactoring. It also covers how to apply these practices in a legacy codebase situation.

Who is this class for:

We don't expect participants to have prior knowledge of the tech stack listed below, including the programming languages or domain. People are welcome to the class as long as they are fluent software developers.

We also allow 1~2 non-current developers (e.g., a ScrumMaster or PO) in each class, as long as they have some development experience and promise to work as a developer in a team in the class. So far, their feedback is even better than the developers:-) It's probably due to the opportunity to observe a team from within and the others doing their job.

What did people say about my course:

Testimonial from Bastiaan van Hamersveld (CEO of the LeSS Company) https://www.linkedin.com/posts/konstantin-ribel_lessworks-technicalexcellence-tdd-activity-7121106565994024961-0h2K?utm_source=share&utm_medium=member_desktop

From Oleksii Khodakivskyi:

Current Tech Stack:

We chose a particular stack so that people do real work in the class, but the specific stack doesn't matter so much for participation. Our current stack is:

  • Cursor with Anthropics AI models as the main IDE for development
  •  a web service (https://doughnut.odd-e.com)
  • VueJS 3 on the frontend using TypeScript
  • Spring Boot backend using Java and MySQL
  • various external service dependencies
  • Cypress for end-to-end testing
  • Github Action for CI/CD
  • Google Cloud for production

The source code is here: https://github.com/nerds-odd-e/doughnut

Agenda :

Monday:

  • Requirement workshop / A-TDD
  • Definition of Done
  • Cucumber and Friends
  • Sprint Plannings

Tuesday:

  • Test-Driven Development
  • Collaboration (Working in teams, SCM, Build Automation and other tools, Pair Programming, Continuous Integration and CI 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 :

Welcome to the LeSS in Action training! This course is designed to help you develop the skills and mindset needed to thrive in a large-scale product development environment. Through hands-on practice, on-time coaching, and collaborative learning, you will gain practical experience in both technical and organizational aspects of Large-Scale Scrum (LeSS).

Product Backlog Refinement Workshop

One of the most critical activities in LeSS is the Product Backlog Refinement (PBR) workshop. By conducting the PBR workshop within the sprint and involving multiple teams, we will cover three essential aspects:

  1. Splitting big items into smaller, manageable tasks
  2. Detailing the items to enhance clarity and understanding
  3. Estimating the effort required for each item

We may also explore optional techniques based on the context and needs of the group, such as impact mapping, story mapping, specification by example, and estimation ceremonies.

Definition of Done

A well-defined Definition of Done (DoD) is crucial to maintaining quality and consistency across teams. We will explore its purpose, how to create and use an effective DoD, and discuss who should be responsible for ensuring it is followed.

Sprint Planning

The PBR workshop also covers much of Cross-team Sprint Planning Part One, as there is only one sprint. We will then dive into Sprint Planning Part Two, where teams break down work and plan their execution in detail.

Acceptance Test-Driven Development with Cucumber and Friends

Driving the iteration with concrete examples derived from the PBR workshop is key to maintaining alignment and quality. In this segment, we will discuss technical approaches, good practices, and conventions for acceptance test-driven development (ATDD) using Cucumber and related tools.

Test-Driven Development (TDD)

Starting from Day 2, all coding will follow the principles of Test-Driven Development. We will briefly introduce the philosophy with simple exercises, but most of the learning will come from hands-on practice and real-time coaching, allowing participants to internalize the approach through experience.

Collaboration Techniques

Effective collaboration is essential for success in a Large-Scale Scrum environment. We will explore fundamental techniques and practices that enable teams to work together efficiently, including:

  • Working in teams and fostering collaboration
  • Source Control Management (SCM) and Build Automation
  • Pair Programming and Collaborative Development
  • Continuous Integration (CI) and CI Systems
  • Collective Code Ownership

Code Refactoring

Maintaining a healthy codebase is an ongoing effort. This segment covers why code refactoring is essential, what to look for when identifying code smells, and how to effectively clean up and improve code without introducing new issues.

More on Test Automation

Beyond automated acceptance and unit tests, we will dive deeper into effective testing strategies, including:

  • Real and exploratory testing
  • Product-wise testing strategies
  • Best practices for automated testing
  • Unit testing in different programming languages

Thinking About Design

Design is not just a one-time activity but an ongoing process. We will discuss the difference between emergent design and traditional waterfall-style design, and introduce modern design principles and paradigms. We will also revisit real testing to ensure our design decisions support effective quality assurance.

Feature Teams

With the knowledge gained from the first four days, we will revisit the concept of Feature Teams to understand how technical practices align with organizational structures and how to maximize the potential of self-sufficient teams.

Working with Legacy Code

Inspired by Michael Feathers' "Working Effectively with Legacy Code," this segment covers practical strategies for dealing with untested and outdated codebases, as well as how to build confidence when making changes.

AI-Augmented Development

As AI becomes increasingly integral to software development, Product Developers must take on the role of critical thinkers and evaluators. Human judgment remains essential in guiding AI tools and ensuring that generated solutions align with real-world needs. In this segment, we will cover:

  • Collaborating effectively with AI agent tools to enhance productivity
  • Fundamental principles of integrating AI into the development process
  • Understanding how to evaluate AI-generated code and results critically
  • Redefining what constitutes "good" code as AI becomes more advanced—shifting from code as a purely human artifact to a co-created product of human and AI collaboration

Craftsmanship

We will discuss the concept of software craftsmanship as an alternative metaphor for career progression in software development. This perspective emphasizes continuous learning and skill enhancement to become a master of your craft.

Retrospectives

To conclude the training, we will conduct a retrospective to reflect on the journey and lessons learned. Participants will experience a well-structured retrospective, discuss common pitfalls, and explore how to facilitate effective retrospectives in large organizations.

Emergent and Context-Sensitive Learning

No two trainings are the same. The dynamic nature of the course content means that many sessions will be shaped by the challenges faced by the participants. Through adaptive learning and practical problem-solving, you will gain the skills needed to thrive in real-world, large-scale product development environments.

We look forward to working with you and embarking on this journey together!

Price: 2,800 EUR

Early Bird Price: 2,500 EUR (End Date: 2024-03-28)