Software Development, Agile Practices, Lean Thinking, Music
[ start | index | login or register ]
start > 2007-06-04 > 1

2007-06-04 #1

Created by brandon. Last edited by brandon, 2 years and 280 days ago. Viewed 191 times. #1
[edit] [rdf]
labels
attachments

No (ok maybe a little) Fluff Just Stuff 2007 in OKC

While it is all fresh in mind I figure I better jot down a few things from the super cool geek-fest that is NFJS. This was the first year that the software symposium has stopped in Oklahoma City. Apparently it was a success because Jay Zimmerman (founder of the event) committed to a 2008 stop as well. My company sent well over 50 people and even though they had to give up their weekend only a handful bailed early. It is a bit hard I must admit to not have any weekend at all. It might be nice if NFJS would start on a Thursday and end Saturday night that way people could have a day to recuperate before getting back to the grind.

These are the sessions that I attended...

SpeakerSession
Brian SlettinGive it a REST
 I appreciated the demonstration of Restlets. Brian didn't mention JSR 311: "Java API for RESTful Web Services" so I asked if he thought Restlets would change significantly as that JSR progressed and he indicated so. Having seen the JSR 311 API demonstrated at JavaONE, I must say it looks far more promising. The creator of Restlets is on the JSR 311 expert group which I think could be another factor in Restlets changing. If you are interested in more info on JSR 311 check out Marc Hadley's blog at >>http://weblogs.java.net/blog/mhadley/archive/2007/02/jsr_311_java_ap.html.
Venkat SubramaniamDomain Driven Design
 This was an enjoyable presentation but I felt only the last 30-45 minutes truly got into DDD. Venkat said something that struck me as profound although it seems like common sense after more reflection… "Object models are based on our perspective. When our perspective changes, the abstraction changes...". This presentation reminded me that I still need to read Eric Evan's book on DDD.
David HussmanExecutable Documentation
 I thought this was an excellent presentation in the agile space. I liked how David had the whole room participate. He focused on the "why" of executable documentation more than the "how," which was FIT. Executable documentation is living, proves what the product really does, and helps the team collaborate and communicate. We walked through creating some FIT tests for some example user stories and he also highlighted the "DoFixture" from FITLibrary as one of the most valuable all-purpose types of fixtures.
Glen VanderburgEverything Old is New Again
 Glen really knows his computer history, had some cool videos, and went WAY over on his time. If there was any fluff in the conference, I would say this was borderline. He did make a very powerful assertion though; we as software developers are not nearly as ambitious as in times past. By reflecting on historical achievements in science (computing specifically) we can be inspired to further innovation.
David HussmanCoaching Agile Projects: Finding Your Groove
 David presented some very practical ways to assess teams that are trying to adopt Agile processes and practices. He also talked about transition planning, mapping a project community, specific practices of a Coach, and the idea of creating "Transition Tests." I really like this notion of transition tests because trying to discern how adoption is spreading in a large organization can be extremely difficult if left to simply asking project managers and supervisors "How are things going?".
Jared RichardsonDistributed Teams: Remote Agility
 I enjoyed the informal manner in which Jared presented this material. It was almost more of a group discussion or BOF than a presentation. He basically underscored that to be Agile with distributed teams you must focus on the values of the Agile manifesto. He especially highlighted the need for CI when using distributed teams as well as peer reviews and atomic check-ins. He also mentioned that remote pairing can be quite effective with Skype (audio only) and SubEthaEdit which is a VNC type sharing tool available on the Mac.
Venkat Subramaniamget FIT
 An excellent technical demonstration of using FIT and FitNesse. After already attending David Hussman's presentation on "Executable Documentation" I was totally drinking the FIT kool-aid during this presentation. Venkat is very good at succinctly demonstrating technology and the value it can provide.
