Archive

Author Archive

Presentation: Agile Code Design – how to keep your code flexible

July 8th, 2011
Urs Enzler

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.

2 The Agile Monster

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:

read more

 

Agile, Architecture, Methodology , , , , , , ,

16 ideas about what a Scrum Master can do to improve team performance

June 24th, 2011
Urs Enzler

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.

read more

 

Agile, Methodology , , ,

How to Unit Test Finite State Machines

May 17th, 2011
Urs Enzler

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.

read more

 

Clean Code, Test Driven Development, Testing , , ,

The Tools we use in our Projects

May 14th, 2011
Urs Enzler

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.

read more

 

.NET

Building Ninject / Ninject Extensions Without Git

March 19th, 2011
Urs Enzler

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:

  1. Install Git, clone the repository and then run the build script
  2. Change the build script so that a hard-coded version is used by removing the Git related parts and defining the version directly
  3. Build within Visual Studio
 

.NET, Ask a geek

Book Review: xUnit Test Patterns – Refactoring Test Code by Gerard Meszaros

February 18th, 2011
Urs Enzler

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

Presentation: Scrum at bbv Software Services AG

January 27th, 2011
Urs Enzler

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…

Slide1

read more

 

Agile, Methodology ,

Clean Code and Clean TDD Cheat Sheets

January 4th, 2011
Urs Enzler

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…

Clean Code

(just an unreadable preview :-)    – click on link in text above)

 

.NET, Agile, Test Driven Development , , , , , ,

Learn as a Team

November 23rd, 2010
Urs Enzler

This is the presentation I gave at the bbv Techday 2010 – a company internal conference day.

Slide1 read more

 

Agile , ,

Ehe – erklärt für Scrum Practitioners

November 6th, 2010
Urs Enzler

Ehe

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. read more

 

Agile ,