Archive

Author Archive

Speaking at BASTA! in Mainz (Germany) on September 21st 2010

July 1st, 2010
Urs Enzler

I’m going to speak about code quality (see my short version of the presentation) at the conference BASTA!

BASTA! is mainly focused on .NET technology and gives you the opportunity to see and speak with a wide range of technology experts.

If you have any feedback of what you are missing in my short presentation, please write a comment here or on the post with the presentation. The short version takes about 30 minutes and my speak at BASTA! is scheduled for 1 hour and 15 minutes.  I will mainly show real life examples of the theory shown in the short version. But if you want to here something specific, ask for it :-)

I’ll probably will publish the long version on this blog, too – for all of you not joining the conference.

So long…

 

.NET, Agile, Announcement , , , ,

Speaking at LAS 2010 in Zurich (Lean Agile and Scrum Conference)

June 24th, 2010
Urs Enzler

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 , , ,

Clean Code and Clean TDD Cheat Sheets

June 22nd, 2010
Urs Enzler

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 now from the web site of my company – bbv Software Services AG: Clean Code, Clean TDD.

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 , , , , , ,

Code Quality! Building code you won’t curse tomorrow.

June 17th, 2010
Urs Enzler

These are the slides and comments of a presentation I held for bbv Software services AG.

The presentation is about how we get quality into our code.

Buzzwords: Fokus, frequent measurements, strong team, clean code, pair programming, test driven development, acceptance tests, continuous integration, collective code ownership, team learning.

image

Urs Enzler
Senior Software Architect
bbv Software Services AG

urs.enzler _at_ bbv.ch  (replace _at_ with @)
www.bbv.ch

Copyright © 2010 bbv Software Services AG

image

How to get quality into source code – that’s the question I’ll try to answer in this document.

You’ll see what we do at bbv Software Services to get code that is built with inherent quality and why it is important to think about quality throughout the whole development process.

read more

 

Agile, Presentation, Test Driven Development , , , , , , , , , , , , ,

Hierarchical State Machine with Fluent Definition Syntax (.NET)

June 9th, 2010
Urs Enzler

The .NET component library bbv.Common (open source – Apache License 2.0) provides a powerful hierarchical state machine.

Its features are:

  • value type based (enums, ints, …) resulting in single class state machines.
  • actions
    • on transitions
    • entry and exit actions (parametrizable)
  • transaction guards
  • hierarchical
    • different history behaviours to initialize state always to same state or last active state
  • fluent definition interface
  • synchronous/asynchronous state machine
    • passive state machine handles state transitions synchronuously
    • active state machine handles state transitions asynchronously on the worker thread of the state machine
  • configurable thorough logging simplifies debugging using log4net (can be replaced easily with custom logging)
  • state machine report for textual description of state machine

read more

 

.NET, Software , ,

bbv.Common moved to Google Code

June 8th, 2010
Urs Enzler

bbv.Common – a .NET library containing components for

  • (a)synchronous loosly coupled event notifications (event broker),
  • hierarchical state machines,
  • active objects and asynchronous workers to build robust multi-threaded applications,
  • context based loosely coupled rule engines
  • and much more

has move from sourceforge.net to Google Code.

Check out the project at http://code.google.com/p/bbvcommon/

Join the discussion at http://groups.google.com/group/bbvcommon

 

.NET ,

Updated Books Page: User Stories Applied

April 2nd, 2010
Urs Enzler

Keeping up with my goal to read a book every month (if they are reasonably thin), I just finished User Stories Applied – For Agile Software Developmen by Mike Cohn.

Check out our Books page for my short review.

The next book on my list is Agile Estimating and Planning by Mike Cohn.

Happy reading!

 

Uncategorized , ,

Mocking Kata – Copier (.NET)

March 31st, 2010
Urs Enzler

To continue my series on Mocking Katas (see Mocking Kata – Instrument Processor for the last Kata), I’ll show you a very simple Kata that I normally use in my Test Driven Development training courses to introduce mocks (created manually or dynamically with the use of a mocking framework): the CharacterCopier.

read more

 

Test Driven Development , , ,

From User Stories to Architecture

March 29th, 2010
Urs Enzler

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.

read more

 

Agile, Architecture, Methodology , ,

Mocking Kata – Instrument Processor (.NET)

March 28th, 2010
Urs Enzler

We use Coding Katas in Coding Dojos to improve our programming skills. This includes skills in software design, refactoring, Test Driven Development, Mocking, tool usage and a lot of other tiny stuff.

However, I found only a few Katas, especially Katas including the need for mocks (see for example http://codingkata.org/). Most Katas are very algorithmic, which is good for learning TDD. But its bad for learning how to use mocks.

Therefore, I started to invent my own Mocking Katas. I use these in my training courses on Test Driven Development.

read more

 

.NET, Test Driven Development , , ,