Monday, September 30, 2013

MacGyver and the A-Team

I have used this approach to successfully and sustain-ably implement the REST architecture. Yes, this blogpost is still about software development! The credit for coining these terms go to Ron Kersic.

Couple of years back we began with a new architecture implementation that involved RESTful services. As with most new things, the details were missing. The vision was clear - RESTify. But the mission and how to get there - NOT!
We chose for the Macgyver - A-Team approach to rescue us.

MacGyver phase
 
How this works is real simple. MacGyver, as most people know is someone who only needs a swiss army knife to put his scientific knowledge into action. For those who are from my generation and later could read up on this character here.
The MacGyvers in our case were a team of 5 persons; belonging to different specializations from an architecture point of view. I was the Design MacGyver. We set out making an inventory of stuff that is being handled by the current architecture and stuff that needs to be handled by the new, RESTful architecture. This was by no means a complete list but just items which required immediate attention to get a setup going. We worked out the items in proof-of-concepts and got a working bit going. What's important here to note is that the solution was not as polished and refined as it needs to be, but we got stuff up and running! This took couple of months (2 hours a day to be exact).

A-team phase

Once all the items in the list were tackled, the A-team was formed. This team consisted of stakeholders from all aspects of interest in an architecture (design, development, infrastructure, domain knowledge). Lot of people overlapped but new ones joined as well. The A-team worked on getting stuff refined created by MacGyver. They worked on getting stuff documented (standards, guidelines, etc.). They worked on proclaiming the knowledge using training, workshops.

Looking back
The MacGyver still exists. He is available on demand when something needs architectural attention. He happily does his swiss knife magic. The A-team helps in the refinement and the broadcast of the message. The project teams use the principles and work towards finishing the product. An emergent architecture setup!

I can't stress on it enough - it is crucial to get stuff working and get immediate feedback before it's rolled out to the mass. The MacGyver - A-Team approach addresses exactly this and am very happy to have discovered it.

Thursday, September 26, 2013

2 years of doing Gamification

Last two years I've been involved in initiating and implementing Gamification. And what a learning experience it has already been! It all started with a simple problem. After leading a group of developers for couple of years, I noticed that we could use more binding as a group. This was difficult to achieve given the fact that we were placed at different locations and worked for different customers. The feedback from the group made this problem very clear and I set out in search to address this problem. I remembered the TED talk from Gabe Zichermann where he talked about games providing engagement. And I thought: let's try and see if it really works.

Level Up

With a small core team, we designed a game; very custom-made, fit-for-use for our group. The design and implementation of the game kept the core team engaged and the rest of the development community liked the fun aspect of it. But stuff like this doesn't remain hidden. Soon people from the rest of the organisation found out and before we knew it, the game was rolled out to the whole of our Netherlands business unit.
The game is simple and revolves around badges like most gamification projects. But what makes it special is that customization. It is tailor-made. We introduced events to go with the game - pure gamification events! They are fun and bring people from all over the organisation together. We created a game we wanted to play!

After 2 years, we are now a Gamification special interest group which attracts people from all corners of the organisation having different roles. What gels this group is the drive to study effects of Gamification and how to implement it in different situations. All of this is done after office hours. We have achieved Engagement!

Looking back, I'm very happy with getting to know and experimenting with Gamification. I will be implementing it in every context where I see a possibility.