Aspects in Requirements Engineering

After Aspect Oriented Programming (AOP) became popular, people started to think about Aspect Oriented Requirements Engineering (AORE).  Kaindl published a neat article trying to figure out what exactly was meant by that. Amongst other things, he points out that there is confusion about whether "Aspect" is meant as a synonym for crosscutting concern or a solution to it (in his opinion, the first doesn’t make much sense, and I agree; even the secion he doesn’t like to much, but the term is established, and we’re stuck with it now).

So Aspects solve cross-cutting concerns; in Software Development, typicall cross-cutting concerns are authorization, authentication, transaction management and more.  Aspects provide a means to modularize these concerns.

Kaindl points out that almost always there is the hidden assumption that crosscutting concerns in software are the same as crosscutting concerns in requirements – but there is no foundation for that assumption!  In fact, I would consider this a dangerous assumption.

So where does that leave us? Kaindl’s point is that we should avoid falling into the trap that cross-cutting concerns in requirements are not necessarily the same as in software.  But what are the cross-cutting concerns in requirements?  That’s a question that needs more research, but I am sure that it depends on the representation of the requirements, amongst other things.  In a plain text specification, every entity (noun) or every action (verb) could be considered a cross-cutting concern.  Consider a specification for a simple traffic light.  Many requirements may refer to the same,  traffic light in the specification.  In the specification, the traffic light is a crosscutting concern.  But not in the implementation – there, the traffic light may be one neatly capsuled object.  Other representations don’t have this problem.  KAOS, for instance, explicitly models objects.

Food for thought.

The Hunt for Gollum

This weekend an amazing film got released: The Hunt for Gollum, a side plot from the Lord of the Rings.  Watch it for free online.  This movie shows how the whole can be so much more than the sum of the parts, and that the Internet is an amazing enabler.  Enjoy.

How to manage your goals

A new year, time to set goals! Seth Godin talks about the importance of Goals, and Joel Spolsky added his.  Ever since I switched to Linux I missed LiveBalance badly, which I used for several years to manage my goals (and life, for that matter).

I am cautiously hopeful that I found a great substitute: The web-based Toodledo tool.  There is even a way for iPhone-Users to use it offline!  The free version is already extremely powerful, but at $14.95/year it’s a no-brainer to get the Pro-Version.

Triiibes Q&A Book complete

I’ve been lucky enough to be part of an exciting experiment.  Several months back, Seth Godin set up an invitation-only website called Triiibes. This accompanied the preparation for his new book Tribes.  To get a glimpse on what’s going on there, check out The Daily Triiibunal.

This group is inspiring, and moreover, productive!  Together with the book launch in October, the group released the first accompanying eBook, the Tribes Case Book.  And they just released the second one, the Q&A Book.  Especially the second one is amazing in quality and done just by volunteers who are passionate about Tribes.  Check the books out, they are free and quite amazing.