Friday, July 13, 2012

My Agile Avatar

Have been working in agile projects since quite some time now. But haven't really had the opportunity to select an avatar on the agile board. Most projects used a magnet with the member's name on it. Until now!

My current project is setting up a board where we can choose our display avatars. It's not an easy decision to make. After all, the choice is among the enormous media I've been exposed to in my lifetime. Popular choices are cartoon characters, super-heroes, movie stars, symbols, logos.

After giving it a good thought, I came up with mine. I want to be displayed as Scrat (the squirrel from the  Ice Age movies). Scrat is by far the most entertaining piece I've ever seen in a movie. A break-out character who gives the movie a whole new dimension. His obsession and passion for things is what I'd like to have.

So, agile boards, I'm Scrat! What's your choice?

Thursday, June 14, 2012

First look - REST architecture

After working with the REST architecture for over a year now, it's about time to mention some of it's traits. I started with reading the book REST in Practice and of course the very famous How I explained REST to My Wife. Must confess that this was the first architecture which appeared simple and straight-forward. Couldn't wait to put REST into practice.

During the course of the last year, I've been involved in designing several RESTful services. Having to stick to the standard HTTP protocol and verbs makes life much simpler when trying to figure out how the services should look like. There's not much room for creativity there! That said, all the creativity lies in getting the resources right. I must have spend 80% of the time in modeling the resources and attaching them to the respective domains. Used Domain Driven Design principles to modeling. This process of design helps create and document domain models, which were always missing and now without whom life seems impossible.

Some best practices to building RESTful services:
  • Domain model design preceeds service design
  • Stick to the standard HTTP protocol
  • Establish patterns specific to the applications, and write them down as guidelines
  • Create a service catalog for the RESTful services

Overall, I've been very satisfied with the REST architecture. When implemented cautiously, it has the ability to create a services landscape, which are re-usable across front ends, and other systems. A dream of many, a reality for some!

Thursday, April 19, 2012

Play, Game, Gamification

Our society has a special place for play. Play is a free and voluntary activity, a source of joy and amusement. It’s almost a separate occupation, isolated from the rest of life, and is engaged in within limits of time and space. A game is a form of play with rules and agreed boundaries. It operates in its own universe, bound by its set of rules and borders - often called ‘pure space’. The confused and intricate forms of ordinary life are replaced in this fixed space and for this given time by an agreed set of rules.

Essentially games fall under one of these fundamental categories:
Agon: Like a combat where equality of chances is artificially created in order to have players compete against each other, resulting in the winners triumph. Example: Most sports (football, racing, boxing, etc.), board games.
Alea: Games based on a decision independent of the players, an outcome over which he has no control, and in which winning is the result of fate rather than triumph over an adversary. Examples: dice, lottery, heads or tails.
Mimicry: Games involving role playing. Examples: Hamlet, Nero, dancing
Ilinx: Games involving sense of altering perception. Examples: roller-coasters, swinging, spinning, dancing.

Games keep players engaged and motivated. Engaged and motivated people are essential to the success of any organization. The use of game design techniques, game thinking and game mechanics to enhance non-game environments is called Gamification.