About Johannes Täuber

I am a senior software developer, software architect and certified scrum master. My primary areas of involvement are in object-orientated development (applying OOA, OOD, SOA, AOP, …), refactoring, design patterns, agile methods (such as extreme programming or scrum). Currently my main platform is the .NET framework with the C# programming language. Additionally I have a lot of programming experience in Java and Delphi. Furthermore I have made contact with several other programming languages, such as C++, VB, etc.

Acceptance testing with FitNesse and .NET

FitNesse is an open source software testing tool which can be used to do acceptance testing in a lot of different scenarios. It was originally developed to test java applications but can also be used with some modifications with the .NET framework. Since the documentation for using it in .NET is widely spread across the web I decided to write down some of the information that I have found useful in a few posts. Another useful resource of information is Gojko Adzic’s book about Fitnesse. This post sums up briefly what you need to do in order to

* … install and run FitNesse
* … develop the integration layer
* … create a test page

Read more

Entity Framework 4.0 Code-First vs NHibernate

Microsoft’s .NET Framework Version 4 includes a version of the Entity Framework, which allows two ways of creating your model: Database First and Model First. Database First was already available for the previous version of Entity Framework. It means that Visual Studio’s Wizard is used to point to a database and Entity Framework generates the model classes and mappings out of the database tables. Very often the domain model looks different than the data model, which means either developing another mapping layer between the generated classes of Entity Framework or a lot of customization on the generated classes themselves. For this reason it is also possible to use the Model-First approach, which allows you to use the graphical designer and design your model first and then let entity framework generate the database schema and mappings. Lately another approach has been introduced as a CTP: Code-First. Instead of using the designer, Code-First allows you to code your domain with POCOs and persist this plain model using Entity Framework. This article compares Entity Framework 4 Code-First CTP with NHibernate in terms of usability (not performance-wise) using examples of domain driven design concepts.

Read More

Impressions of Lean and Kanban 2010 Europe

This post is short summary as well as a collection of ideas and impressions of the Lean and Kanban gathering in Antwerp organized by Agile Minds. According to David Anderson (one of the speakers) it has been the biggest conference on this topic so far: agilility is spreading in software development ( let it be Scrum, Kanban or any other agile methodology) and it is also growing on enterprise level.

Read more …

How software architecture can support agility

Software architecture and design has a major impact on success or failure of software projects. How can a good architecture be classified? Which are the architectural key features that decide if a project succeeds or fails? How can architecture support an agile development process such as Scrum?

This post explores attributes of software designs that are required by agile development processes. Furthermore it discusses the differences between classical big up-front designs and the agile way of doing it.

Read More