LeSS in Action (Large Product Developers)
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 Scrum, technical 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 Development, Test-Driven Development, Continuous Integration, Acceptance 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:
- Splitting big items into smaller, manageable tasks
- Detailing the items to enhance clarity and understanding
- 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)