Dr. Dobb's Architecture and Design World
I spent most of last week at Dr. Dobb's Architecture and Design World in Chicago. While the name caused some of my colleagues to snicker, the conference had a great schedule, so i signed up.
Before i talk about any specific talks, i have a few comments on the conference itself.
- The food and drinks could have been much better. Coffee was scarce and competition for a cup fierce. The boxed lunches got old quickly and there was no breakfast served, despite 8:30 start times for 3 of the 4 days.
- Many talks needed a quick test before attendees were allowed to ask a question. Too many questions in talks with the word "agile" in the title either complained that agile was too hard for their app/company because of INSERT REASON HERE.
- Much of the talk was about finding a place for Architecture in a process that is often interpreted as meaning, "Look ahead only 1 or 2 iterations. As long as we do test driven development, a quality product and architecture will emerge." Various speakers and attendees addressed this differently, but the conversation was very interesting.
I left the conference with several pages of notes to work through from many great talks. Here are just a couple of notes.
- My favorite practical talk was Neal Ford's "Building DSLs in Static and Dynamic Languages" (download Neal's slides (pdf). Neal walked through some background on DSLs and then took 3 approaches to building one: building fluent interfaces (think method chaining) in Java, a Groovy example that cleaned up the java syntax and finally a Ruby DSL. He stressed knowing the syntax you want to be able to write and building towards that. Neal was a fantastic speaker and the session was a lot of fun.
- Scott Ambler's keynote "Evolving Agile: Time to Address the Uncomfortable Issues We’d Prefer to Avoid" focused on the results of a recent Dr. Dobb's survey on agile methodologies. An interesting takeaway from his talk was the prevalence of modeling practices (from whiteboard to formal tool) in teams reporting successful agile projects. Scott focused on simple techniques and a sort of just in time modeling done at the beginning of an iteration for a limited scope.
- Randy Miller from Microsoft gave a great talk entitled "Agile Architecture" and focused on guiding teams towards an architecture without resorting to big design up front. Modeling was a key technique he used, but as with Ambler's talk, common sense was the main rule. Model what you need to model to show what you have and where you are going based on what you know now. He also told an interesting anecdote about the last Visual Studio release. They had 4-500 developers working on 2 month iterations that resulted in a ton of time spent dealing with integration. The newest release that is in progress has apparently moved to shorter iterations.
I will be presenting some of my notes and thoughts to some of my coworkers in the next couple of weeks, so i will post some more info about specific topics and presentations over the next few days.