The Birthplace of Agile

A nice post on an early agile-like team:

http://marcatopartners.com/2010/03/11/birthplace-of-agile/

I’m referencing it in case you have “earlier documented descriptions of Agile teams.” 1981 is pretty early, but I can imagine that the earliest software development teams were more like agile than they were like a more formally structured “waterfall” or “heavy weight” (remember when agile was called “lightweight?”) methodology.

Failing Fast to the Apple Extreme

Due to a job-inspired relocation a few months ago, we’ve been spending many weekends and holidays at my in-law’s so that we can be with family, visit friends, and generally keep in touch with the area that we have considered home since birth. My in-laws have a beautiful home that had one problem: no internet access. Given that I, and my wife, and even our 12-year-old (ToonTown, YouTube, and the Wii), are essentially connection-dependent, I set out to find a low-cost, good-enough solution to our intermittent but uncompromising needs.

In our new home, we are AT&T DSL subscribers, and have been very happy with the reliability and speed of the connection (especially compared to the a Comcast broadband we left behind at our old house; Comcast doesn’t serve our new hometown). We have a 2Wire DSL Gateway feeding an Apple Extreme providing wireless and a printer to an iMac, two MacBook Pros, an old PowerMac G4, the Wii, the PS3, and an iPhone. Works flawlessly.

So, the first attempt was to get AT&T DSL at Grandma’s house. At the time, they were offering offer a low-bandwidth plan for $10 / month for the first year. Sign us up! We opted for the self-install route, so a box arrived in a week or so, we installed it, we learned the lesson about having to filter every phone in your house, we learned the lesson about not forgetting about filtering the alarm system, and we were plugged in.

With one computer. Time for wifi. A trip to the local Best Buy, maybe my favorite store, and we were the proud owners of a low-cost, good-enough Belkin Wireless G Router for $40. SSID established, password configured, voila.

It worked for about an hour. Suddenly, though the wireless connection was strong, the bandwidth slowed to a trickle. Hmm. Didn’t really see anything wrong, so restarted the router.

It worked for a few more minutes. Ok…. Let’s try restarting the modem. That worked for a while, then didn’t. Restart, repeat, restart, repeat. That first weekend was a frustrating one. By Sunday morning, I decided to have AT&T come out, and they were able to visit that evening the check the line. We weren’t home, but they left a note on the door saying that we were too far from “the loop” for DSL to work in our area. The handwritten instructions were to return everything in the box. Sigh. Ok, so, the $10 / month deal was too good to be true. Should have know that. Fortunately, I never throw the boxes that come with electronics away, so we were good to go. Goodbye DSL filters, goodbye modem, goodbye trickle-y internet connection.

A few days of research revealed that there really weren’t a lot of options left to us. Given that my in-laws were already Comcast cable subscribers, I gave in and ordered Comcast. Their lowest-cost plan is $25 / month, a lot more expensive, but it seemed worth it if it would, well, if it would actually work. Another self-install model box later, a router factory-reset, a new SSID just so no one would be confused. Voila! We were back in business.

For two hours or so. OMG. Router reset. Modem reset. Router reset. Still flakey. This is a nice way to spend a weekend. Alright, let’s plug in directly to the modem to see if it is the wireless. Hmmm. Works fine. Check for firmware updates. Nope, on the latest. Ok, check the review. Ah. Looks like I bought the wrong router; the reviews indicate similar problems, no easy resolutions, and general unhappiness.

About a month had elapsed since I bought the Belkin, but I still had the box and the receipt and decided to go back to Best Buy and try again. Since I didn’t have a good connection, I didn’t have the time to do the research I normally do before making an electronics purchase, and since I still had the “low-cost” mentality, I was trying not to just buy an Apple Extreme or Express, I upgraded to a Linksys Wireless-N Router. Seeing “Cisco” on the box bred some confidence to the decision given my experience with Cisco in the enterprise. It was on sale for twice what I paid for the Belkin, but it was an upgrade from G to N and would hopefully actually work.

 

 

