Building a Complete Application
Live Online with Francesco Cirillo
January 22 - 23, 2024
Wednesday to Thursday
08:30 AM EST - 12:00 PM EST (New York)
02:30 PM CEST - 06:00 PM CEST (Berlin)
05:30 PM GST - 09:00 PM GST (Dubai)
2 Days | 7 Hours Total | 3.5 Hours per Day
Since I began mentoring software teams in 1994, my first priority as an Object Mentor has been to understand each team member and hear directly from them about what they want to learn. To achieve this, I needed a way for them to evaluate their own skills, see where they stood, and decide what they wanted to ask me for help with.
The solution? A temperature converter.
At first glance, the task seemed straightforward:
Most participants thought it was simple. I’d ask if they had questions—usually, they just asked me to draw the user interface. Before starting, I would ask them for an estimate, have them write it on a whiteboard, and sign it. If more time was needed later, they could revise their estimate and sign again.
Most estimated they’d finish in one or, at most, three Pomodoros. I had booked the room for the entire day.
Almost no one delivered anything before 3 or 4 Pomodoros. Often, the exercise stretched far beyond that. By the end of the day—and sometimes late into the night—participants were still working.
What seemed simple was anything but. Challenges emerged:
Team members had the chance to see themselves as they truly were, not as they imagined. This exercise, though deceptively simple, mirrors the complexities of real-world software design and development. The next day, we worked together to map out how they wanted to improve their development processes, and each developer left with something they genuinely wanted to learn.
In over three decades, no one has ever delivered a temperature converter with a good design.
It’s time for me to show my solution. I’ll build it live, step by step, one object at a time.
This workshop is for junior and senior developers, software architects, and anyone who wants to improve their software design skills.
You’ll learn to build and grow an application step-by-step, covering GUI, domain, persistence, and communication.
Modern applications, whether web or GUI-based, often suffer from tight coupling between modules. A bug in the graphical interface might unexpectedly originate from unrelated layers like persistence or communication. We’ll explore how to break this cycle of fragility.
You'll discover how to:
This workshop also teaches you how to handle exceptions properly, ensuring clean boundaries between modules.
Curious if it's possible to streamline your code effectively? Join us to discover innovative strategies that can transform your programming approach.
Day 1: Breaking Down Complexity with Defuse IF Strategy and TDD
Foundations for Emergent Design
Duration: 3.5 Hours
Module 1: Setting the Stage (30 minutes)
Objectives: Establish workshop goals, introduce participants, and align expectations.
Module 2: Introducing Defuse IF Strategy and TDD (1 hour)
Objectives: Establish workshop goals, introduce participants, and align expectations.
Module 3: Growing the Temperature Converter (1 hour)
Objectives: Learn how to evolve design incrementally through tests.
Module 4: Tackling Real-World Challenges (1 hour)
Objectives: Address common issues in GUI design, logging, and threading.
Day 2: Refining and Expanding the Design
Mastering Emergent Design and Applying Defuse IF Principles
Duration: 3.5 Hours
Module 5: Decentralizing Collision Detection
Objectives: Refine the existing solution to improve adaptability and maintainability.
Module 6: Beyond the Temperature Converter (1 Hour)
Objectives: Explore advanced applications and reflect on broader lessons.
Module 7: Observations and Insights (30 Minutes)
Objectives: Discuss misconceptions and key takeaways.
Join us for this engaging workshop and transform the way you approach coding challenges with Francesco's expert guidance and innovative techniques!
Join Francesco Cirillo in a live, interactive 7-hour online workshop focused on applying Anti-IF Programming and TDD. You’ll learn how to develop the solution step-by-step without anticipatory thinking.
Francesco will personally answer your questions, offering detailed explanations and tailored support.
Receive access to the workshop recording for one month, allowing you to review the content at your convenience.
Conducted on Zoom, ensuring easy access from anywhere and effective, interactive participation.
Obtain a certificate at the end of the workshop, validating your participation and the skills acquired. Enroll today to transform your understanding of TDD and elevate your programming skills!
Francesco’s journey in software spans over 30 years, influencing startups, corporates, and individual consultants.
A seasoned mentor, he has impacted countless professionals and teams. From his early days with Sun Microsystems to pioneering Agile Methods and creating XPLabs, Francesco's mark on the software industry is profound.
Notably, he's the creator of the groundbreaking Pomodoro Technique, a time management method embraced worldwide, as well as the visionary behind Defuse the IF Strategy, challenging conventional coding practices.
"If your question is about how to write valuable software, this program is for you!! Through one-on-one lessons with Francesco you will learn how to fit the right techniques and tools in the exact phases of the software development cycle. You will fix and apply these ideas in real cases. And, last but not least, in an enjoyable way!"
"What did I like the most? In this workshop the theory part matches up with the practical part. You don't only hear WHAT TO DO but also HOW TO DO IT, and you start practicing it right away in the labs! That's really what the Workshop is about: real-life practice aimed at consolidating theoretical notions. This approach helps in understanding problems"