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
We use a lot of state machines in our projects. We use them for abstracting instruments that we control, controlling when user input controls have to be enabled or disabled and for other things.
State machines are great for these kind of tasks (much easier that nested switch statements anyway) but they provide a big challenge when developing software test driven. This is due to the fact that they are of course very state full and often active (running on their own worker thread).
Here are some best practices leading to maintainable and refactoring friendly unit tests.

Clean Code, Test Driven Development, Testing
multi-threading, state machine, TDD, Unit Test
I get often asked which tools we use in our projects. Therefore, I’m listing all of them here in this post. I’m using the project bbv.Common as an example because you can download the source code and look for yourself how some tools are used.
The main differences in the tool chain between our different projects is due to the source code repository that is used: Subversion, TFS or Git. bbv.Common uses Git and therefore the tools in this list will be the Git tools but you can easily find corresponding tools for svn or TFS.

.NET
tools
We received the following question about building Ninject:
I’ve downloaded the source files for both context extensions and namedscopes (Ninject) and have followed the instructions in "how to build.txt" exactly, but I cannot get either NAnt script to build. I keep getting an error from git saying
"get-git-revision:
[exec] fatal: Not a git repository (or any of the parent directories): .git
BUILD FAILED – 0 non-fatal error(s), 1 warning(s)"
what gives? what do I not know to do?
Thank you for taking a moment to educate me. I have googled far and wide and can’t seem to find any help with this error. Note: I’ve never used git, I don’t have a git repository, I don’t have a github account. What dependency do I need to get started?
Ninject build files assume that you are running them inside of a Git repository. The need the Git repository to determine the version to be used for the built assemblies.
There are three solutions to this problem:
- Install Git, clone the repository and then run the build script
- Change the build script so that a hard-coded version is used by removing the Git related parts and defining the version directly
- Build within Visual Studio
.NET, Ask a geek
Ninject
I just added my short book review of xUnit Test Patterns – Refactoring Test Code by Gerard Meszaros to our books page.
Happy reading…
Agile, Announcement, Test Driven Development
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
Updated: new version available!
I have compiled two cheat sheets about clean code (the ones mentioned in my post about Code Quality!).
The first covers clean code – code that is easy readable and keeps changeable. The second is about Test Driven Development. Both cheat sheets list principles, patterns, practices and smells.
You can download them here – Clean Code Cheat Sheet V1.3, Clean TDD Cheat Sheet V1.2.
Take a look!
I’d like to read your feedback in the comments section…

(just an unreadable preview
– click on link in text above)
.NET, Agile, Test Driven Development
.NET, Architecture, Clean Code, Design, TDD, Test Driven Development, unit testing
This is the presentation I gave at the bbv Techday 2010 – a company internal conference day.

Agile
Agile, learning, team

Einführung
Scrum, ein agiles Prozess-Framework, wird von Scrum Fanatikern gerne in allen Lebenssituationen appliziert. Daher liegt es nahe, dass Scrum auch auf die Ehe (besonders, beim Lebensbund zweier Scrum Practitioners) Anwendung findet.
Dieses Standardwerk zeigt wie Scrum auf eine Ehe appliziert werden kann. 
Agile
Fun, scrum