The Pillars of Agile Development

I was speaking to one of the guys on the team yesterday and discussing what I might propose for the Agile 2010 conference. (I gotta tell you, I’m somehow worried about what I might propose as I always feel that people who would be going to a conference, and paying good money to boot, won’t want to hear about my petty learning. He has convinced me that I am over thinking that one. I’m reserving the right to worry again based on how my proposal comes together.)

The basic concept is to talk about something I have experienced at each of the three major organizations I have proposed and led adoption of agile principles. This has happened in all three, even with hindsight being in my favor. What is it? It’s the feeling of hitting a productivity plateau somewhere around year 1 to 1 1/2 of our agile adoption. Over the span of leading these changes, I have realized that each organization seemed to be hyper focused in certain disciplines, and neglecting the others. Moreover, it seemed to follow a line dissecting Project Management methodologies from Engineering methodologies.

I know this concept isn’t new, but I call these the 2 pillars of agile. I think they are “pillars” because I feel none of the hyper productivity claims can truly be realized without both. If either is absent, you hit a productivity plateau. In my Agile 2010 proposal, I would like to discuss these pillars; the project and process management framework, and the engineering and development principles and practices. I might be oversimplifying this a bit, rolling lots of critical stuff together in one big package, but this is the way I have seen it unfold in all three major organizations.

Let me describe the adoption process and see if you see any similarities to your implementations. Typically, we have very focused, engaged teams in the initial adoption. Just meeting daily and retrospecting our work is a boon to efficiency. People love it. So much so, that the groundswell quickly spreads to other teams and eventually, management wants in. The promise of Scrum is typically alluring to IT managers. Who could blame management for thinking this way. “You mean to tell me I can see everything my teams are doing and have instant transparency!?…and the teams want to do that?” Why wouldn’t they push for that. (By the way, that’s not what is said, but I’m pretty sure that is what they “hear”).

What I am finding in my experiences is that, if Scrum or Project Management adoption is easy, then the 2nd pillar of engineering and software development principles comes extremely hard. If the opposite happens and the XP principles are first out of the gate and get the focus, then the adoption of a project management framework is hindered.

I truly cannot explain this with data, but have some theories. My current theory is that organizations that are willing to focus so much energy around project management and organizational “stuff” are typically ones that don’t truly value, or even understand, the artistic and complex nature of building software systems. If the inverse is true, then my theory is that engineers are the ones who’ve started the movement toward XP agility, and don’t have much sway over the teams that manage projects. When that happens, it’s difficult for engineers to get the necessary buy in from project managers or IT management.

So how do we fix this? Well, my strategy has been an evolutionary one. I happen to belong to the type of organization that has allowed Scrum to smash into it like a tsunami. It’s been good thus far. As my theory holds, our teams have struggled getting much traction in TDD and FIT test automation, pairing, continuous integration, etc. I do see pockets of adoption though. Some groups are great! The majority are hoping Scrum solves their problems. The goal is now to leverage those people who are trying to do both pillars effectively, along with some savvy project managers and make little additions to the culture over time. Like building a house, brick by brick.

I’m encouraged by some of the little wins we are getting so far, but moving ourselves off of this plateau will be difficult. That said, I think we can do it, and that means you probably can too.

Saving Things That Matter: My Home Media System

I want to quickly describe the system I have setup to manage the things in my life that are truly important. I’m mostly taking about the pictures that my wife and I have taken throughout our lifetime, and our kids childhood, that are really the only things in my life that I would be devastated by if they burned in a fire. I feel it gives me a great chance of hanging on to all of our precious photos and memories in the event of a catastrophe.

1. I purchased an Apple iMac a year ago and I ant say enough great things about the simplicity it provides. The interfaces are easy, it’s always incredibly responsive, and I dont have to worry (as much) about viruses, corruption, etc.

2. On the Mac, I use Picasa for one very, very powerful reason. Every time we sit down to download photos off of our cameras, we immediately create a folder in the appropriate location on the computer. We have a pretty elaborate hierarchy, but once you have browsed it once, its pretty easy (ie we have a folder for “kids pictures”, under that we have one for each child and one for all kids, etc). The beauty of Picasa is that on each album, there is one button to click to sync-to-web. I always sync the Original Image to the web. This brings me to my next piece in the puzzle.

3. I have purchased Google Storage for $50/yr. For that price I get 200 GB (alot) and I ONLY sync photos to this location. I will gladly pay a bit more for more storage when I hit the threshold. I do this because, if my house ever burns down, I’m positive Google won’t. Google is safe, secure, and reliable.

4. I purchased a 1 TB Time Capsule to backup EVERYTHING on my machine, including any important documents, configurations, etc. This option is brilliant as the sync is all done over my wireless network (meaning the TC is in a secure area of the house) and happens only incrementally. I have been told that this system is one of the most well built, easy to use features of Apple’s in the event of system failure. The Time Capsule is really an outstanding, no-touch system. I can’t say enough about it.

5. I now have purchased Mozy Home Edition to backup all photos, music, and now videos. Basically the rest of my media that I have huge investments in (ie 1500 albums, 100′s of movies, and family videos).

I feel this is a robust, well thought through strategy that is VERY easy to manage, even for my wife who will admit that she doesn’t want to think about it. She just wants it to work. There are some areas of overlap. Step 5 seemed superfluous at first, until I realized that music and movies rarely change. They are definitely important, but not nearly as important as our photos. In the end, I didn’t want to jeopardize my Google photo backup through Picasa by cluttering it with music and video downloads.

That said, if Google (or Picasa) offered an easy way to sync video that was over 2 GB through a desktop tool, I would definitely use Google Storage for family videos.

I know some will think this is all overkill, but for a little effort on the front end, $50/year for Google Storage, and $5/month for Mozy, I sleep soundly that all of our important media, the things that are irreplaceable, are backed up and secure.

Kanban, Scrum, and a “Hyper-Productive” Household

I want to test a theory. How many people are “not the same person” you are at work as you are when you are at home with your loved ones?

Kanban for these guys?! Uh huh.

The reason I ask is that my wife, for some time now, cringes every time I talk about “hyper-productivity”, “efficiency”, and “flow” related to development work I am leading at the office.

Why you might ask? Well, it seems I am NOT the same type of person at work as I am at home. So much so in fact, that when I mention the mere word “efficiency”, she goes apoplectic and starts listing all the failed opportunities I have had to reach “hyper-productivity” at home. She’s right.

This has caused me to reflect on that very issue and begin to tackle the single most difficult thing I do during my day, parenting.

I’m going for “big and visible” Kanban mixed with weekly retrospectives, and a dash of Love and Logic. I have now launched headlong into an attempt to implement Scrum, Kanban, Lean/Agile, Positive Discipline, and Love & Logic (all rolled into one) at home. My goals are modest — change the very nature of the way we as a couple parent our children and relate to one another at home.

Wish me luck. I’ll let you know how it’s going!