The Hard Truth About Lean and Continuous Improvement

At Toyota there is a cord employees can pull to stop the line in the event of a problem. The andon cord halts production. It gets pulled around 1000 times a shift. Once the number went down to 700 at a factory. Most companies would celebrate this. Toyota didn’t.

The plant president spoke to the employees saying:
“The drop in andon pulls can only mean two things. One is that we are having problems but you are not calling for help. I want to remind you of your responsibility to pull the andon cord for every problem. The other possibility is that we are actually experiencing fewer problems. But there is still waste in our system and we are staffed to handle 1,000 pulls per shift. So I am asking group leaders to monitor the situation and reduce inventory buffers where necessary so we can get back to 1,000 andon pulls per shift.”

If we aren’t improving we are degrading. If we aren’t failing we don’t know what to improve. We know this is true in fitness and health and yet at work we see green reports and congratulate each other.

This is what it means to embrace failure. Not to accept it, or forgive it, but to love it, to seek it out, to find weakness that can become strength.

Acing a good technical interview

Just had a young developer who I plan to interview mention he’s concerned he isn’t ready for a technical interview as he doesn’t know enough yet. My response:

Totally rational concern.
My plan (rather than the foolish “quiz” you’ll often run into) is to sit and pair on some of your code and some of our code. I’m hoping not to read whether you meet some arbitrary bar of good enough but rather to see where you are in the process of learning and how you approach the learning itself. All serious developers are engaged in a continuous learning process. While it is true you will have to be good enough to work with us today I’m absolutely happy to help coach you on weak spots in the event you aren’t there just yet.

That said best way to prepare is learn more about your and other people’s code. Why did you do it the way you did? Why did they? What are the merits of that one crazy approach you took and what are the downsides. What are three other ways?

Good developers; know what the code they wrote does, know why it works that way, picked the approach out of a number of options while weighing trade offs. I don’t expect you to have all the answers there as you lack experience but it’s good to start thinking about it. It’s also great to know your code’s ugly spots. That one time when you did that horrible thing because you had a date later and just needed to get it done (happens to all of us).

Now a lot of that is likely just on the edge of your experience but don’t worry about that. As long as you want to put in the effort to keep learning and reach for excellence you’ll be fine.

How To Destroy a Month of Work in a Minute

Crossposted from the LIFFFT blog 

A month of coding down the drain.

“What are the top features you’d look for in a Pinterest analytics product?” we asked the client, prepared to hear an agenda for our demo.

We expected to pull back the curtain on a solution for exactly those problems, and awe them with our intuition and customer insight.

A minute later we realized we’d failed.

Our client’s answer to our question was not what we’d anticipated. We didn’t support any of the use cases they enumerated. Every single feature they mentioned focused on tracking activity across all Pinterest users for their ecommerce site. Our entire product focused on engagement around their Pinterest account. We’d completely missed the mark.

Rewind a month.

We’d just finished meeting with a number of friends at social media agencies, where many had expressed a need for analytics for Pinterest. Pinterest was new; it didn’t yet support any tracking or work with any of the big analytics packages. Also, the existing products were overly complicated for the social platforms they did support. They wanted something simple, something they could use to show their clients they were doing a good job.

Perfect. We could easily solve this for them. We started work on an MVP, confident that the Pinterest API could easily cover this use case.

Except it wasn’t easy.

As we moved higher within the organizations, engaging with financial buyers, things became more complicated. At the time, social media was seen as a bit of a black art. A lot of social folks operated on instinct rather than data. Buyers didn’t want to pay for something that risked showing their efforts in anything but the best possible light.

No problem. We’d switch customers, focusing on their clients instead. These clients, big ecommerce brands with a strong social presence, definitely wanted to know social engagement on their accounts, right?

We emailed a few friends in social media at some big brands and asked them if analytics for Pinterest were important to them. They said yes. Slam dunk. We spent the rest of the month frantically finishing the MVP to demo.

Which brings us back to the client demo. What did we do wrong?

