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
Over the last couple of years, I’ve done a lot of pair programming. Pair programming inside my team, at customer sites, in coding dojos and in my open source projects.
Pair programming is really a great and effective experience when performed by an pair of developers knowing how to pair program.
Unfortunately, you cannot just put two developers in front of a single computer and expect them to perform perfectly from the start. Pair programming has to be learned. Both developers need to learn the difference between being the driver (the one holding the keyboard) and the navigator. See here for details.
During my pair programming sessions I encountered some recurrent stereotypes, which I list in this post.

Agile, Methodology
Pair Programming
Pair programming – two developers working together at a single computer – can result in better software written faster, but only if you know what you do.
Pair programming is not just sitting together and code as you would when being alone. Unfortunately, this is what most developers practice – resulting in a painful and ineffective experience.
To get most out of pair programming, you first have to know your setup.

Agile, Methodology, Test Driven Development
Pair Programming, 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
cross-post from bbv Blog
This is a list of actions that Scrum Masters at bbv Software Services AG have applied successfully in their teams to improve performance (= how much gets done in an amount of time). Please note that these actions were created to respond to specific problems found in real world projects. They may not be applicable in general in any situation.
I’d be happy to read your experiences and feedback in the comments section.

Agile, Methodology
Agile, scrum, ScrumMaster, team
The idea of variable prefixes
The idea of prefixes on variable is “very” old. They are used to tell the developer what kind of variable he is using. The first prefix for example is m_ and the conclusion is this variable is a member. When I learned programming we had to give the developer more information in case of a member. Like the type of it like an integer became m_i. 
Methodology
Development, Variable prefix, Variables
This is a presentation I hold in 2010 for bbv Software Services AG. It shows how my team lives Scrum.
I’d be glad to see your feedback in the comments section…


Agile, Methodology
Agile, scrum
This is the slide deck of my LAS 2010 presentation: From user stories to architecture.


Agile, Architecture, Methodology, Presentation
Agile, Architecture, Design, Presentation, scrum
We use a lot of open source libraries and components in our daily business. Open source libraries provide us a big advantage regarding time to market with our products. Every time when we are facing a problem in our software (problem is related to business domain to implementation domain difficulties) we first look into the open source world if someone has already solved that problem or even parts of it. Sourceforge, codeplex and google code (to name a few) are often the first pages we visit to look for code samples, libraries and frameworks. But how can we find the needle in the haystack?

Agile, Methodology, Software
apache2, CodePlex, GitHub, Google, Open source, Select framework, select library, sourceforge
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