Blogs

Pair-Programming Shu-Ha-Ri in Passes the First Test

Not too long ago, I formed the .NET Meetup so I could meet other .NET local developers, learn a few tricks, and work on improving my .NET skills.  We've been meeting weekly, and until recently had a very loose agenda where we were supposed to form ad hoc groups and work on projects.  Unfortunately, that didn't work too well insofar as even self-organizing teams need structure.  That led me to conceive of something I call Pair-Programming Shu-Ha-Ri, based on some of the concepts of pair-programming and Martin Fowler's write-up on Shu-Ha-Ri.

Tonight we put the idea into practice, and I think it went pretty well despite the lack of Masters/Guides.  The main goal for the evening was to be productive and pass down knowledge and technique, and from the feedback I got, I think that was accomplished.  We broke up into two teams where there were two students/laptop and a guide for the team.  Each team brain stormed an idea, and the master guided the team to breaking down the idea into clear defined goals.  Each team then created a mock-up and some of the teams got started on writing unit tests using NUnit.

From talking to the novices, they seemed to appreciate how the session focuses on the Master showing the Student how to be productive using the Master's methods.  Concepts are explained when necessary, but only enough to complete the task.  There are better ways to learn concepts, these sessions are all about learning technique.  A number of the Students never used NUnit or had done test-driven development before, and a few mentioned they will be doing more test-driven development with NUnit in the future.

I'm looking forward to the next session, but I would like to see more Masters/Guides come out so the teams are more of a 1-on-1 experience.

Pair Programming Shu-Ha-Ri

  My friend Dossy introduced to Shu-Ha-Ri sometime in the last year.  From Martin Fowler's blog, he says, "Shu-Ha-Ri is a way of thinking about how you learn a
technique."  The idea is a student should go through 3 phases when learning something new. 

  • Shu involves doing exactly what your master tells you to do so you learn his technique.
  • Ha involves branching out, learning new techniques and focusing on the theory.
  • Ri is where the student doesn't learn from a master but branches out on his own and learns from his own experiences.

   We started a weekly studying/coding group a month back and it's already grown to 7 people.  To help the group be successful, I started thinking it might be a good idea to incorporate a little ShuHaRi into our little session, but adapt it to the principles behind Pair Programming.

Pair Programming Shu-Ha-Ri Rules

  1. Break up into teams comprised of 1 experienced developer (Master) and 1 less-experienced developer (Student).
  2. The Student sits at the keyboard, the Master will dictate to the student what to do.
  3. The Student is responsible for setting the agenda.  He tells the Master what he wants to work on (Task List, Web Crawler, etc.). The task can be something he worked on over several weeks, but it should be small.
  4. The Master will break up the Student's goal into small workable pieces.  The Master will break these pieces up into very specific and small realistic goals that can be accomplished in an evening.
  5. The Master will guide the Student to finishing the goals for the evenings and the Student will do it in the way the Master tells him.

MySQL Meetup - Wednesday March 7th at Robert Half in Paramus, NJ

This month Martin will be leading us into a discussion about a few MySQL topics, some which may include a presentation:

  • High availability MySQL (fault tolerance, clustering)
  • Client-side (application) vs. server-side (stored procedures and functions) with respect to performance
  • MyISAM vs. InnoDB: MySQL storage engines pro's and con's
  • Revision control of the database schema and its contents
For more information and to RSVP, please visit: http://mysql.meetup.com/23/calendar/5462309/

First Entry, and a quotation...

I keep six honest serving-men (They taught me all I know) Their names are What and Why and When and How and Where and Who. ---by Rudyard Kipling  I like this quotation. The search for knowledge is endless and very fruitful. I've found that working in IT requires that I know these "serving-men" and I believe you should too!!

A Tour of jQuery

This tuesday I did a short-presentation about jQuery with an interactive demo and a live coding demo that could have gone better. :) If you've never heard of jQuery it's a fantastic javascript library which makes DHTML incredibly productive.

In essence, the basic idea behind jQuery is you select the HTML you want to work with using CSS or XPath selectors and manipulate them while writing little to no enumeration code. If that's not enough for you: You're also usually able to solve many otherwise complex problems in 1-3 lines of code because of the way jQuery utilizes JavaScript's method chaining. While method chaining is nothing new, jQuery demonstrates how a well-thought out object with well thought out methods can make method chaining a very productive tool.

If all that doesn't sound like it's enough for you, I think the jQuery plugin page speaks for itself.

Really Good Java Meetup

I'm just getting back from the Java meetup tonight and I must say I really enjoyed it. A really good group of guys came out and I think everybody enjoyed the brain dump session. We talked about all sorts of topics ranging from Java MVC frameworks to AJAX toolkits and database systems.

I regret not taking more notes and jotting links down for other people like we did at the last Web Design meetup, but I bookmarked a few of the websites. They are available in my delicious links: http://del.icio.us/sgoguen/

As we have more of these, I'll try to make a point of publishing the links and topics we discussed. Hopefully, the Wiki will be more accessible by then...

Here are a few links from the evening:

NJ Geeks now using Drupal

I've finally gotten around to setting up Drupal and using it as the primary portal for the NJ Geeks website. My goals are fairly simple in that I want to start publishing a lot of information for people to find local tech events.

I'll try to get all the policies together so the website is very accessible. I will be installing TinyMCE (A WYSIWYG editor) in the next day or so, as well as installing a few modules for things like images, files, etc.

Syndicate content