Agile Software Development

Created:

In 2005 I was attending university, one year to go. I was also working for a credit union in Ohio. I made a promise to myself that if I was working at the same place, in the same capacity one year after graduation, I wouldn’t be working there anymore.

Two years and a lot of twists, turns, bumps, bruises, and bouts of depression later.

One year after graduating, I quit. Having no income, job, or prospects, I moved out of my apartment and into the house of a friend I had been housesitting for. (It was her idea and I initially turned it down.) I consolidated and purged everything I owned until I could fit it all in my used Hyundai Elantra from circa 2000.

I probably could have gone back to the boutique advertising agency I worked at for a bit but, after reflecting on life for a while and reading a couple self-help books in her library, I decided I needed to get out of Ohio.

I found a roommate situation in Atlanta, Georgia and moved down there.

Long story short.

I received an email one day by accident asking a different Josh if they could look at the cod of an email newsletter to fix a bug. I replied stating I’m pretty sure I wasn’t the intended recipient, that I had applied for a gig with the person and was turned down, and how I thought their email newsletter could be fixed.

The reply came instantly: Sorry, yes, wrong Josh. Thanks for the help. I might have something for you.

And, that’s the short version of how I started freelancing from 2007–2010. This was also how I was introduced to my main client for most of that time. It was a website migration.

We were going from a statics site of over 1,000 pages to a database-driven site and a content management system. Given the time period we were doing a custom build.

After a while I started getting other clients. However, my main client would send emails in this haphazard fashion. It was the equivalent of being in the same office and them dropping by every time an idea struck them; it was stressful and difficult. I started using Omni Outliner to track this laundry list of stuff. It was a stereotypical developer-customer relationship; most direct communication being handled by the PM.

One day I asked the PM:

Can I just speak with the client?

The response was: I’ve never had a developer ask me that. Let me check.

The three of us got on the phone.

I came into the project 18 months in and it was slated for 36 months. For the first 18 months the client had done everything by committee and it took them that long to agree on a design for the home page.

The client finally realized design and management by committee wasn’t conducive to getting things done, so, that’s where the person who was sending me all these emails came from.

In Scrum terms, this person would be the PO in more generic Agile terms, they are the customer; I had no idea what Agile Software Development was. Further, that’s not what we were doing, we were just sorta making shit up.

With the three of us on the phone I told the PO it was difficult to keep up with the one-off emails despite keeping them in this list (product backlog in Scrum terms) and I had a proposal to keep things from falling through the cracks.

  1. Every Monday let’s get together and look at the list. We’ll prioritize it and make sure I’m not missing anything.
  2. Every Friday let’s get together and I’ll show you what I managed to get done during the week. On that day, go ahead and send me one email with all the new stuff; I’ll add it to the list and we’ll talk again on Monday.
  3. In between those two meetings, leave me alone unless something is actually broken. For example, you can’t sign in or something.

It took us about two months to hit the point of having that conversation.

It took another month or so before I was doing nightly releases and sending daily emails to the PO of all the changes. The nightly release with release notes prompted us to forego the Friday session, which was equivalent to the Sprint Review in Scrum. (Again, I had no idea what Agile Software Development or Scrum was at the time.) Also, if you’re familiar with the origins of eXtreme Programming, this might sound familiar.

Anyhoo.

We finished the project on schedule and within budget, I think. They even continued paying me for an additional six months before realizing we had succumbed to the momentum of the project and getting stuff done.

I decided this was how I was going to work from now on. It felt amazing and I started capturing my ideas on productivity and getting shit done; I had to tell the world what I had created!

Homeless in 2010, because I put myself out of business. First professional consulting gig in 2011. Shortly thereafter I signed up to be the UX expert on an internal software product.

When I walked into the team room almost the first words out of the technical lead’s mouth were, “We do Scrum here.” My snappy response consisted of:

What’s that?

Everyone on the team started explaining things. It sounded familiar. With that said, it felt like there was some nuance missing from my experience on the informal, bumping into walls, side of the equation.

I went home that night and tried to find all the canonical and primary resources I could to get a feel for what “the industry” thought this was all about. My two main artifacts were the: The Manifesto for Agile Software Development and The Scrum Guide.

I started looking up who the original signers were and following them on social media. I started soaking up as much content as I could; Kent Beck, Ken Schwaber, and “Pragmatic” Dave Thomas were the biggies for me.

Much like Tony Stark, I’m not much of joiner and, from the writing and videos, it sounded like the authors “got it.” It, in this case, being what I experienced over the previous three years (possibly during college and definitely in my personal life).

Took a training class from Scrum.org and, if you pardon the name drop, it was taught by Ken Schwaber (co-creator of Scrum). At the time there were only two levels of the Professional Scrum Master certification. After the class I asked Ken if he had any tips, tricks, or hints to help with that certification. He made a great show of pondering what was delivered like a practiced answer:

Most people mess up on the written portion. They think of it as an opportunity to show how brilliant they are. That’s not the point. The point is to demonstrate how you’re going to help other people show how brilliant they are.

I was sold.

Scrum.org and Ken Schwaber were of “my tribe,” so to speak.

A year or two later I went to a weeklong bootcamp with Lyssa Adkins and “the Michaels” from the Agile Coaching Institute before it was sold.

I determined they too were “my tribe.”

During this time I also spent a year being a developer for corporate. The experience was so horrible chances are I’ll never accept a developer position for corporate ever again.

Also during this time my mother called and told me her house was being foreclosed on. Being agile and principle-centered, I didn’t miss a beat, the decision was already made. The next week I worked with my client and employer to work remote and I researched some things related to owning a home, private mortgages, and foreclosures.

Week two I flew out and worked the day job for most of the day while getting a grip on things in the evenings. One of the people who lived with my mom at the time told her: You had to have told him ahead of time, he’s handling this too easily to not have been prepared. Mom responded:

Actually, I told you before I told him.

Went back to mom’s the third week and took time off from the day job. By the end of the week we had a plan, all the necessary and available documents, and a lawyer. Two years later the house was sold. I set my mom up with an annuity and moved her to New Mexico.

With the promise to not be a developer for corporate ever again and a history of being a punk with a fuck-off attitude, I decided being a Scrum Master and Agile Coach was probably more suitable for me; my lifestyle is conducive to this end.

So, there I was (2012), formally doing Scrum Master shit.