We switched customer segments without properly re-examining the value proposition. While both customer segments wanted Pinterest analytics, their understanding of “Pinterest analytics” varied greatly. To the agency folks, “Pinterest analytics” meant social engagement data from campaigns run on Pinterests site; new boards, successful repins, etc. Conversely, to brands “Pinterest analytics” meant data from engagement with the brand across all of Pinterest. Essentially, they wanted to know how many times images from their website were pinned. The minor difference of definition resulted in a drastically different feature set.

We’d built a product for our first customer segment but were trying to sell it to our second. And we didn’t even realize a difference until our first sales pitch.

We’ve learned our lesson the hard way; we now always vet our assumptions by asking customers to explain the value proposition back to us, in detail. Remember, while everyone may claim to go to the gym to get “in shape”, depending on who you ask, “in shape” may mean “ready for bikini season” or it may mean “strong enough to lift a car”.

The old annoying cliché about assumptions is half right. I certainly felt like a bit of an ass leaving that meeting.


A year ago today I found myself standing on the top of a mountain. The snow was fresh. The sun was out.  The view was amazing. I wasn’t aware of any of this. I was busy trying to slow my racing heart. I stood gripped in my fear of heights. It was all I could do to keep from racing back to the gondola and begging the operator to let me ride back down. It wasn’t my first time snowboarding but everywhere else I’d managed to stay in nice bowl shaped valleys. The open mountain top was too much. I slowly made my way down the mountain, careful to avoid falling off the edge of the run I’d picked; the easiest way down of course.

A third of the way down the path I’d chosen had been hit by an avalanche and completely wiped out. At first I had no idea what to do. As I watched everyone drop down the washed out slope I experienced a perspective shift. The edge I was afraid of was simply a sharp change in grade, not a cliff as I pictured. I realized, rationally, that my fear was groundless. As my board approached the edge I clenched my teeth, held my breath, and dropped. I learned more about snowboarding dropping that edge that day than I had over several years on easier runs.

I’ve encountered much less rational fears in my day to day life. I’m afraid to blog because I’m afraid people won’t like my writing. I’m afraid to cold call a potential customer because I don’t want to bother them. I’m afraid to talk to strangers in general for much the same reason. Every single time I challenge one of these fears I see massive improvements in myself.

This all happens because fear is the brain’s way of warning that something is new and unexpected. Bad stuff may happen. It brings  consciousness to focus on a single thing and says “Pay attention!” Too much of the time we respond to fear by running away. Yet new, uncomfortable, and unexpected situations are exactly those where the most learning occurs. By reframing fear as focus rather than danger I’ve had amazing experiences. When I see it as an opportunity to learn, or at least acquire a fantastic story of epic failure, life becomes a lot more fun.

I spent the rest of that day dropping off steep edges. The moment fear struck me I used it like a compass and turned my board to drop off. I improved by leaps and bounds that day. A year later I rode the backside of the Blackcomb glacier, a double black run. I certainly can’t say I wasn’t afraid, or that I didn’t fall, but I can absolutely say I was learning.

No, I can’t write this post it isn’t any good

“No, I don’t think I’m going. I have an idea but it isn’t very good…”

I was speaking to one the attendees of my talk on building supportive technology communities for Peeks in Ramallah. I’d asked if she was coming to the Startup Weekend in Tel Aviv the following days. Her response is one I’ve learned to expect; people who’ve spent an awful lot of time thinking about a problem and possible solutions are often the most afraid to be a part of making it real. “Well you can go and help someone else with their project; with teams of four or five most people don’t end up working on their idea. You’ll have fun. You’ve already got a pass.”

“No I don’t think so, it’s not a very good idea”

She’d made it to the event after all and as the pitchers lined up I’d asked about pitching the idea. “It’s worth doing just for the practice of presenting an idea to this many people” as I gestured to the auditorium of around 200 “even if no one likes it you’re no worse off than not doing it at all right?” “I don’t know…” “Ok” As the line of pitchers wandered along I rapidly tweeted potential team names, catch phrases and funny comment the presenters made. As each person pitched the line grew as others saw; it wasn’t that bad, the crowd was supportive, and they had better ideas anyway. When she came on stage to pitch she did a hell of a good sight better than I did my first time, and not in her native language to boot.

