ANTI-IF WORKSHOP

Anti-IF Workshop
Learn how to make the construction of your software system effective and enjoyable.

Our classes are designed to provide as much interaction and personal attention as possible.

The workshop includes training modules, exercises, assignments aimed at helping you achieve meaningful, measurable results which can be built upon and improved over time.

Content

On this page you will find:

At the end of this workshop, when you've submitted your assignments, you will get a Certificate of Attendance.

Do you want to go a step further along the road to becoming a Certified Anti-IF Practitioner? Attend 14 hours of this Workshop and you can apply for a Certificate of Practice. This certification is free in 2017.

  • REQUEST INFORMATION
  • LENGTH
    1 day

UPCOMING WORKSHOPS

  • Oct 7th, Nov 11th, Dec 9th 2017, Jan 13th, Feb 3rd 2018 Online at 6pm CEST with Marco Isella

    More info

  • Oct 7th, Nov 11th, Dec 9th 2017, Jan 13th, Feb 3rd 2018 Online at 8am CEST with Marco Isella

    More info

  • Dec 10th 2017 in Berlin, Germany at 8:30am CEST with Marco Isella

    More info

  • Feb 4th 2018 in Berlin, Germany at 8:30am CEST with Marco Isella

    More info

By the end of the Workshop you will be able to:

  • Get rid of bad IFs by learning to grow software in an emergent way - You will be able to distinguish dangerous IFs, those that can cause a system to degenerate into a Code Monster - from physiological IFs. You will also learn how to transform those dangerous IFs in good code in an emergent way by implementing new requirements.
  • See and recognize the flow of design dependencies and be able to organize them in a conscious way without fear and without rushing.
  • Identify effective solutions without running the risk of over design - A dangerous IF can be eliminated in many different ways. Not all of them are able to reduce complexity.
  • Learn to recognize patterns and combinations of patterns in an emergent way instead of imposing them.
  • Grow software incrementally while maintaining maximum quality and delivering the highest possible number of functionalities.
  • Direct your own independent improvement using self-observation techniques.

Why is this Workshop so special?

  • Each workshop session focuses on different topics and cases. Therefore, even if you have already taken the Workshop, you can take it again and still be able to work on new cases and leran new topics, always with a focus on real-world issues.
  • The Workshop is extremely hands-on, with 70% of it dedicated to Coding and Review Sessions. You will learn by working on the code.
  • The Workshop considers real cases - The exercises are taken from real system code.
  • The Workshop deals with real-world software development issues: from parser development to exception handling, construction and configuration of complex objects.
  • You will learn new powerful decision making tools that will enable you to identify the next best steps to take, especially when faced with difficult design choices.

Objectives

  • Participants will become aware of the process through which a continuous series of small programming decisions - such as the seemingly simple decision to put an IF - can achieve the emergence of effective design structures
  • The objective of the Workshop isn't to follow "this" or "that" particular practice, but to become more aware of why such practices are used in the first place
  • Another objective of the Workshop is to learn techniques and criteria for self-observation in order to be able to direct your own independent improvement, allowing you to achieve ongoing progress

About the course

New Skills
  • The Anti-IF Workshop is an advanced emergent design training held over one or more days that focuses on real-world software design issues and challenges. The Workshop is extremely hands-on and teaches participants concrete methods and tools.
  • Together with the participating teams and programmers, you will re-invent practices such as Refactoring, Testing, and TDD to understand how to grow software incrementally, maintaining maximum quality and delivering the highest possible number of functionalities.
The Method
  • Real Team: The Workshop is organized to simulate real work of a development team: feedback, ideas for discussion, and lots of functionality to be implemented.
  • Observation Stimulation: The Workshop focuses on strengthening your self-observation and self-assessment skills, which will enable you to better understand the choices you make when introducing the next statements into your system as well as make ongoing improvements in your overall approach.
  • Sharing: Participants will be working in different languages: Java, C#, Ruby. One of the objectives of the Workshop is to facilitate contamination, as such, you will work in pairs with someone who uses a language, and perhaps a different environment, from your own. This sharing of diverse perspectives promotes the emergence of creative and effective solutions and allows you to recognize and focus on design issues and find solutions in any language.
  • Observation Stimulation: The palpable sense of freedom in this Workshop will set you on the road to new ideas. Be prepared to give your feedback on the Coding Sessions in which you will participate. Be open to critical discussion with Marco and the other participants on the pros and cons of every principle that will be addressed.
Certificate of Attendance

Do you want to prove that you're learning new techniques to improve personal and team productivity when you apply for a new job? Do you want to show you're actively involved in events to improve personal and team productivity?

  • At the end of the workshop, when you've submitted your assignments, you will get a Certificate of Attendance.
  • Every participant of the official Anti-IF Workshop is entitled to a Certificate of Attendance from us in PDF format.
  • Your trainer will ask you to fill in an online evaluation form on our site. This will take you just a few minutes. Once you've submitted your thoughts, you'll find your certificate in your inbox.

The Certificate of Attendance will give you the right to get a Anti-IF Practitioner Certification. This certification is free in 2017.


Programme

Each workshop session focuses on different topics and cases

Therefore, even if you have already taken the Workshop, you can take it again and still be able to work on new cases and leran new topics, always with a focus on real-world issues.


Additional Info

Audience

The Workshop is aimed towards Experienced Programmers who want to be more effective and are able to question themselves in order to make improvements, as well as Junior Programmers who want to start their business on the right foot.


Skill Requirements

Participants should be fluent in the fundamental concepts of the Object-Oriented Paradigm in a language of their choice. Creating classes, subclasses, making associations, implementing Design Patterns, and understanding how to use the xUnit testing framework.

To participate in the Workshop, no other particular professional skills are needed. Participants will acquire skills during the Workshop.


Technical Requirements

Laptop - Participants will perform the Anti-IF Workshop coding sessions using their own laptops. So the first thing to remember is to bring your laptop :-).

Languages - The Anti-IF Workshop is open to Object-Oriented languages such as Java, C# and Ruby. It is up to each participant to choose their preferred development environment and operating system.

Setup - Install your preferred development environment. Install the appropriate xUnit Framework for the language that you will be using. We also suggest installing a plug-in or a library for refactoring and to collect product metrics, number of lines of code absolute/by class/by method, cyclometric index of complexity (for Eclipse users we suggest Metrics).

Before the Workshop

To get the most out of the Workshop, we recommend that participants review the main concepts of Object-Oriented and Design Principles. And even if you know them already, a thorough review of Design Patterns will surely be useful as well :-).

Suggested Reading Material:

  • "Implementation Patterns" by Kent Beck
  • "Apply UML and Patterns" by Craig Larman
  • "GOF Design Patterns"