Agile Overview Workshop

The Agile Overview Workshop helps people learn what agility means and experience how agile teams collaborate, accelerate learning, plan products, and deliver value sooner.

Agile Reboot Workshop

Experience what it feels like to be on a high performance Agile team, aligning around a shared goal, eliminating distractions, delivering value and having full autonomy (self organization).

Behavior-Driven Development Workshop

Has your team ever developed a feature, but found it wasn't quite right? Do the product and development sides work a little too independently? With Behavior-Driven Development you will collaborate successfully and build systems that meet the needs of your product community.

Continuous Deployment Workshop

This interactive workshop delivers core DevOps strategies and applicable practices such as setting up a Build-Test-Deploy pipeline, incremental feature releases, and production monitoring.

Creating A Measurable Product Strategy

The Creating a Measurable Product Strategy module teaches participants how to frame an effective strategy for a product that will provide focus and alignment.

Defining MVPs and Product Metrics

The Defining MVP & Product Metrics module provides guidance on taking validated assumptions to the next level.

Design Patterns Workshop

Get hands-on experience with essential design patterns in this best-selling workshop.

Ensemble Programming

Ensemble Programming is a high-value, low-cost, effective, collaborative, and enjoyable method for completing work more quickly. The whole team works together on the product idea, designing, coding, testing, and deploying it into production.

Evolutionary Design Workshop

Evolutionary Design involves growing something from a primitive beginning to a sophisticated offering. It’s one of the most important agile practices.

Experiment Driven Product Design

The Experiment Driven Product Design module introduces participants to the core concepts of product experimentation. This includes planning, setting up, and executing a well-structured experiment to validate or invalidate risky product assumptions.

Flow-Based Go To Market

The Flow-Based Go To Market module teaches participants how to apply a Lean mindset to go-to-market and launch activities.

Flow-Based Product Roadmapping

The Flow-Based Product Roadmapping module provides the tools for modern product roadmapping and how to get away from a quarter-by-quarter feature wish list.

IL Academy

The IL Academy teaches programmers the art of agile engineering. It's a 12-week, intensive program suited for developers who want to acquire essential agile development and team skills.

IL Bootcamp

The IL Bootcamp helps developers experience what it's like to work on an agile team. It's a 4-week, intensive program suited for programmers who want to acquire essential agile planning, development, and team skills.

Industrial iOS Development

Modern mobile iOS app development calls for modern development methods – and that's what sets this course apart.

Industrial Spring Boot

Industrial Spring Boot teaches you how to build fast, flexible, and highly available applications, while avoiding common problems.

Lean Management Workshop

The Lean Management Workshop helps you learn essential Lean principles and practices and how to apply them to product planning and delivery.

Modern Agile Workshop

This interactive and practical workshop helps you experience and learn what being agile truly means. It focuses on the application of timeless principles and practices and goes beyond antiquated agile techniques.

Object-Oriented Design Workshop

This interactive workshop teaches foundational object-oriented skills like polymorphism, encapsulation, and delegation. Along the way, you’ll explore what poor OO design looks, common traps to avoid and how to produce good OO designs.

Product and Customer Discovery

The Product and Customer Discovery module guides participants down a path of curiosity about customers and their unmet needs. Modern product thinking starts from a position of learning - not solutions.

Product Excellence Workshop

Based on a mix of Modern Agile principles, design thinking, user experience practices, and lean concepts, this workshop will help you experience the joy and profitability of product excellence.

Product Identification and Taxonomy

The Product Identification and Taxonomy module is for people interested in moving their organization in a more product oriented direction.

Product Portfolio Allocation

The Product Portfolio Allocation module reframes traditional concepts of “portfolio planning”, shifting them from an operational activity to a strategic one.

Product Prioritization and Forecasting

The Product Prioritization & Forecasting module teaches participants how to frame better questions around “when will it be done?”.

Psychological Safety Workshop

Psychological safety is THE key ingredient for high-performance teams. In this workshop, you will learn how to grow psychological safety in yourself, your teams, and your organization.

Real Work Product & UX Workshop

The Real Work Workshop gives teams a chance to work with a deeply experienced coach to get real work completed while learning valuable new skills.

Real Work Workshop

The Real Work Workshop gives teams a chance to work with a deeply experienced instructor to get real work completed while learning valuable new skills.

Technical Excellence Workshop

Learn the behavioral and functional skills, perspectives, and habits that allow development teams to consistently improve their codebase and the outcomes of their actions.

Testing & Refactoring Workshop

Explore the foundations of TDD, microtesting and automated refactoring with the help of various patterns, strategies, tools and techniques.

User Stories Workshop

Learn how to write User Stories and produce User Story Maps to effectively evolve products. Discover how User Stories and Story Maps enable better collaboration, acceptance testing, and evolutionary design.

UX for Product Development Teams

The User Experience Design workshop introduces participants to foundational concepts of user-centered design. This includes the design process, user journey mapping, and usability testing.

Agile Engineering Exercises

We selected 10 of our best exercises from 6 albums to help you build your Agile engineering skills. You will hunt for smells in legacy code, refactor a design using automated tools, remove duplication across subclasses, write microtests against legacy code, perform test-driven development on two problems, change a design to use a listening fake, refactor a design to fake a singleton, and peform our mock object exercise.

View Details >
Automating Scenarios Safely

Automating Scenarios Safely builds on Specifying Scenarios Safely, and teaches you how to take scenarios you have collaborated on and convert them into executable tests for greenfield or legacy systems.

View Details >
Behavior Driven Development Box Set