“No one wants to work on my idea…

it’s not very good and they don’t want to work with me because I’m Palestinian” She’d been selected as one of the top ten ideas, but as happens, hadn’t been aggressive in hustling people to work on her team. She’d assumed they’d approach her but in my experience it’s all about the hustle. We set out in search of a team. One of the potential team members tried to recruit her to work on an unselected idea and several didn’t quite get the idea and wanted to change directions but after some work and a good deal of membership shuffling she had a team. By mid-day the second day they had a solid concept and were making good progress. Even cooler she’d enlisted the help of some Palestinians who weren’t able to get permits. They worked remotely and coordinated over Skype to a degree that topped some of the teams working face to face in the room. In the end she presented a solid product with a complete design including animations, full graphics, and basic layout. Her team also managed to integrate real data from multiple sources to feed the design. It wasn’t ready to ship but it was a sight further along than most of the teams. In the end it was a success.

“I used to think I’d fail and doubt myself. Now I know I can do anything.”

We all see failure, and say no to ourselves, and claim that others can do what we can’t. It isn’t true. Stop saying no, and make something real. The worst you can do is fail, and that isn’t nearly as bad as telling yourself no.

When to Reconsider

I’d checked out of the hotel a few hours earlier and still had all of my luggage hanging on my shoulders. Standing in a foot of rapidly moving water in the dark with only my quickly dying iPhone for a flashlight I began to think this was perhaps not the best idea in world. I’d travelled through a series of caves, past an active archeological dig to an underground river that is believed by some to justify the placement of the city of Jerusalem.  In my typical fashion I’d arrived here purely by wandering from one interesting spot to another and was by no means expecting any spelunking when I’d left the hotel.

It was here several hundred feet underground that it occurred to me that my previous post on acting without thinking needed a partner; when to reconsider.

“Are you prepared?” not “Do you have a plan?”

There is a great difference between being prepared to handle something and having planned for it. I didn’t plan to be wadding in an underground river but had I had a light and less baggage I’d have been fine. During visits to Ramallah I was repeatedly put on the spot for impromptu talks on Visual Studio, Windows Phone and Microsoft generally. Thankfully I spend a good portion of my time thinking and talking about these things so was able to put together several hours of impromptu material.  My planned talks were more structured and I was able to build a richer story but that didn’t mean that impromptu talks weren’t valuable.

You’re in over your head

Or in my case up to your calves. I’m a firm believer of faking it until you make it. However it’s important to realize that this is more about countering my superego’s tendency to ignore my actual expertise rather than making things up. Sometimes it’s important to realize you don’t know what you are doing and seek some help. In preparing a talk on building startups and the startup community in Seattle for developers and startups in Ramallah most of the material was shaped by conversations I’d had with people living and working with the local community. By realizing context was far more important than some overarching plan of mine I was able to pull some fantastic material together and by encouraging the community to join the talk I was able to help build the same community engagement I was talking about.

Is this a good use of time?

Managing to crawl through this tunnel was definitely going to leave me with a story, but with only an hour left in Jerusalem and slew of tombs, temples and historic sites, was this really rather ill conceived endeavor the best use of time?  Making these kinds of opportunity cost decisions is almost impossible in the moment, but taking a moment to think about what else you might spend your time on is often a worthwhile exercise. In giving one of the opening talks for Startup Weekend in Tel Aviv I tried to cover all the lessons I’d learned that would benefit attendees new to the event. As the minutes ticked by I became concerned that in the past as attendee talks predominantly got in the way of working rather than adding a lot of value. At around minute five I cut things short and offered to give more tips to anyone that sought me out directly. While I had a lot of advice to give and much of it would make teams products and experience of the event better there is nothing more important to a successful Startup Weekend experience than getting started.

