Wednesday, October 11, 2006

Patterns and Practices Summit - Day 3

Again, today I will be updating this blog after every session.

Today's sessions, in a word, were "supercalafragalistickexpialladosous".  that may be spelled wrong, but who cares!

Micro-Pairing - Peter Provost & Brad Wilson
(why arguing while you code is fun and productive)
"Real time code review" - Stop calling it Pair Programming! Have I used the term "tag team"?  This is pretty cool stuff.  some new concepts for me include passing the keyboard at every step - Red, Green, Refactor.  I would not want to get in an argument with either one of these guys about TDD or Pair... wait .. Real time code reviewing.  One other interesting point was the discussion about team members and their skill level.  What do you do with devs that just don't want to work this way?  re-think the added value that that team members gives you. Maybe there is another place in the organization for them.  Or as Peter says - "Fire Them!"  Actually, the discussion moved toward this not being an Agile problem but a management problem.  Can you tell I enjoyed this session?  you bet!  It makes me want to go back to my organization and work harder at making this part of the agile process work.

Patterns for Connected Systems - Ted Neward
Ted present a thorough review of some patterns that are related directly to Integration. He then connected each pattern to how it would be implemented in WCF.  This will be very useful once we can make the move to WCF. Even though the code samples were in Java (which he integrated nicely into the presentation) I could see how we can make specific patterns work.  He took each pattern and presented the Problem space it addresses and then the Forces behind the patterns implementation. Another interesting aspect to this presentation was the constant exchange of viewpoints between Ted and Rocky. Can you say agree to disagree?

Agile Testing Guidance - Alan Ridlehoover
A brilliant reminder to me why CI and testing is so important.  My team has been without a CI process for several weeks now because of our migration to TFS and the loss of some key personnel.  So my pain is real.  My deployment to QA last week is still going on.  One reason for this is because of the lack of a working CI process.  Alan goes so far as to suggest that a ailing CI freezes all development until fixed.  This might be a little extreme for our team at the moment but the point was that if you are to make the CI process work you have to take it seriously.  I have a tendency to agree!  Thanks for the reminder Alan.

Presenting the Model - Brad Wilson
Testable UIs are challenging.  Brad made it look simple using the MVP pattern.  What is MVP?  It is Model-View-Presenter similar to Model-View-Controller except that the Presenter only talks to the View.  The View has no logic at all, it is told everything via the presenter.  Brad also does all of his demos using Test Driven Development.  This is great because he exposes the ease of TDD in what is a typical coding scenario.  He never wrote a piece of code without having a test for it first.  He used the typical TDD process Red, Green, Refactor. So what Brad is doing is testing the presenter and not the view.  In his words, not mine, "I have a QA dept for that". Great job by Brad!

Lunch discussion - patterns & practices Incubation
Requirements Gathering and Management
- John Socha-Leialoha
This is a new project that may or may not turn into a full fledged product.  This looks like it would fill a gap that currently exists between Developers and Business Analysts.  Have you ever tried to gather all of the requirement artifacts associated with a specific iteration?  It can be a vary tedious process and then you still might miss some.  It looks like this tool will address that gap as well as many others.  The idea that requirements wont get lost in the vastness of sharepoint or that we will be able to always be looking at the latest and greatest artifact with updated links and everything is fantastic!  I, for one, am very excited about this tool. I hope it comes out sooner rather than later. You can find out more at

Continuous Integration - Wayne Allen
Wayne is very mild mannered.  His presentation style is slow and deliberate but for the most part effective.  Most of the material he covered we have already implemented at my organization.  As a whole the presentation was very basic and high level.  It was more of an overview of CI and what it is as opposed to a deeper level how do I implement presentation.  That being said I did learn about the amount of different tools available for CI that I was not aware of.  We us CruiseControl.Net inconjunction with MSBuild.  I also thought there would be more folks out there using CI but from the raise of hands I could see that we are ahead of the curve in this area.

An Agile Talk on Agility - Peter Provost & Michael Puleio
This was cool!  We were presented Agile development in an Agile manner.  We created a backlog of discussion items, prioritized the backlog and had 10 minute iterations. My organization utilizes a customized version of Agile development.  One of the key things I took away from this presentation was that Agile can succeed given buy-in from developers, business analysts, upper management etc..  Another key thought is last responsible decision making.  What does that mean? It means there is a point of time when it becomes irresponsible to put off a decision. That is the proper point at which the decision should be made. This is Cool!

Future of patterns & practices - Rick Maguire
Rick's Keynote this morning was informative and I was interested in learning about how p&p came about and where it's going.  The real value of this session was the frank feedback and questions that came up at the end of the presentation.  Some thought it was hard to see p&p in a concise location and there was some uncertainty regarding who we should contact for certain feedback as we go on. They are giving us a usb key with all the contact info and the presentation decks which I will post some of at the end of the summit.