0 checkout

Software Design Adventures

Do you love to develop software and want to learn more about how to apply design principles and practices? Are you ready to start a journey to take your software design skills to the next level?

The participants of a Software Design Adventure alternately program in pairs with Francesco to solve design challenges in order to deliver functionalities of a real application.

Software Design applied

Francesco will show the principles he uses to make every design decision. The interaction with his pair is high. The rest of the participants can always be asked for alternative design solutions. Francesco's pair swaps at the end of each Pomodoro.

Each adventure is centered on different features and applications.

By the end of this workshop, you will have acquired greater awareness on how to make effective software design decisions, which principles to apply and why. It will be clearer to you how to choose design patterns, recognize good and bad IFs, reduce the complexity of your software system design by implementing new features or scenarios, and how to meet your deadlines maintaining maximum quality.

Ready to program

Year 2021 - Upcoming Adventures:

Currently there are no scheduled events.

In this Workshop, Francesco will develop real world software features in pair programming with you and the other participants.

Software Design Adventures

Software design adventures are journeys in which Francesco you and the other participants will cooperatively develop one or more features of a real application.

Software Design Adventures

Francesco will lead the development of the feature to be created and show the participants how he makes software design decisions. Francesco will show how to apply principles and tools, why he chooses one pattern over another one. He will explain why he prefers specific practices in specific contexts.

You will learn to be aware of your design decisions to grow software in an effective way, one feature at a time.

You will greatly improve your software skills once you learn to focus on your decision making process instead of only focusing on perfecting the application of principles, patterns, practices and processes.

Software Design Adventures

Everything Francesco has learned in years of software development, mentoring and consulting is available to those who want to learn and improve: from theoretical advice to application of practices and patterns.


Here's some of the adventures which are part of this series

Software Design Adventures

Perfect for newbies as well as experienced developers, who often think that after so many years of development they do not feel the need for improvement, without realizing that they carry with them vices and inflexibility that often compromise the effectiveness of their design solutions.


Francesco has worked at the forefront of the software industry for more than 30 years.

In a career spanning startups, corporations and freelance consulting, he has mentored thousands of professionals, developers, managers and software teams.

In the 1990s he worked as a Senior Consultant and Mentor for Sun Microsystem, expert in Software Architectures and Software Development Processes and Java and Object-Oriented Evangelist.

Francesco is one of the pioneers of agile methods. He started working on XP and TDD in 1999. He was chosen by Kent Beck as reviewer of the second edition of the book Extreme Programming Explained.

He created the Anti IF Campaign in 2007 to raise awareness in the international community of developers to apply good design principles.

He has been running the Software Design School since 2019.

Francesco created the Pomodoro® Technique, a renowned time-management tool used by millions of people all over the world, while a university student looking for a way to get more done in less time.

Read Francesco Cirillo complete profile.


    included VAT, if applicable
    7 hours: 2 weekly online sessions (3,5 hours per session) + 1 weekly assignment
    Online meeting with Zoom; Public class; Onsite in your company
    Min 4, max 8 people


Marco Isella
Marco Isella

Software Engineer

Francesco has changed the way I work, and more.

Simone Casciaroli
Simone Casciaroli

Senior software developer (Contractor) at Nutralete

Since attending this program with Francesco Cirillo, and learning his approach to software design, I have realized that my previous understanding of the topic was not as effective as I once thought. By understanding his approach, I have been able to significantly improve my own software design, benefiting both my team and myself. Despite the fact that my course was focused solely on software design, it has helped me become an all-around better software developer.

Matteo Regazzi
Matteo Regazzi

Agile Coach at inspearit Italy

Having experienced Francesco’s work and methodology in the past, I wanted to study with him again and try his mentoring program. Amazingly, I was able to regain immediate momentum, motivation, and obtain astonishing results, even though working remotely. This was also due in part to the organization of the sessions, which were always efficient and productive. One of the best investments I have ever made in myself. Thank you!

Marco Testa
Marco Testa

Software Developer at i-data.tek

Being mentored by Francesco wasn’t just your average course, following a pre-designed program involving lessons, topics, and tests which leave you with a lot of ideas but no concrete method to apply them in your daily work. Instead it was like a journey, beginning with my strengths and weaknesses, and following my actual needs in order to find my own path to becoming a better developer. In this course, Francesco guides you along the way gently; giving advice, and warning you of possible roadblocks you may encounter, while at the same time letting you explore on your own. This made the lesson much more difficult than your standard course, as it relied mainly on my own efforts and abilities, but the outcome was definitely much more productive and worthwhile than anything else I have yet experienced.

Carlo Garatti
Carlo Garatti

Software Engineer, Oracle

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!