Ship It! LIVEShip It! LIVE
home about services writing contact

We develop, test, and create fine software products, and design creative solutions to your problems.
The development of software is an intrinsically creative process. We are dedicated to improving our mastery of the art.
Links · RSS Feed
Popular Pages

I was amazed that these five chapters only take about 160 pages and yet tell you all you need to know about successful projects. I’ve experienced a lot of these problems myself, and so did/do you, ...
-Javaddicts.net
..."Ship It!" is in the style of the other Pragmatic books and is an easy and focused read. I finished it in two days and have already gained a wealth of insight that I can apply immediately. Hig...
-Anil John
Jared Richardson’s talk titled “Build Teams, not Products,” in particular, was one of the best presentations I’ve ever witnessed. It was just one of those talks where all the points seem tautologic...
-Yev Bronshteyn

My New Gig (Nov 25)
I've been meaning to write about my new job for a while, but life has been busy. I'm not working with NFJS One, but instead working for a software shop here in North Carolina called Logos Technologies. For a variety of reasons, this year really burned me out, and travel was a huge part of that, so I did some shopping around. I talked to some shops about jobs with some travel, but local was where I wanted to be, and it's where I am.

I know many people who are adamant about being independent and not working at a day job, but if you know me well, you know I'm pretty flexible... after writing Ship It! and hitting the conference circuit pretty hard, I'm ready to step back, sleep in my own bed at night, and spend the evening watching TV with my two daughters. My commute is 15 to 20 minutes when traffic is bad, and under 10 if I catch all the lights just right. You can keep your hotel food and frequent flier miles. I'll take my old couch any day of the week.

Looking back, Will Gwaltney started working on Ship It! in (I'm approximating) in 2002 or so. The starting point was a series of articles I'd written on my home wiki. I was sure we'd have it done in under a month! (ha!) A year and half later, we had a book that actually sold a few copies. It's now in German, Indian Reprint, Japanese, Korean, Polish, and Russian. I still meet people who have no idea who I am, but look shocked and excited when they realize that I'm "that Ship It guy!"

Then I discovered the No Fluff conference tour. I did two cities the first year (Atlanta and DC). My first talk started so badly! I arrived at the conference center during the break before my talk was to start. I opened my suite case in the lobby behind a post so the attendees wouldn't see me getting my laptop out from under my underwear and clothes! Then I finally reached the room and all four attendees. In about 10 minutes, I lost one of the four! :) What a way to start. My voice was shaking, my points were lost... but after he left I found my footing and did a decent job. For that talk I had three excellent reviews and one horrid one. I like to think I've gotten better since then.

For the next few years I spoke at every NFJS I could, as well as a number of other events. I got to hang out with Dave Hussman, Bruce Tate, Dave Thomas, Neal ford, Scott Davis, Venkat... I can't even list everyone! I was privileged to visit tons of Java user's groups and Agile user's groups. I've been in nearly every state in the continental US, visited Canada a few times, and been recognized by Starbuck's counter help in other states!

As I ramp down my traveling and speaking, I'd like to thank so many of you for coming to hear me speak, for blogging about the talks you liked, for buying my books, and for helping to make the last few years an incredible experience. I have good friends in San Jose, Denver, Boston, Memphis, and so many points in between.

I realize this is rambling a bit, but what's the point of having a blog if you can't wander off topic from time to time? :)

Once I catch my breath, I'll start writing again. I've got an update to Ship It! and book on testing rattling around in my head. I still might do an updated version of the Career 2.0 book as well.

As I write this, my daughters are creeping down the hallway... you'll have to excuse me now. I'm going to play with my kids. :)

Category: Personal

Beginners Need Steps! (Nov 11)

A topic that came up repeatedly this week at Agile Development Practices was whether we should teach people steps or principles. Most, if not all, of the thought leaders and industry experts don't want to provide steps. We've all seen people take steps and follow them religiously. Leaders don't want to see steps abused. They've seen beginners take the steps and use them... but because they never learn the principles, they don't know why a given step is important.

Lee Copeland mentioned the "if-then" process principle. "If" this happens, "then" do that. All too frequently beginners see the "then" step but never learn the "if". The results, which are often disasterous, are that the prescriptive steps are followed when they don't apply and aren't needed. The "if" gets lost.

So of course, to avoid this, many people refuse to provide steps. They fight against people who provide steps. Steps have been abused, therefore they are always evil. Let's abolish steps!

Unfortunately this view forgets one vitally important fact. Beginners need steps.

Let's emphasize that. Beginners require steps. They can't learn without them. So when we teach without providing steps, they get lost, frustrated, and they quit.

This goes back to a topic I learned about from Andy Hunt, the Dreyfus Model of Skills Acquisition. When learning a new skill, we need (not want, need!) step by step directions. Levels one through three live and die by steps. It's the only way they can get work done. Levels four and five move into the realm of intuition... they "just know" how to do the right thing. They usually forget how to even express the steps! So they naturally try to teach via these very useful, high-level ideas. And that generally frustrates the new users.

Think back to your first progamming class. Did you discuss the ideas and prinicples on day one? No... you were given precise steps on how to type in a program and then run it.

10 print "Hello world!"
20 goto 10