Ok! Back home, plugged in, new SSID, new password, everyone connected (and a little crabby with the whole situation, myself included). Let’s get caught up on email, Facebook, ToonTown, check some movie times, etc. Two hours later, it was still working well, and the low-bandwidth connection from Comcast seemed speedy enough. Time to get out of the house and forget about it.

Naturally, the wireless was dead when we got home that night. It is a sign of just how connection-addicted you are when you are somewhere without a reliable connection. I love my iPhone and the 3G in metro-Detroit was very strong, but you still need a good laptop connection to really get your fix (it is too bad that iPhones don’t support tethering in the US yet; it is the only thing I miss about my BlackBerry). I plugged back into the router to do some more research, and learned that even the Linksys has some not-particular-positive review. Wow, that is surprising to me.

But: uncle, white flag, I give. It would only be another $20 to upgrade to the AirPort Express, which should provide all the wireless energy that we need. Router back in the box, drive back to Best Buy (thankfully, there is a Starbucks on the way), Linksys returned to the same customer service representative who took back the Belkin (“You’re back already?”), Airport in hand (for, surprisingly, $10 more than they charge at the Apple Store, but I’m tired of driving around), back home, plugged-in, and, of course, it works. All evening. And in the morning. No restarts, no reboots, no familial crabbiness. Flawless bliss.

 

 

The ultimate solution is more expensive that what I was looking for: $25 * 12 = $300 / year for service, plus the $109 for the Express. If the original solution had worked, it would have been $120 / year and only $40 for the Belkin. At least I tried to save some cash. I failed, pretty fast, and in the process I reconfirmed that I am a fan of Best Buy and Apple.

And I reconfirmed that the fail fast model works.

The only lasting question is: How darn many times will I have to learn this lesson?

The 2009 ITMPI Software Best Practices Conference

Yet another gloomy and tempestuous day here in Detroit, both methodologically and financially, with thunder and lightening in the air and the apparent bankruptcy of Chrysler finally announced. However, I’m comfortably ensconced in the MGM Grand Detroit attending this year’s Software Best Practices Conference, sponsored by the IT Metrics and Productivity Institute.

The speakers include:

  1. Bob Lawhorn, CTO of CAI, on “IT and the World Wide Manufacturing Revolution.”
  2. Ed Yourdon, author and international consultant, on “Moving Beyond SEI Level 1.”
  3. Larry Dribin, principal of The Pearl Street Group, on “What Gets Measured Gets Done.”
  4. Dan Galorath, President of Galorath, Inc., on “Sizing, Cost, Schedule, and Risk for Software: A 10 Step Process.”
  5. Bob Lawhorn again on “Transforming IT Management for Dramatic Business Success.”

It isn’t quite lunch yet, but I’ll be updating this post during the day (laptop battery permitting) with some of the speaker comments and highlights.

BTW, you can watch the webinars live here.

Update: Ok, we’re on a break, I can share a few of the nuggets so far.

“Moving Beyond SEI Level 1,” by Ed Yourdon.

  1. Generally, things have improved within the software development space from a quality and productive standpoint in the last 15-20 years when you review the SEI CMM data.
  2. Process maturity = quality + productivity.
  3. In 2003, 60-80% of all SEI Level 5 companies were in India.
  4. “There is not enough pressure to change” when it comes to improving software (itself) or process.
  5. Ed presented an interesting list of “barriers to improvement.” The bottom line is that the same barriers that have existed for decades. My two favorites were:
    • Sturgeon’s Law: Ninety percent of everything is trash.
    • “Software is a human effort — and people are still the same.”

This last point is certainly in harmony with my own beliefs. Software is a human effort, and this point can’t be underestimated when you are planning and executing a software development effort that requires more than one person to complete.

Mr. Yourdon also pointed out a few of his blog posts that you may find of interest related to these barriers to improvement: November 9th, 2006, and November 19th, 2006.

“What Gets Measured Gets Done!” by Larry Dribin.

Larry’s presentation highlighted a number of challenges and opportunities within the metrics and measurement space. His comments had a patriotic flavor and he indicated a few times that the US has work to do in order to be able to compete successfully with other countries who have focused more on quality than we have. He mentioned a specific example in which a project was developed by two teams, one in the US and one in India. Apparently, of the nearly 1500 bugs that were uncovered during the testing phase, over 1400 of them were produced by the US team. His main comment was, “Indian software firms publish their defect density on their home page. If you don’t know yours, how can you compete?”

