15.05.2013 Rediscovering Modularity with Chris Chedgey


Dear .NET friends and enthusiasts,

This is another one of these great events which we can only host because of the excellent partnership we have with the usergroups in Berne and Zurich. Of course our sponsors play also a very important role! Having such a great network of people around us helps us to organize tours and trips which are also worth it for speakers coming from other countries. We would like to thank here again for the great partner- and sponsorship which makes this all possible! So the next highlight in May will be Chris Chedgey presenting his talk about Rediscovering Modularity. Flying in directly from Ireland he will introduce structure into unstructured code. Rediscover with us modularity and join the next usergroup meeting!

We are still looking for interesting short presentations for our usergroup meetings. Short presentations are the ideal format to give away your insights about the latest tools and techniques you use in your daily job. It is also a very good platform to sharpen your presenter skills. Send us an email to urs dot enzler at dotnet-zentral.ch or daniel dot marbach at dotnet-zentral.ch. Take the chance: you can give it in German or English!


1. Introduction
2. AI zum Anfassen (German)
3. Rediscovering Modularity with Chris Chedgey (English)
4. Knowledge Exchange/Apéro


bbv Software Services AG, Blumenrain 10, Luzern, 1. Stock
(Details siehe http://www.dotnet-zentral.ch/?page_id=98)


6 PM – 8:30 PM (After that apero)


Rediscovering Modularity

The principles of modularity have been applied to engineering projects since Gorak built the wheel, and Thag the barrow of the world’s first wheelbarrow. Thag’s barrow didn’t care that the wheel was first hewn from rock, and later upgraded to a lighter, wooden one, and Gorak’s wheel design was reused for the world’s first chariot. This is how humans make sense of complexity – we divide and conquer.

Analogous principles of modularity are taught in Software Engineering 101 – information hiding, interfaces, clear responsibility, high internal cohesion, low external coupling, etc., and we apply these routinely as we develop, and continuously refactor the code encapsulated within classes.

However when the number of classes reaches some threshold, higher level abstractions are needed in order to manage the complexity of the growing codebase. This limit is usually overshot and the team is soon drowning in an ocean of classes. At this point it is time to restructure the code-base into a hierarchy of modules above the class level, or watch the team’s frustration continue to rise, and productivity plummet.

This talk proposes a measurement framework for assessing the quality of a modular structure, identifying regions of poor modularity, and for assessing the impact of restructuring or refactoring actions. Based on this framework, the talk introduces strategies for retro-fitting modularity to an existing codebase, with minimum impact on the code logic itself.

This material is based on experience gained while helping many development teams through the restructuring process. The concepts will be illustrated by examples.


Chris has a Masters in Software Engineering from Trinity College Dublin, with over 25 years software engineering experience gained in Ireland, Canada and the United States.

Chris joined the International Space Station Project in 1990 where he was a member of the team that defined the software development processes and tools for the program, and then technical lead on the Remote Manipulator System control software. In 1994 he moved to the $1.5bn Iris program which replaced the entire communications systems for the Canadian armed forces, first on the process/toolsmithing side, and then the product development side. In 2000 he founded Headway Software to address the lack of large-scale modularity that he saw as pervasive in software industry.

He lives on the south coast of Ireland, where he likes to sail when it’s windy, and walk the dog when it’s not.

AI zum Anfassen

AI ? Appenzell Innerrhoden ? Na ja fast ! – Artifical Intelligence…Du meinst genau Bescheid zu wissen? Mirko Marković zeigt Dir Anhand von selektierten Beispielen, wie man natürliche Phänomene zur Optimierung in der Softwareentwicklung nutzt und für die Industrie sinnvoll einsetzt. Der Einsatz reicht von Schachengines bis hin zum Lackierwerk – Wie weit sind wir vom Androiden entfernt – oder besser – Wie weit ist er von uns noch entfernt? Nutze die Gelegenheit in diesem Kurzvortrag, um in den Bereich der AI einzutauchen. Nicht verpassen: „AI zum Anfassen“.


Mirko Marković ist derzeit Softwareentwickler bei der Bedag Informatik AG in Aarau. Nach seinem Studium in Deutschland an der TU-Darmstadt, mit Abschluss Dipl. Bauingenieur mit Hauptvertiefung Informatik auf Ameisenalgorithmen, kam er 2006 in seine Wahlheimat Schweiz. Studium begleitend programmierte er in C#, C++, Pascal unter anderem Strömungssimulationen, Anwendungen mit der FEM(Finite Elemente Methode), Robotik Steuerungen sowie konkrete Anwendungen für Ameisenalgorithmen. Mit 12 Jahren Erfahrung in der Softwareentwicklung liegt sein derzeitiger Schwerpunkt auf C# und .Net-Technologien.

In seiner Freizeit beschäftigt er sich mit Schach, Sport, Mathematik und KI. Schach und KI lassen sich verbinden zu einem spannenden Element in der Programmierung, was seine primäre Freizeitbeschäftigung ist.

Bei Twitter findet man ihn unter @TRONWorks


By using our xing group dotnet-zentral or our website under Anmeldung. Attention: Seats are limited!

Come and visit the next meeting of the .NET Usergroup Zentralschweiz.

Urs Enzler and Daniel Marbach

About the author

By daniel.marbach