Friday, March 12, 2010

2010 Orlando Scrum Gathering- A Retrospective

Just returned from the Scrum Gathering in Orlando. Two years in a row at the same place. I think we are liking the place for the gathering at this time of the year. As I am writing this retrospective, many things are coming to mind. But, I will start off by saying that what a difference a year can make. I wrote a retrospective after 2009 gathering. If you are interested to see how things have changed in the last one year, I would encourage you to read that post too.

With all the things that have been going on in the Scrum community and in the Agile community at large, I must admit that I went there with a bit of skepticism this time around. To my surprise, I sensed a lot of "calming energy" in the community with many new and familiar faces. Tom Mellor summarized it well for everybody at the closing,
                                  " I feel satisfied."
 What were new at this Gathering? There were 6 different "deep dive" sessions on the first day. Each session focused a specific topic (i.e., Kanban, Coaching, Software Craftsmanship, Collaboration etc.)  very relevant to the community. I went to the "Innovation Games" session hosted by the creator Luke Hohmann. I am planning to buy his book. If you haven't heard about it, I recommend that you check it out. From what I gather, participants found all the sessions very useful. The only dissatisfaction I have that I could not attend more than one session since each was day long and all were on the same day. Hopefully next year we would schedule them on different days.

Also this year we had "Scrum Clinic at the Dialog Room" for the first time. Thanks to Gerry Kirk for organizing this. The idea behind Scrum Clinic was that people would singup as a "doctor" or a "patient."  Patients would seek advice from doctors on a pressing issue with their Scrum implementation. It was a hit. All the slots were filled. I played the role of a doctor and helped (hopefully) two patients. I thought people might not show up because either they would forget about it or not be able to come out of sessions (wherever they happened to be at the time). To my surprise, both doctors and patients were serious. I would love to see this extended to all days in the next gathering.

Social media was leveraged more this time than in the past. You can see what happened at the gathering from the event's posterous (you can see me playing volleyball in one of the video clips) site.

What's new with Scrum Alliance? Tom and Tobias have shown a great leadership in putting together a great event. Hats off to them and the staff and other volunteers. It seems the alliance is evolving into more transparent organization. The board has decided to include two members from the extended community to server on the board through election. This is a great step in the right direction. There are more regional gatherings in the works. First ever China Gathering is coming up in April. There were a lot of talk about trainer certification. Tobias is working on redesigning the process. Certification in general and specifically trainer certification is a thorny topic. There was an open space session on this very topic.

Scrum Alliance is collaborating with CMMI  community to understand and explore how the two frameworks can co-exists. Jeff Sutherland and Kent Johnson are working together on this. They shared a case study about how CMMI and Scrum were adopted at a company called Systematic (the world's first Agile CMMI level 5). According to them, Scrum as-is is considered a CMMI level 3 equivalent. The lack of a formal recognition of a manager and client roles as well as a compliance framework is preventing Scrum to become a CMMI Level 5 equivalent. While I agree we need to recognize the role of managers, to be honest, I did not like what I heard so far, specially the idea of "compliance." It remains to be seen what comes out of this collaboration.

What was hot? Of many things discussed at different sessions, it seems coaching the coaches (Lyssa Adkins),  coaching and managing self-organized teams (Joseph PelrineJurgen Appelo), and using different games to help Scrum teams to understand Scrum principles and perform different activities more effectively were the favorite topics at the Gathering. Both Lyssa and Jurgen have a book on the respective topics coming out soon.

What I wish were there at the Gathering? It seems we have learned to collaborate with the PMI community and the relationship is maturing. There was a dedicated track on Agile PMI. However, I have not seen much of a presence from XP, and Kanban community. The recent exchanges among these sub communities are anything but cordial. It is sad. It seems as an Agile community at large, we are acting in our self-interests. It goes against what we all stand for, that is collaboration and learning (mutual respects).

So, I will end this retrospective by challenging all of us to rise above our personal differences and foster a true collaboration in search for better results in what we do everyday. Is that too much to ask for?

Thursday, March 4, 2010

Ruby on Rails setup on Windows

Most of the in Rails community uses Mac and or Linux to develop Ruby in Rails applications. So, it is difficult to find resources or help on how to setup Ruby on Rails on Windows. Unfortunately we do develop on Windows since we also work on .Net application and cannot afford to have both environment.

Recently, I had to get a new laptop that came with Windows 7 (64-bit) and had to go through the pain of setting up a Ruby on Rails environment from scratch. The biggest challenge I faced was with the gems that require native extensions, for example, "rcov." And, the rest were to do with 32-bit versus 64-bit. If you are on the same boat, here is what you need to do,

1. Install Ruby. Get the Ruby installer from RubyInstaller.org. They have done a great job of putting together a great installer for the versions you would (1.8.6, 1.8.7 and 1.9) probably want to use. I would recommend installing it under C:\Ruby (the default) directory to avoid any configuration changes in the later steps of setup.

2. Update "PATH." Make sure that your "PATH" environment variable includes the Ruby\bin directory.

3. Setup to build native extension. Get the development kit from RubyInstaller site in order to be able to build native extensions for gems that require it. You need to get the 7-zip, if you do not have it already. Extract the files where you have installed Ruby.

4. Setup Gems. Now you can follow the usual steps of installing Rails gems as well as other gems. Gem should be able to build native extension without any problem. If you are on Vista or Windows 7, you have to run gem command from command shell opened as "run as admin" (by right clicking the program even if you are an Admin). I did not know this. It is Microsoft's attempt at becoming Unix (emulating "sudo" command).

5. MySQL setup. If you are using MySQL, you want to get the 32-bit version even though you machine is 64-bit. This is because the "mysql" gem that is available already comes pre-compiled with 32-bit version. You may still run into an error (i.e., MySQL::Error: query: not connected: SHOW TABLES) while accessing your database. This is most probably you have a newer version of MySQL than the "mysql" gem was originally compiled with (MySQL 5.1 does not work well with Rails 2.2 and later). You would need to get this libmySQL.dll. You need to get the older version and put it in Ruby\bin directory. 

That is all. You should be good to go. Let me know if you still run into issues following these steps.
_______________________________________________________________________________
Update: I ran into issues with the 1.8.7 version. Something to do with GC. Siwtched to 1.8.6, and it is working fine. March 12, 2010