Showing posts with label crystal. Show all posts
Showing posts with label crystal. Show all posts

Saturday, September 12, 2009

Agile 2009 - Day 2 - 25th August - Alistair's Keynote

Tuesday at Agile 2009 started well. The conference provided a very good breakfast with chocolate croissant (I love those), coffee, tea, fruits, juices and different kinds of breads.

From there, everyone went to the Grand Ballroom to watch Alistair Cockburn's Keynote. I won't need to write a full description of Alistair's talk because InfoQ just published the full video of it. So it will be a bit closer to my impressions.

First thing I need to mention is that once Ahmed Sidky (Agile 2009 Program Chair) introduced Alistair, we had an amazing performance of Wind's Song Flutes playing the one Scottish music used in all movies and Alistair was following silently behind. Very impressive entrance. Alistair then explained why wind's song flutes players always walk when playing: "They are running away from the sound".

Past the fun, came the sadness. Alistair started his talk reciting an adapted version of the funeral oration from Shakespeare's Julius Cesar to Agile Software Development. A very impressive performance. It was the introduction to say not that Agile was dead but that it was melted. He compared Agile to an iceberg in the ocean (software development) and said that before, Agile was something that people noticed because it was outstanding from the rest. Nowadays, the iceberg has melted. It is not gone. But it is now part of the ocean. It is now something that is accepted by most people.

He then moved on to his viewing of software development you might know if you read any of his Crystal books or articles or if you attended any session with him.
He defines Developing Software as
People
Making Ideas Concrete
in an Economic Context

He then showed this image that I particularly like:
He explains that Software Development can be considered a finite, goal-directed and cooperative game while building IT Systems is open-ended. This means that when you are developing software you should work in a team to reach a goal and you are done when you make the software achieve that goal. On the other hand, when you think about the whole system, you want to work cooperatively in an open ended game. Meaning you are always in a dilemma between delivering the software and setting up for the next software (or game).
He says also that this game is consisted of 3 possible moves: Invent, Decide, Communicate. With those moves you have to deliver the software and be slightly prepared for the next game.

He then went on to more traditional arguments he uses for Crystal. Team size and criticality of the project are key to decide what practices you should apply. He also mentioned the quality of communication between people and the fact that most means are much more effective than paper to communicate so people should really think about different forms of documentation.

He also talked a little about the Craft focus that is being given to software development lately. He pointed that thinking of any activity as a craft helps you identify the skills required to perform it and the medium available to achieve the goal. Moved a little to the User Experience entrance in the process of software development and how things changed or should change to be more effective in overall.

It was a very good talk. A bit repetitive for those that already attended any session with Alistair but still very a great talk. I definitively recommend you see the whole video from InfoQ and feel free to post comments to start a discussion on any of those subjects.

Next post will present Rachel Davies and Liz Sedley's "Top ten tips to Agile Coaches".

Monday, October 27, 2008

Crystal Monday morning at OOPSLA 2008

Hello,
As always with OOPSLA, once it starts it is very hard to keep anything updated since we get so busy. Monday was an interesting day.

I had to pleasure to attend to Alistair Cockburn's tutorial called Crystal Clear Methodology. As I expected it was very interesting. Alistair's work is well known and I am surely not the best person to talk about it but I will try anyway. Although I already heard about the Shu-Ha-Ri levels of knowledge (that are not that far from Apprentice-Novice-Expert-Master from the Dreyfus model), it is always better the have them explained from someone that know them very well.
The idea is that the Shu level of knowledge is the one where you want to learn the basis. It basically means you want a recipe that can help you get the thing done without having to give it much thoughts. This is how you learn most of the things in life: reading, writing, riding a bike, cooking, programming and those sort of things.
Once you are comfortable at reproducing those steps, you want to have a better understanding about why the best practioners in the fields do it differently from time to time. You then pass to the Ha level. In this level, you get to collect all sorts of techniques in the field you are learning. This is when you learn the exceptions, the cases, the workarounds and stuff like that. If you take the learning to ride a bike example, this is when you can take those auxiliary wheels off and do those nice curves all by yourself. You might also learn how to straight your bike and have it running on just one wheel.
When you get to master those several techniques, you get to understand how or when to use one technique or another. At this level, you are reaching the Ri. From then on, you can pick techniques according to the context. Your answers to any question become "It depends..." and very slight changes in the environment can make you change radically the way you do things. At this level, you might even inovate with new solutions that you never really thought about, they just feel right.

If you are familiar with the Dreyfus model of knowledge, you can see very clearly that those are very closely related ideas. It is interesting to perceive how the transitions in this model are more fluid or, let's say, more oriental opposing to the transitions in the Dreyfus model being more occidental. More on those differences to come on the next posts.

The rest of Alistair's tutorial showed how XP (first edition) and Scrum are excelent Shu descriptions of Agile methods although the author are clearly at the Ri level themselves. XP (second edition) and the Crystal family, on the other hand, are, according to Alistair, better suited at the Ha level since they present a set of possible solutions according to a given environment. I personally don't think the Ri level can be learned with a book which makes me believe that we can't go much further than Crystal in the matter of describing Agile methods if Alistair is right.

There was much more content on Alistair's talk but you can learn most of it from his books.

That was it for Monday morning. More posts comming with the rest.

See you all!