Ted NewardThe Busy Java Developer's Guide to Debugging and Monitoring
 Ted gave a broad view of the current free tools for debugging at the JVM level. He gave a very good explanation of how GC works including the various generations and how your application can affect them. He also gave some very good advice on building in diagnostic "sinks" into your applications from the very beginning. This was something that I had forgotten about and will likely add to the Reference Implementation (aka Reference Architecture) at my company. He gave the example of the log4j telnet appender as a simple but extremely powerful diagnostic sink (i.e. socket). I had completely forgotten that I had written something just like this back in 2001 to pipe System.out to a socket so that I could telnet to the port and watch diagnostic logs in real-time. I'm not so sure about telnet for that now, but the concept is great.
Pete BehrensAgile Enterprise Architecture: The role of the architect
 This session was awesome. Of course it really hit home for me as I spend a lot of my time and thoughts on what exactly I'm supposed to be doing as an architect in a large, disparate organization that is chock full of functional silos. Pete says the enterprise architect is "a thought leader, visionary, and industry expert… in most companies this is a new role that combines the skills of project manager, solution architect, and business analyst with the intuition of an executive"… wow that is a mouthful. The industry expert part definitely stuck out to me as I know very little about my industry and domain (I've only been in it about a year). I have a goal to gain more business domain knowledge both of how my company does things as well as the industry. This was a huge help to me in my last life as an IT dude in the insurance industry. I think this also will aid in Domain Driven Design. Pete also contrasted the Zachman Framework and the Federal Enterprise Architecture model with what is needed for business agility. He very clearly made the argument that enterprise architecture is really based on the optimizing the organizational structure of your company. Pete brought up Conway's Law which states that organizations which design systems are constrained to produce designs which are copies of the communications structures of these organizations. I think about the long running projects at my company and it is amazing how true this is. The end game is disintegrate the organization, reduce roles, reduce communications paths, and saturate the communication paths that are left.
Venkat SubramaniamSpring into Groovy
 I figured I should go to at least one dynamic language session so I picked this one and I am glad I did. Turns out that you can create Spring applications that update dynamically at runtime by utilizing the new dynamic language support in Spring 2.0. You can push out new versions of scripted beans while the application is running and it can pick them up and recompile them on the fly without disrupting any current user of the Spring bean. This is done because of the way Spring has implemented scripted bean support using proxies. Very very cool, lots of possibilities there. The demo was with Groovy but the same would hold true with JRuby or BeanShell.
Pete BehrensAgile Tooling: Team to Enterprise
 A good overview of the tools in the agile project management space especially pertaining to Scrum, user story tracking, and burndown generation. ScrumWorks looks nice, but it still appears the lower tech you can keep the project management efforts the better off the team will be.
Pete BehrensAgile Metrics and Measurements
 Another session that hit home as this is a hot topic around my IT organization. Pete summed up the danger of metrics by quoting Eli Goldratt (our lovable Theory of Constraints creator) "Tell me how you will measure me and I will tell you how I will behave." Pete highlighted that there is a difference between metrics and diagnostics and that the intent of measurements should be confirmed as either informational or motivational. Good metrics will allow for reflection (inspect) and foster improvement (adaptation). In the spirit of ToC and Lean he also pointed out that metrics should be kept simple, prove more valuable than the cost of gathering, and focus on the whole instead of local optimization. We really only have one metric if we are honest and that is business value. The reason we create software is to reduce operational expense or increase revenue opportunities (obviously this is only concerning commercial organizations). Everything else that doesn't quantify the business value is a diagnostic that measures how we are doing at creating value. He went on to talk about how value is perceived and how productivity is traditionally measured. The Israeli Air Force published a case study of measuring productivity based on "Running Tested Features" that was very compelling and immediately pointed more credibility to the idea of something like FIT. There was a lot of good insight in this presentation, I hope that I can remember enough as we move forward in implementing metrics in our IT organization.

Icon-Comment Pete Behrens, 2 years and 133 days ago. Icon-Permalink

Brandon,

Thanks for the great summarization of your NFJS class visits. I am glad you were able to take away many useful nuggets of learning. Keep up the good work!

Pete Behrens

Please login to post a comment.
Describe here what your SnipSnap is about!

Configure this box!

  1. Login in
  2. Click here: snipsnap-portlet-2
  3. Edit this box
www.brandonburk.com | Copyright 2008 Brandon N. Burk