Master collaborative Behavior-Driven Development; the art and craft of test-driving your requirements. You will learn to write effective scenarios with the Gherkin language and how to automate those scenarios to drive new feature development while creating a safety net of regression tests.

View Details >
Code Smells

How do you distinguish great software design from poor software design? Code Smells go beyond vague programming principles by capturing industry wisdom about how not to design code. If you'd like to become skilled at Refactoring, you need to develop your ability to identify Code Smells. Study a collection of important Code Smells and compare each one to a simpler, cleaner design.

View Details >
Code Smells & Refactoring Box Set

What does poor software design look like and how can you safely clean it up? Learn a catalog of common code smells and how to produce cleaner, better designs. Then learn the art of refactoring: how to safely improve the design of code using proven strategies and tactics.

View Details >
Composing User Stories

This album starts by looking at the concept of systems and how an external perspective helps create the best stories. You'll learn the Role-Action-Context template, ten criteria for effective stories, and ideas for kick-starting story-writing when you feel stuck. You'll explore a variety of ways to split and simplify stories to help you ensure that your release is as valuable as it can be. You'll get a job aid to remind you of the key ways to split stories.

View Details >
Continuous Deployment

How long does it take you to push a change live to your users? Are your scheduled software deployments a source of frustration, stress and downtime? Continuous Deployment pioneer Timothy Fitz (formerly of IMVU) shows how to take the pain out of software delivery so you can focus on making happy customers. Learn how to set up a Build-Test-Deploy pipeline, incrementally release even large features and schema changes, and effectively monitor your deployments.

View Details >
Design Patterns Box Set

Become an excellent software designer with five exceptional albums in this popular box set. You will learn to recognize bad smells in code and safely clean up those smells by learning and applying dozens of useful refactorings and essential design patterns.

View Details >
Design Patterns Essentials

This is our pick of the nine most important Design Patterns that every good object-oriented software engineer ought to know. Pattern gurus Joshua Kerievsky and Brian Foote guide you through this interactive, hands-on album, filled with video, quizzes, and challenging exercises. Learn Composed Method, Template Method, Factory Method, Strategy, Composite, Builder, Command, Null Object and Adapter.

View Details >
Design Patterns Trilogy

This trilogy is packed with thoroughly engaging instruction on classic design patterns, up-to-date guidance on modern patterns and hands-on exercises from our popular Design Patterns Workshop and Joshua's award-winning book, Refactoring to Patterns.

View Details >
Design Patterns Vol. 1

The landmark Design Patterns is one of the best-selling computer science books ever. Simple constructors are the most basic way to construct objects, but real code often needs more sophisticated approaches. See how experts apply Template Method, Factory Method, Prototype, and others. The challenging exercises will stretch your skills.

View Details >
Design Patterns Vol. 2

Our second volume of Design Patterns focuses on important variations on a classic object-oriented theme: how to best delegate or forward to cooperating objects, rather than using brute-force inheritance, to get things done. We explore a common theme in object-oriented design: favoring delegation over inheritance. The album draws from the Gang-of-Four''s Structural and Behavioral patterns and uses them as a starting point.

View Details >
Design Patterns Vol. 3

Broaden your knowledge with State, Observer, Null Object, and more. Our final volume of Design Patterns features some of the most elaborate and exotic patterns. You'll find mainstays like State and Observer, along with patterns with more challenging reputations, like Command and Visitor.

View Details >
Faking & Mocking

How do you write microtests against old, complicated code? Redesigning the code can help, yet often you''ll still need to deal with awkward collaborators: calls to objects that are slow or difficult to test. Vanquish awkward collaborators by learning a family of fakes, including simulators, stubs, listening and talking fakes, mocks and auto-mocks.

View Details >
Legacy Code

Do you work with CRRAP: Code Requiring Remedial Attention Promptly? Legacy code is everywhere, so it helps to learn how to work with it effectively. Experience how experts use proven patterns to conquer legacy code challenges and then practice your skills on an extensive, real-world exercise.

View Details >
Microtesting

If you want to spend less time debugging or manually testing, and more time programming faster or making important design changes, you're ready for microtesting! A microtest (also known as a unit test) automatically verifies a single behavior of a single object.

View Details >
Microtesting Box Set

Microtesting is the art of shipping more functionality faster by producing small, high-speed tests to clarify, validate and minimize your code base. In this four-album box set, we work from the most basic concepts of microtesting through the techniques of faking and mocking into the art of test-driven development and how to tame legacy code.

View Details >
Refactoring

Did you ever want to turn a messy, complex software design into simple, safe code? Refactoring provides the tools and techniques for safely improving your software designs. Immerse yourself in Refactoring exercises featuring our "look-over-your-shoulder" technology that gives you expert feedback. Build strong Refactoring skills by learning how to use powerful tools and proven techniques.

View Details >
Specifying Scenarios Safely

Specifying Scenarios Safely teaches you how to use Behavior-Driven Development to improve your software development capability: You will see how collaboration is the keystone practice that helps you explore and document the most important scenarios for your system.'

View Details >
Test-Driven Development

How can you increase the speed and joy of software development while decreasing the stress of modifying code? Test-Driven Development can help! TDD is a rhythm, a design technique, a development process and a revolution, all in one.

View Details >
Testing & Refactoring Box Set

Our best-selling box set is used around the globe by leading companies to help their developers become skilled at test-driven development. You'll thoroughly improve your design skills by learning code smells, refactoring, microtesting, the art of test-driven development, faking & mocking and how to work effectively with legacy code.

View Details >