In the end, I took the bypass route. It was well lit, dry, and the only adventure was fitting my bags through the tight tunnels, which I’ll admit lead to a few moments of laughing at myself for bringing my luggage on an underground adventure in the first place.

For those wanting a full debrief on meeting with Israeli and Palestinian startups and helping everyone work to build some of the best Startup Weekend pitches I’ve seen you’ll have to tune in next week.

The Importance of Jumping Without Looking

I’m sitting just off the Mediterranean Sea listening to the waves crash into the lovely beaches a stone’s throw away as I write this. How did I end up here you ask? A little over two weeks ago I got an IM from Marc at Startup Weekend saying;

Can you go?

Attached below this somewhat cryptic missive was a thread about Mercy Corps looking to pay to bring a technical person to Israel for an upcoming Startup Weekend in Tel Aviv. For those who don’t know Startup Weekend is an event where folks get together on Friday afternoon to pitch ideas, form groups an build prototypes over the weekend, and present to a panel of VC’s and startup veterans Sunday afternoon.  It’s an absolute blast. My response was immediately: “Certainly”. While I’ve attended several events, helped out at a few others and hosted one at Microsoft in Redmond I’ve never travelled half way across the planet to help out with one. In fact I’ve never been to this part of the world at all.

How and why was I able to agree so quickly?

I trust Marc and the Startup Weekend team. I know that they have great people organizing their events so I was going to be joining a great local team. I also knew that I wouldn’t have been asked if I couldn’t help the event in meaningful ways.

But what about time away from the office?

Between the Startup Weekend running Wednesday through Friday for cultural/religious reasons and being asked to give a talk on Visual Studio a few days before Startup Weekend I ended up needing to be out over a week. Worse yet it’s a busy point in my work cycle and closing down on a few last things is key to our success in the next few months. None of that matters though. Work will always have important and pressing things that must be done; this is more important than going to work. Even further; this is more important to my success at work than going to work. Yes, it’s been hard to close down the few things I didn’t get to before I left and keep on top of some others while struggling with jet lag and time differences, but getting another week of meetings in will not change things significantly for me, or anyone else. Working hard when I return or trusting those around me to make the right decisions will easily swallow up the bumps there. If you asked me what I had done this week had I chosen not to go a year from now I wouldn’t be able to tell you.  Ask me what I did a year from now, what I learned, and how it changed my thinking about my customers, my products, my team, and my life. I bet I’ll have something more to say.

Weren’t you… scared?

Yes. Definitely. I think admitting this is one of the most important things I can do to succeed at anything that scares me. Part of why I agreed immediately is because it was a daunting prospect. Quite often I’ve found taking the time to think about something allows me to spend a bit too much time finding problems and schedule conflicts that are fundamentally excuses to cover one’s fear. By deciding first that my answer was yes those problems no longer had the option of being insurmountable. On spending more time reflecting on the part of this trip that actually seems the scariest in situ, it’s really silly. The thing that makes me the most uncomfortable is not knowing the language, or the little cultural rules. So I fail to clearly communicate something and appear rude and ignorant, or get cheated because I don’t know the rules. Was I scared to arrive without a hotel reservation or really even a clear idea what city I needed to be in the first few days? No, although the border guard thought I was nuts. Scared to hop on a train get off on a random stop in Tel Aviv and wander around randomly until I found the hotels? Nope, that was actually a lot of fun. Was I nervous about renting a bicycle? Yes. Buying a meal? Yep. Or even a Coke? Sigh…

Post Script

Upon realizing this madness I promptly stopped writing this post, left the hotel on a quest to buy some random items without a really good plan and get rid of half the cash I had on me as a matter of principle. I found some delicious ice cream (chocolate and orange always gets me), and ran into one of the Startup Weekend Tel Aviv alums. Everyone was very nice and smiled politely and switched to English at my “sorry” and baffled look to complex phrases like “if you buy two candy bars you get one free”, and no I did not buy two candy bars.