How about cooking? Do the TV chefs measure out and level off teaspoons of ingredients? No... they just throw in a dash of this or a dash of that. Season to taste they say. That's how experts work... it comes naturally to them. But have you ever seen a cookbook that didn't specify teaspoons and cups?

The steps are how we find our footing. They get us started. When we deprive new users of prescriptive steps, we rob them of the ability to get started easily and quickly. They're robbed of the easy wins that get them rolling quickly. We tell them that until they understand the entire ecosystem, until they can grasp the advanced principles, they aren't worthy of playing in our club. This is so wrong.

We also need to warn people about the other extreme though... that's following steps blindly. Read Martin Fowler's article on the improvement ravine. He talks about following a process religiously ~at first~. Then, after you understand it, start changing the steps, tweak, eliminate... make it fit your shop. After you've followed the steps for a while.

I try hard to provide students, especially new ones, both steps and the motivations behind those steps. I tell them there is no gospel in our field. The steps are written by flawed humans and either wrong, or wrong for their shop. Be willing to throw the steps out after you've followed them for a while.

But if you're a teacher or leader, and you want to help people get started with a new topic, from programming to cooking to agile, provide them steps. Give them the "1, 2, 3". Also explain why each step matters. Then tell them to throw your steps out in a few months.

If you don't provide steps, don't be surprised when nobody adopts your ideas. People need steps.

Category: Agile

Agile Development Practices 2009 (Nov 10)
I updated my conference slides after the submission deadline, but I still wanted to share them with everyone. So here's a link.

ADP Orlando 2009 slides link

Category: Agile

Feed the Seed, with Some Help From Seinfeld! (Nov 5)
After my last blog posting I received email from an old friend who works at SAS and speaks on the NFJS tour. The email had a great tip that I wanted to pass on to you.

Here's a direct link to the Seinfeld Productivity Tip on LifeHacker.

Jared:

That was a very well written and well timed post.

The first few paragraphs talks to all of us -- ok, most of us; and it is very true. I like the motivational ideas that you suggested. The challenge I face, however -- and I doubt that I am alone -- is to keep at it. A technique to help with that that you may have heard is the Seinfeld calendar. It is was created by Jerry Seinfeld as a productivity aid. The concept is very simple

You print out a calendar month starting with today.

Set a goal of something that you want to do -- LOTY, lifting weights, running, whatever.

Now, Do something on that topic. Today. Something. Anything. OK, now put a big red X on today's date.

Rinse and repeat. Tomorrow. And the day after.

Pretty soon you see a row of X's. And somehow you don't want to break the chain. And that keeps you going.

The concept is deceptively simple -- but effective.

Keep the posts coming ;-)

-Sri

Enjoy! And 'feed the seed' every day.

Category: Misc

Feed the Seed (Oct 29)

I've been seeing, in my own life and others, a powerful principal at work. It is extremely powerful, very well-known, and often forgotten. So in this blog post, I'm not trying to educate, but to remind.

"Use it or lose it" is a common saying. Whatever skills you value, from speaking a foreign language to creating art, you must exercise those skills to keep them in top shape. We know instinctively that if we stop lifting weights we lose some of our muscle's size quickly.

Unfortunately that's where most of us stop the thought process. If we don't exercise, we're not at our peak. We're still good though.. just not perfect. Right? Wrong.

We forget that an unused muscle begins to atrophy immediately and continues to wither. You know this if you've ever had your leg or arm in a cast. When the cast was finally removed, you were shocked at the size of your injured limb. The forced inaction had cost you more muscle than you realized was possible. But where does it end? How much damage do we pay for neglecting our skills?

It depends. The skills in our life are easier to ignore than muscles. We don't have to put them in a cast to have them slowly die. Muscles (usually) get a small amount of exercise when go through our daily routine, but we rarely practice forgotten skills as we move through a day.

Eventually a neglected arm atrophies to the point of no return. It becomes useless and can't be recovered. The same happens to our skills.

It's like the grass in our lawns or the vegetables in our gardens. If we don't water them, they die. If we water and fertilize them, they live.

At the end of the day, we all invest time into what we value. It's easy and cheap to plant a "seed," but it takes a great deal of the work to grow until it can be harvested. We all plant a lot of seeds in our life, but only the ones that we invest our time, and ultimately our lives, into are the ones that will ever come to fruition.

To put it another way, feed the seeds you value. Any seed you neglect will certainly atrophy, and probably die. Random time investments are usually feeding the weeds.

Here are a few ideas for us to consider watering in our own lives.

  • LOTY - Language of the year... are you learning a new programming language this year, or are you letting that part of your brain get weaker?
  • Get in shape. Run a 5k at a conference.
  • TOTY - Technology of the year. Still using last year's cool new tech? Pick up something new (like the hot new Java Rails clone, Play)
  • A new operating system. Between Virtual Box and Linux Mint, you've got no real excuse. (My Mother is a Mint user!!)
  • Write - Have you always wanted to write a book? Now's the time to start! Hit the Pragmatic Programmer's November Writing Challege
  • ...
  • Obviously I could add to this list for a while... and we all need to pick what matters most to us.

    The reminder I leave with you is simple. Pick your seeds carefully. Water them faithfully. Make sure you've got something worth the harvest.

    Category: Misc

    Previous page Next page


© 2007 Agile Artisans.