He also referenced the work that 37 Signals has done in the “making things smaller” space, which is directly correlated to the fail fast concept. This mention of 37 Signals reminded me, for the second time this week, of the fantastic book Dreaming in Code, by Scott Rosenburg.

The ninth chapter of this book, simply titled “Methods” (click here for the endnotes) reads like a short summary of software development methodologies over the last 30 years, and I believe it actually foreshadows what software development will look and feel like in the future: very simple, very small, and very productive. I can’t remember who borrowed my copy of the book so I can’t look up the details at this moment (I will update this post later if I find it and it changes my memory), but in essence he points out that smaller teams are more effective and productive (like 37 Signals) and that even this fact may suggest what the next phase of software development methodologies will become post-agile (somewhat like The Agile Cloud I’ve mentioned before). Definitely worth the read, both for this informative chapter and the wonderful world of start-up companies that the book covers.

“Sizing, Cost, Schedule, and Risk for Software: A 10 Step Process,” by Dan Galorath.

Dan talked about the importance of determining what to measure when it comes to metrics as well as one of my favorite topics, estimates. He advised getting at least three estimates (best case, likely, and worse case) and told a number of interesting stories about the process and importance of estimation that certainly rang true with my own experiences (this is no surprise given Dan’s expertise on this topic). His talk included a fantastic set of graphs; the one I found most interesting focused on the optimal staffing model for a project. I’ll pass along a link as soon as I find it.

Dan also alluded to the importance of baselining your projects either against your own data (over time) or against publicly available data, like that from ISBSG. Obviously, the extent to which you want to take this sort of optimization effort needs to be scaled to your business model and needs, but being able to articulate the effectiveness of your internal process either over time or against the backdrop of industry data is a powerful corporate capability.

“Transforming IT Management for Dramatic Business Success,” by Bob Lawhorn.

Bob spoke at length regarding “the transformational journey” needed to improve software management:

  1. Standard Processes
  2. Managing with Metrics
  3. Automation

He made a number of interesting comments, my favorites of which were:

  • We need to develop a way to bring new members into a team so that they can be safe and learn effectively by learning from their mistakes.
  • You have an ineffective process if your mistakes are not found within the team that creates them, as it diminishes the effectiveness of a reliable feedback loop.
  • Executives and the friends of developers are the two largest sources of black market (out of scope) activities.
  • Rework is one of the areas that has the greatest opportunity for the reduction and removal of waste, and therefore for the improvement of productivity.

Overall, it was an enjoyable day of presentations by a very esteemed group of software and IT leaders. It was not even dampened by my losing $8 on the quarter slots on the way to the parking deck.

The only disappointment to me was that nearly all of the speakers made what I would call gently critical comments regarding the agile software development movement at some point in their speeches. This may actually have been predictable given that, in general, agile is not overly focused on metrics and measurement with respect to productivity but instead on collaboration, working software, and responding to change. I don’t believe that these are mutually exclusive worlds — my last agile shop could generate fantastic metrics regarding historical estimates, backlogs, and time dedicated to canceled features because we had the systems and processes in place to capture this data — but I would agree that there isn’t as much science in this aspect of software development in the agile world as there is in the waterfall one. There may be an opportunity for an effort to begin tracking data regarding agile projects and their associated metrics in order to fill this void.

Regardless, companies like 37 Signals may have the final word on productivity and quality if their success is any indication.

Agile Software Development and Fail Fast

I haven’t yet done a good job of describing the fail fast model with my thoughts on agile software development in this blog. Blogs feel more like streams-of-consciousness than articulated, structured documents. While I get my arms around how best to tell the fail fast story as I have experienced it through time, I thought it would be helpful to provide a bit more background on the topic by posting a copy of my Agile 2008 whitepaper, “The Big Projects Always Fail: Taking an Enterprise Agile.” You can now read it here; I would love to hear your thoughts and comments.