About   Forum   Wiki   Home  

       
    Managed Chaos      
   
Naresh Jain’s Weblog on Object thinking, Patterns, Open Source, Agile and Adventure Sports

 
`
 
Tags
Recent Comments
Quick Search
Recent Entries
Categories
Archives
November 2008
M T W T F S S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930
Add to Technorati Favorites

Syndicate This Blog
Entries (RSS)
Comments (RSS)

India.exit(MichaelFeathers)

Sunday, August 31st, 2008

I just spend the last 3 hours pairing with Michael Feathers, who is on this way to the airport. Michael spent the last 2 weeks in India. During this stay in India he presented a tutorial on Working Effectively with Legacy Code in Delhi, Bangalore and Mumbai. He presented some simple yet powerful techniques of dealing with various issues in Legacy OO code. 

Michael Feathers in India

Wednesday, August 20th, 2008

Mr. Feathers is in India for 2 weeks. He is doing a TDD training for a company in Bangalore.

Flashback: I was really happy when he dropped me an email saying he is coming to India and would like to meet up with Agile enthusiasts in the area. After exchanging a few emails, we settled on running 3 free workshops in Delhi, Bangalore and Mumbai. Yes, that’s right, its your opportunity to meet him in person and spend 3 hrs talking about Working Effectively with Legacy Code.

As usual we are using the Position Paper’s concept to filter in the really interested folks. Over a period of time, the quality of the position papers are improving. Also position papers helps in setting expectations on both sides, the presenter and the participants. The present can adapt their workshop based on the position papers and the participants can gauge what the workshop will feel like based on other people’s position paper. 

I really looking forward to pair with him on my Avatars of TDD experiment. 

Why is common sense so uncommon?

Saturday, June 21st, 2008

And this continues to puzzle me….

Through the Agile Software Community of India, I’m organizing three workshops by Mary and Tom Poppendieck in Mumbai, Bangalore and Delhi. As a way to ensure quality (passionate and committed) individuals get to attend this workshop, I introduced the concept of a position paper. To participate in the workshop interested people have to add their position papers to ASCI wiki. The position paper is a simple, plain text response to 3 basic questions. The idea is we have an index page (home page) for the workshop in each city. People are supposed to add their name to the table (index) and link their position paper page from this index. This helps each one create a position paper page on the wiki, add what they want to add to the page and then link it up to the index, so that anyone can see who all have signed-up and if they want to know details about any person, they can click on their position paper link.

This might sound a little cryptic, but when you have an example to see, it all seems to make perfect sense to me. But if you see what has been happening on our wiki with these position papers is:

  • Some people don’t know wikis and they just email me saying here is my position paper. I’m happy at least these folks are not messing the whole wiki
  • Some people can add their name to the index, but don’t know how to create link. Even if there are 30 other people who have create a link one line above their text, they cannot figure out how to create a link. There is a link to the guide, but that apparently is not helping people either.
  • Some people don’t understand or don’t want to understand how to edit a table on a wiki.  Even if there are lots of other people who have added their rows to the table, some people cannot figure out how to. They keep doing wired things like randomly adding pipes and that messes the whole table up.
  • There is a description on the top of the page linking to the position paper description page. Some people click on this link, delete the position paper definition and add their position paper right there.
  • Some folks just clicking on the first person’s position paper, deleting the content on the page and adding their own content. So you click on person A’s position paper and you’ll see Person X’s position paper
  • Worst of all, some people are deleting the whole index page and just adding their position paper without any name or any other details.

In all these instances, people are not try to knowingly mess the wiki, but unknowingly are doing all this non-sense. Now one might feel this is common sense, why is this so difficult? If nothing else copy what others have done and that seems to work. My big question is “How can these guys build complex software applications for their clients, if they can’t work with a wiki”?

You know what scares the shit out of me, when I think of over 1 million people in the Indian IT industry who are out there. At least these people are taking an initiative and trying to learn something by attending these sessions. But what about those over million software professionals who don’t even have the drive or energy to learn something new?

Agile Chandigarh 2008 Workshop - Summary

Monday, May 19th, 2008

I just got back from Chandigarh after participating in the Agile Chandigarh 2008 workshop.

Vikram Dhiman did a great job of organizing the workshop. I really appreciate his initiative.

We had over 35 participants from 11 different companies. I was surprised by the level of Agile knowledge the participants had.
I ran the Waterfall to Agile demo followed by Agile Overview presentation. After this, Vikram gave a great presentation on Agile Myths. The last presentation of the day was from Rajesh. Rajesh spoke about the role of a manager. Rajesh was just introduced to Agile by Vikram a couple of weeks back. Rajesh has been doing Management consulting for the last 15+ year and he was happy to see that Agile is embracing what he calls “Common Sense” management.

Vikram will upload all the slides soon.

Thanks to all the participants and organizers. I wish more people take up initiatives like this, so that we can spread the agile awareness faster and move up the value chain.

Starting a new User Group

Sunday, May 21st, 2006

I‘m not an expert in setting up and running user groups. But these are my experiences starting a few agile user groups in India and Philly.

Following are important ingredients for any user group:

  1. Vision or Goal
  2. Facilitator
  3. Body of knowledge
  4. Discuss topics or content
  5. Individuals
  6. Venue
  7. Offline discussion forum

Vision: The primary vision/purpose/goal of any user group is to provide a platform for the members to share and learn from each other’s experience. Its a peer-to-peer learning and exploration platform. I like to call this SCube = Speak, Share and Seek.

Facilitator: Running a user group needs one or more facilitators who understand this vision/goal backed with a lot of passion, motivation and energy. Their primary purpose is to build a self organized group without trying to be gatekeepers. The facilitator need not be an expert on the topic. What I have seen happen in most of the cases is:
“A person is interested to learn more about a subject and is looking for ways to learn from other people’s experience. S/he is unable to find an existing platform to exchange ideas with other people. So they go the extra mile to set up a platform for people to meet”.

Starting a group is relatively easy. The real fun is in sustaining the group. As the group starts growing, one has to make sure the right topics are been discussed. They also need to keep people’s egos under check as the group grows bigger.

Body of knowledge: Every user group needs some source of information for the following

  • to drive the topics
  • to get external speakers and
  • to help with the logistics.

The internet can be a very good source of this knowledge. It can also be very helpful to have a body that supports such initiatives. For examples in India, ASCI can help you and support you if you want to set up Agile User Group in your city. Right from financial support to logistics and contacts, all of this information/knowledge can be provided by these bodies. They can also help the group to be focused.Discussion topics or content: This is the real meat for which people would be interested in the user group. The group needs to have a good mix of the following:

  • Presentations: Good for introductory sessions and for presenting experience reports. Helps to bring people on the same page in terms of terminologies, vocabulary etc.
  • Discussions: There are different formats of discussion which can be helpful:
  • Activities/Games: This is one of the best ways for people to experience the topic. Folks have found innovative ways of explaining both technical and methodology related topics. For Ex. Agile related topics XP Game or Waterfall to Agile Demo
  • Hands on sessions or workshops: While the participants can benefit the most out of these sessions, it‘s also a lot of work to set this up. In the agile space the most common workshops are:

One should try to involve experience people to present/facilitate some of these discussions. In fact I have seen most innovative ideas come out when someone from the particpants come forward to facilitate the meeting.

Individuals: Having a small group of motivated individual willing to self organize. Most importantly they should be eager to learn and open to share knowledge. Having a diverse group of people from different companies/backgrounds can maximize the learning for everyone. When starting a new user group I have always found it to be helpful to not focus on numbers. A small set of motivated individuals is more important than a hall full of “I don’t care” individuals.

Venue: Any decent place convenient for majority of the group to meet. Ideally a conference room at someone‘s office or a classroom in some university or just any place can work. If you are using office space for meeting, be sure to rotate the venue between different similar companies to avoid one company‘s monopoly.

Offline discussion forum: A wiki and/or a user group on Yahoo or Google can provide the platform for offline discussion and collaboration. Any logistics related info should be radiated thru this forum. Great discussion happens on mailing list, but one needs to be aware of their limitations due to deterioration in communication bandwidth.

How to get started?
I believe in starting small. Trying to get a small, focused group of motivated individuals meet regularly and discuss interesting topic. Topics than can help them right away at work or else where. One should be able to find few people in their city or near by, who have experience on the topic. They can share their experience.

Once you have a small group in place, you should form a mailing list and start the initial discussion. Hopefully someone from this group should be able to get a venue for the meetings. Coffee shops, bars, office spaces, university class rooms are all good to begin with.

One should try and find people in the group who can volunteer to present/facilitate a topic/discussion. To start, it would be good to have a few nice topics on hand and then let the group decide what direction they want to take after that. Just discussions can get boring; organizing some activities can really help break the ice. In addition to these activities it would be good to find someone who can facilitate a workshop or some hands on sessions.

Asking people for suggestions about books, sites, articles, blogs, etc can help to get started.

    Licensed under
Creative Commons License
Design by vikivix