Over a million developers have joined DZone.

AgileTechDC Conference Recap

DZone 's Guide to

AgileTechDC Conference Recap

· Agile Zone ·
Free Resource

AgileTechDC is a wrap, and I wanted to take a moment to share my experiences there today.

First off, a big thanks to the folks at The College Board for hosting the event. This open, collaborative space was ideal for such an event. It had the ergonomics of a BMW and the color palette of a Star Wars set.

Keynote – Rebecca Parsons of Thoughtworks

Her session on Enterprise Architects was unexpected in many ways. For one, I find that the role of architect isn’t a popular one to speak about, mostly because it is a hot button debate on whether or not you should even have one. She spoke to the role in a very humble manner, and went into detail how she’s working with organizations to improve its effectiveness. She also spoke to agile principles, not practices. I found this refreshing.

Bob Payne, George Dinwiddie – Acceptance Test Driven Development using Cucumber

Bob and George led a very solid and interactive session on ATDD, and while they used Cucumber, they were careful to stress that these concepts can be used in both manual and automated fashion. Having dabbled in ATDD in the past, it inspired me to revisit it with my current team. George helped me realize today that I need to get ahead of the curve and start the ATDD effort before the iteration kickoff.

They also wore cool hats, which kept it entertaining.

George Paci – Behavior-Changing Transformations and the Transformation Priority Hypothesis

I wasn’t aware of Transformation Priority Premise before this talk, but learned quite a bit about it in a rather straightforward manner.

Here’s the list taken from Uncle Bob’s site:

  1. ({}–>nil) no code at all->code that employs nil
  2. (nil->constant)
  3. (constant->constant+) a simple constant to a more complex constant
  4. (constant->scalar) replacing a constant with a variable or an argument
  5. (statement->statements) adding more unconditional statements
  6. (unconditional->if) splitting the execution path
  7. (scalar->array)
  8. (array->container)
  9. (statement->recursion)
  10. (if->while)
  11. (expression->function) replacing an expression with a function or algorithm
  12. (variable->assignment) replacing the value of a variable

While this is rather brilliant, I think it may unravel a bit when working with different languages. The speaker wrapped it up with the statement: “I don’t think Uncle Bob’s Transformation Priority Premise is true, but I hope that it is”.

Either way I felt that I left the session knowing more than I did walking in, and I probably have enough to facilitate a brown bag lunch for my team on the topic.

Jeff Nielsen – Five key numbers to gauge your agile engineering efforts

I think Jeff’s talk may have surprised people a bit, as I felt like people walked into the talk rather skeptical but left believers. He stressed throughout his talk that there is a transaction cost to everything you do. If you hope to really win the battle against the cost of change curve, then you need to work hard at it every day and try to shorten as many feedback loops as you can.

Does it take 25 seconds to change a line of code, compile and run your unit test? Well that adds up, while 25 seconds doesn’t seem that long it felt like an eternity in his talk. To be honest, in 25 seconds I’m already checking Twitter.

Jeff did a great job of detailing out different techniques you can use to keep your agile engineering practices in order.

I’ll try to convince him to write a guest post on the topic.

Thad Sheer – Mixing Product Design/Innovation and Agile

Of all the sessions I attended today, this one was probably the most controversial and insightful. Thad thinks a lot about product design in agile, and you can tell by the sheer amount of knowledge he threw at us in such a short time box.

He also has strong feelings about how successful designs are created, and interestingly enough how agile can sometimes hinder the process. For example, one of his slides simply stated “Agile is broken”.

I cannot say I totally disagree with him, as it can be difficult for designers to work in 2 week iterations. Creativity takes time, and you cannot just make that magic happen on a whim. Working 2 weeks ahead isn’t necessarily the answer and you can become out of synch rather easily or succumb to the pressure to work even further ahead.

I’m not a fan of iteration zero, and cramming all of your design into that time box and then iterating on it isn’t exactly working for many teams that I know of. It isn’t that you end up with a terrible design, but it lacks a soul.

Unfortunately I left that session feeling even more hopeless than before about UX design and agile teams. Perhaps I’ll dig up some Jeff Patton slides and balance out the pessimism.

Open spaces and the sessions I missed out on.

It was difficult to choose which talks to go to, and unfortunately I ended up missing:

Tim Brown – Boiling the ocean: impact tree testing with elastic pipelines
Jimmy Bosse – Paired Programming
Kevin Jones – Test Driven Development
Fadi Stephan – Software Craftsmanship
Chris Shenton – Continuous integration using Hudson
David Bock – Quality meets Complexity: Metrics for steering your project to success

… and a few open spaces on marshmallows and legacy code.

If you know of anyone who attended these and have recapped them online, drop me a a note and I’ll update this with links to them.

Overall, I’m glad I attended the event and I’m looking forward to another (perhaps even bigger one) in Washington DC this October.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}