Dienstag, August 31, 2004

How to write unmaintainable code

Funny and true article: http://mindprod.com/unmain.html

Post bewerten

Visibility of Automatic Build

There is a cool kit for making the results of automatic builds (e.g. with Cruise-Control) visible: Bubble, Bubble, Build's In Trouble. And it costs less than 100 USD.

Post bewerten

Donnerstag, August 26, 2004

XRadar: Structural Analysis for Java projects

We startet to use XRadar in a larger project for structural analysis, e.g. dependency checks between subsystems and packages.

XRadar is open source and combines a lot of useful small tools like JDepend and PMD to form a complete analysis suite. We integrated XRadar into our Cruise-Control build process and got helpful results about the structure of our system.

Post bewerten

Dienstag, August 17, 2004

Time Travel Pattern Language

I just discovered a paper describing the Time Travel pattern language for objects that change. The patterns address objects that have a browsable history of modifications where the modifications can have effects in the past and the future. These problems often arise with contracts where the time of making the modification can differ from the time where the modification takes effect.
Example: One week ago I buyed a new car. Now I send a notice to my insurance company. While the contract is modified tomorrow when my notice reaches the insurance company, the modification has to take effect one week ago in the past.
Once I was in a project at an insurance company and we had exactly the same problems. At the end we came to very similar solutions. Had we known the Time Travel pattern language we could have saved a lot of time, not only to find the solutions but more important to communicate the problems and the solutions.

Post bewerten

Montag, August 16, 2004

Unit Test Smells

The term smell was taken from the refactoring discussion. There a code smell comes from an ugly piece of source code that should be restructured (refactored) as soon as possible. Typical code smells are duplication of code, unneccessary indirections etc.
The term smell can be transferred to a lot of other “domains”, e.g. to the wide area of testing. This article is a first attempt to collect smells for the area of unit tests.

Post bewerten

Freitag, August 06, 2004

C-JDBC: open-source inexpensive DB clustering

When searching for techniques to create Java enterprise applications without buying and using heavyweight products one should take a look at C-JDBC. C-JDBC is an open-source product that supports the RAIDb concept (Redundant Array of Inexpensive Databases): C-JDBC encapsulates several database instances behind a regular JDBC api. To introduce C-JDBC into a project existing code needn't be modified as long as all database access is handled via JDBC.

Post bewerten

Donnerstag, August 05, 2004

Modular Software with PicoContainer

Most OO systems claim to be modular but very few really are. Normally OO systems have cycles between they modules. Even if there are no cycles the dependencies between the so called modules are chaotic and inflexible. A typical result is that developers can't instantiate a small set of classes for unit testing without having the rest of the system.
PicoContainer is an open-source project that provides a IoC-Container (IoC = Inversion of Control) that is very useful for defining and managing the dependencies between modules.

I collegue asked me once when I would PicoContainer into a project:
  • Right from the beginning?
  • Even for prototyping?
  • When the system exceeds a certain size?
I think that projects should use PicoContainer right from the beginning and even for prototypes. Even for very small prototypes PicoContainer pays off measured in Lines of Code and it adds very small overhead to the project.
Adding PicoContainer later to a project results in refactoring and will therefore often not done.

Post bewerten

Sonntag, August 01, 2004

Do You like to Eat an Elephant?

There is an funny and interesting article about EJB out there, called "Don't Make me Eat the Elephant Again". The autor argues that for most project EJB ist just too big and suggests some lightweight approaches to building Java Enterprise Applications.
I like the article very much since I know the suffer the author describes from my programming and consulting experience. It is the time for a change!

There is a very interesting book about the topic: Bruce Tate, Justin Gehtland: "Better, Faster, Lighter Java".

Post bewerten

Samstag, Juli 31, 2004

SCRUM Master

I participated the SCRUM Master training in Karlsruhe held by Joseph Pelrine. That was fun and now I'm a certified SCRUM Master.
BTW: A collegue of mine said that "SCRUM Master" sounds like something evil. I try to be not too evil :-)

Post bewerten

Funny GridBagLayout

Its always a highlight when profession meets fun. A very funny and striking description of Java's GridBagLayout is available as an interactive weblog.

Post bewerten

Donnerstag, Juli 15, 2004

JMigrator 0.4.0 released

I released the first version of JMigrator at Source-Forge as an Eclipse 3 plugin.
If anybody is interested in participating at the further development, please contact me.

Post bewerten

Montag, Juli 05, 2004

Trashcan Frameworks

Application specific frameworks often degenerate and become Trascan Frameworks. I have written my thoughts in a short article "Trashcan Frameworks".

Post bewerten

Sonntag, Juli 04, 2004

Large Refactorings and Fitnesse at Java Forum Stuttgart

Martin Lippert and I held a lalk about Refactorings in large Projects at the Java Forum Stuttgart. The slides are here (german). I submitted a presentation about aceptance testing with Fitnesse. This was accepted as a failover presentation. Since no other presentation was cancelled, the presentation wasn't held. But the slides are here for download although (german).

Post bewerten

Freitag, Juni 25, 2004

Refactoring Example for Beginners

I found a small code example that could be used by refactoring beginners.
  • What smells are in the code?
  • What refactorings can be used to remove the smells?
  • How small can the new solution be? (If you send me your refactored solution I may publish it here.)

P.S.: The code in C# but it should be easy to convert it to Java.
P.P.S.: If someone has the code in Java, please send me a link.

Post bewerten

Samstag, Juni 19, 2004

Customer related blog of Chris Matts

Chris Matts was a panelist at XP2004 conference. He works as a consultant for customers using Agile Methods. He has some very interesting things to say - a lot of these can be found at his blog.

Post bewerten

Book: Agile Software Development in the Large

First hand experiences from and guidances for doing large agile projects are very rare. Jutta provides helpful insights into large projects in general and the special challenges of doing large projects with agile methods like eXtreme Programming, Scrum or Crystal.

Jutta Ecksteins book "Agile Software Development in the Large: Diving into the Deep" (Dorset House Publishing) is published now. A german translation was published under the title "Agile Softwareentwicklung im Großen" (dpunkt Verlag).



Post bewerten

Donnerstag, Juni 17, 2004

Master Thesis with Empirical Data about Agile Methods

The master thesis of Carsten Dogs and Timo Klimmer provides some interesting empirical data about agile methods like eXtreme Programming.

Post bewerten

Samstag, Juni 12, 2004

Refactorings in großen Softwareprojekten

Martin Lippert and I have written a book about doing Refactorings in large projects. The book is available in german now from dpunkt. The english translation should be available in a few months.

Post bewerten

XP 2004: Agile Project Controlling

Henning Wolf and I have given a talk about Agile Project Controlling at the XP 2004 conference.

Post bewerten

Mittwoch, Mai 26, 2004

Some Research Questions

I am interested in some research questions but as far as I can see I won’t have the time to do the research. If you have the time feel free to pick a research question. I would be happy to get feedback if someone did some work on the research questions. Then I can publish references to the results on my web site.

Research Questions

Post bewerten