cross-post from bbv blog
When software projects grow both in age and size the developers often struggle with the structure of the code. It gets more and more difficult to find the class you have to change for a new requirement. In this post, I’ll show you how we organize our code and how we derive our structure directly from the requirements.

.NET, Agile, Architecture, Clean Code, Methodology, Test Driven Development
Agile, Architecture, Clean Code, TDD
These are the slides along with some comments from a presentation I gave lately in the bbv .Net System boot camp – the yearly education week of my division in my company.
Once upon a time, Agile Software development came to our software development country.

Like a monster, Agile software methodologies scared the hell out of us. Suddenly, we had to find ways how to build software so that we could keep up with the high rate of change, just-in-time requirements and a sacrificial offering – a product increment – every two weeks (our Sprint length).
The way we were used to build software was not up to this task. We were used to dig a big hole of new functionality and to build something great over months. The structure of our source code and our engineering practices were no good to match the Agile monster.
So we had to come up with some new “weapons” to stand a chance:

Agile, Architecture, Methodology
Agile, Architecture, ATDD, Design, DI, DRY, SOLID, TDD
Ninject 2.4 will introduce the ability to configure which constructor shall be used and to configure constructor arguments without having to use magic strings to define for which argument. In this post I will give a preview on how this works.

.NET, Architecture
IoC, Ninject
I just released Ninject 2.2.1.0 and Ninject.MVC3 2.2.1.0. Both are bugfix releases. In this Blogpost I’ll explain if you have to update and what changes you need to do in case you are using th NuGet version of Ninject.MVC3.

.NET, Announcement, Architecture
.NET, DI, IoC, Ninject
MVC3 added support for Dependency Injection frameworks. To take advantage of these features I did a completely new implementation of the Ninject.Web.Mvc extension. Unlike other existing MVC3 implementations for Ninject, this extension goes further than just adding a IDependencyResolver for Ninject. It has tightly Ninject integrated support for various things such as Filters and Validators.
This post assumes that you have a basic knowledge about MVC, Ninject and Dependency Injection in general.

.NET, Architecture
IoC, MVC, MVC3, Ninject
This is the slide deck of my LAS 2010 presentation: From user stories to architecture.


Agile, Architecture, Methodology, Presentation
Agile, Architecture, Design, Presentation, scrum
I’m glad to announce that I’ll speak at the Lean Agile and Scrum Conference in Zurich on September 7th 2010 about Agile Architecture: From User Stories to Architecture (in german).
There will be great speakers present like Mary Poppendieck and Henrik Kniberg!
Join the conference at http://www.leanagilescrum.ch/veranstaltungen.
Looking forward to see you there…
Agile, Announcement, Architecture
Agile, Architecture, Conference, Presentation
This is the slide deck of a presentation I gave for bbv Software Services AG at two events in 2009 along with some comments .
If you are interested in seeing this presentation live (either in German or English) then please contact me.

In an agile project, the architecture has to evolve together with the requirements and the code. In this presentation, I’ll show you our agile architecture lifecycle.

Agile, Architecture, Methodology
Agile, Architecture, scrum
Updated: Something went wrong with the code snippets. Now it’s okay.
Today, we”l have a look at nested views in my series on agile UI development in .NET using an extended MVVM pattern (table of contents).
There are two kinds of nested views:
- contextually nested views and
- hierarchically nested views (master-detail scenarios)

.NET, Agile, Architecture
.NET, Agile, Architecture, Design, User Interface, WPF
In my series on agile UI development in .NET, we have seen quite a lot so far (table of contents). But up to now, we never made a call to the model (business logic, services and so on). This is the topic of this post: Model Commands.
A Model Command encapsulates a single action hat is execute against the model. This can be a query to request data, an action that modifies data, communication with a completely different part of the system or anything else your application has to do on the model.

.NET, Agile, Architecture
.NET, Agile, Architecture, Design, User Interface, WPF