Achieving Flow in a Lean Startup

December 8, 2009

Eliminating waste is the fundamental principle of lean thinking.

As defined by Womak/Jones in their book “Lean Thinking” (a must-read):

Waste is any human activity which absorbs resources but creates no value.

Of all resources, there is no resource more valuable than time. Time is more valuable than money. While money can fluctuate up or down, time only moves in one direction – down.

Another way in which the value of time shows up for lean startups is through Boyd’s Law which states that:

Speed of iterations beats quality of iteration.

Colonel John Boyd, a military strategist and Air Force fighter, found this by studying an anomaly in dogfights where an inferior aircraft (F-86) consistently beat a superior aircraft (MiG-15) because it was able to iterate faster thanks to a hydraulic versus manual flight stick. Eric Ries applies Boyd’s Law to lean startups by highlighting the importance of maximizing cycle time through the build/measure/learn loop.

buildmeasurelearn

Startups that succeed are those that manage to iterate enough times before running out of resources. Time between these iterations is fundamental.

The Conflicting Pull for Time

Time, like any resource, has multiple pulls. In following customer development there is a basic pull for activities outside the building versus inside the building. Steve Blank asserts that all the answers lie outside the building and advocates the creation of a cross-functional customer development team which must include the founders. What about work that needs to get done inside the building? Who is going to implement the solutions to problems uncovered outside the building?

Eric Ries’ answer is to create 2 teams that feed each into other: a problem team and a solution team. The first team focusses on customer development, while the second team focusses on product development. However, if you are a founder, you need to be on both teams wherein lies the fundamental scheduling tug-of-war.

twoteams

The problem is further exacerbated if you are a technical founder (like me) because time is utilized very differently when going from product development to customer development. Paul Graham wrote an excellent essay on the two types of schedules: manager’s schedule and maker’s schedule. Managers typically organize their day into 1 hour blocks, and spend each hour dealing with a different task. Makers, like programmers and writers, need to organize their day into longer blocks of uninterrupted time. The cost of context switching is low (and expected) in a Manager’s schedule. It is high (and a productivity killer) in a Maker’s schedule.

Activities outside the building (customer interviews, usability testing, customer support) tend to be on a Manager’s schedule while activities inside the building (design, coding) are usually on a maker’s schedule. Trying to find an equilibrium point between these two pulls is more art than science but there is fundamental concept that must be present to maximize productivity – flow. There are 2 different definitions to what I mean by flow and both apply here.

The first comes from psychologist Mihály Csíkszentmihályi who defines flow as a mental state of operation when you are at your best. When you are in flow, you are so totally immersed in an activity that nothing else matters. You loose your self-consciousness and sense of time.

Activities that flow typically have the following attributes:

  • Have a clear objective
  • Need your full concentration
  • Lack of interruptions and distractions
  • Clear and immediate feedback on progress towards objective
  • A sense of challenge

While flow can’t be triggered at will, you can arrange activities so they allow for flow which coincidently is also the second definition of flow. From Lean Thinking:

When we start thinking about the ways to line up essential steps to get a job done to achieve a steady continuous flow with no wasted energy, batches, or queues, it changes everything including how we collaborate and the tools we devise to get the job done.

What follows are specific work hacks I use to allow for flow:

Creating Daily Flow

I generally group my daily activities into 3 categories: Planned maker activities, planned manager activities, and unplanned maker/manager activities.

Work Hack 1: Establish uninterruptible time blocks for maker work.

My planned maker activities are typically coding and writing tasks I’ve previously identified. Because these activities need an uninterruptible block of time, I schedule these very early in the morning (6am-8am). I usually schedule this task the night before and it is the first and only thing I do. I don’t check email/twitter or look at anything else. No one is calling at that hour so distractions are at a minimum. I find two hour blocks work best for me.

Work Hack 2: Achieve maker goals as early in the day as possible.

I’ve tried both staying up late and waking up early, and prefer the latter as it isn’t interrupted by sleep which allows the day’s activities to flow better. I also personally find that accomplishing something tangible that early in the day sets the tone for the rest of the day.

Depending on the day of the week, I might allocate more 2-hour blocks later in the morning or afternoon but they aren’t as intense as the first one and can be interrupted by something more urgent.

Work Hack 3: Schedule manager activities as late in the day as possible.

Planned manager activities, like customer meetings, are easier to schedule because they are clearly time-boxed and calendar driven. Unless there is an unworkable schedule conflict, I prefer to schedule these for the afternoon so as not to interrupt my morning flow.

Work Hack 4: Always be ready for unplanned activities especially customer support.

Unexpected interruptions can surface from anywhere throughout the day – server issues, customer support calls, etc. You have to be prepared for interruption, especially from customers. Both server alerts and customer calls (800 number) are routed directly to my cellphone. This is a also good place to apply a five whys process to ensure unexpected incidents don’t become recurring.

Creating Weekly Flow

Aside from organizing the day for flow, I also group certain activities of tasks by day of the week.

Work Hack 5: Identify the best days for planned customer development.

For instance, Mondays and Fridays are usually bad days for initiating new customer contact as people are generally either recovering from the weekend or getting ready for it. I plan these types of customer development activities between Tuesday-Thursday.

Work Hack 6: Take advantage of customer downtime.

Since Mondays and Fridays are usually slower from a customer perspective, I use them for larger maker tasks like writing blog posts. My blog posts are usually identified on Friday, outlined roughly over the weekend, written/proofed on Monday, and published on Tuesday.

Work Hack 7: Balance face time with customers.

Not all customer development activities require face time. Beyond the initial customer discovery stage, there is a strong tendency to rely more heavily on asynchronous communication using tools like email, forums, and online usability testing. While all these tools are great for lowering real-time distractions and achieving scale, I find it important to still create opportunities for face time with existing and new customers. Unscripted conversations are the best way for learning about unscripted problems. I put our 800 number on all pages and encourage customers to pick up the phone versus email whenever possible.

Eliminating software waste

Building software to specifications is hard enough that when faced with a startup environment where both problems and solutions are largely unknown, it is optimal to iterate around less code than more code.

Work Hack 8: Avoid overproduction by making customers pull for features.

Customer pull is another concept from lean thinking and it requires that no good or service be produced until a customer asks for it. At this stage, more than 80% of my effort is spent towards optimizing existing features versus building new ones. The whole point of customer development is identifying an MVP that resonates with customers and the whole point of customer validation is testing that if that resonance will scale. If it doesn’t, the solution is not adding features, but possibly pivoting and going back to step 1 – customer discovery.

Work Hack 9: Iterate around only 3-5 actionable metrics.

I’ve covered my conversion dashboard in detail in previous posts. Having a few actionable metrics is all I need to identify and prioritize the most critical build/measure/learn loops to tackle. All the data for the dashboard is collected automatically and presented in a one-page report that I can view in real-time.

Work Hack 10: Build software to flow.

You might have noticed I don’t have days or tasks identified for building, testing, or releasing software. That is because I follow a continuous deployment process (also popularized by Eric Ries) where software is built, tested, and packaged automatically at the end of every maker task with no effort on my part other than checking in code. One-click and the code is released to customers.

Going back to Womak/Jones definition of Waste:

Waste is any human activity which absorbs resources but creates no value.

Manufacturing processes have traditionally arranged around machine time breaking tasks into batches and queues. Lean thinking challenges this approach and calls for arranging around human time organizing tasks so they flow. Releasing software is not unlike manufacturing. While it is somewhat easier to continuously deploy web based software, with a little discipline, desktop based software too can be built to flow. I will be detailing my continuous deployment process in a subsequent post.

Related posts:

  1. Building a Lean Startup (Austin Lean Startup Meetup, Feb 2010)
  2. 3 Rules for Building Features in a Lean Startup
  3. Bootstrapping a Lean Startup
  4. Coming Soon: Getting Lean – the book
  • globalseopoint
    nice post.Keeping the group small so there's no need for management and communication stays healthy may also be a part of keeping the start-up lean. cursus timemanagement
  • manymanyvisitors
    Thanks very much for all the links and resources. I've just been "thrust" into being a PM and I have no tools whatsoever. This is really helpful! Thanks again.
    cursus timemanagement
  • interesting post
  • Onkar
    Great post! Can't agree more on making best use of morning time. Starting early with makers tasks indeed sets the the tone for the rest of the day.
  • Great post. I love getting into flow during work, and you're tips for achieving flow during the day and the week are well thought out.
  • Great post, I've been thinking about starting out lean a lot lately (who hasn't?) and really liked your input on this.
  • Ash, great synthesis of flow, lean theory and Paul Graham's maker vs. manager posts. I really enjoyed it.
  • Ash, very much enjoyed your take on this common struggle and I read this post at just the right time to make some shifts in my own flow. Looking forward to reading more.

    /kff
  • I'd be very interested in your take on co-founders. Finding people you can gel with might be the most important factor in achieving flow in a startup. Having others available who pitch in where needed on those somewhat tedious, not so flow-inducing tasks, makes it possible for everyone to set aside blocks of time to work on more focused stuff. Keeping the group small so there's no need for management and communication stays healthy may also be a part of keeping the startup lean.

    We've written a bit about our thoughts at igeejo.com
    ~
  • "It has been likened to marriage and I tend to agree. "

    Indeed. A partnership. But we're both married...for good reasons. Because I've found that startups are a journey best shared.

    Great blog, thanks for what you're doing. Consider me a fan and please don't hesitate to ask if I can ever help you with anything. I don't get to Austin much, but please give a shout if you find yourself traveling through DC.
  • Ash,

    Awesome post. Wow, that looks awfully familiar. In my last startup I found myself developing a very similar work-flow schedule. It also may be that we are the only two "morning people" developers on the planet. ;-)

    After 6 months of a similar routine, I began to realize that (1) in trying to do everything myself I was actually not delivering the maximum value for my customers, and (2) my favorite part of entrepreneurship is the people involved, and I missed the day-to-day idea exchange. I had advisors around me, but ultimately the day-to-day was up to me. After some time it becomes less fun.

    Do you have a co-founder? Or contractors helping you? If not, why not?

    I'm asking because I believe finding a co-founder is the central challenge in creating a lean startup, particularly in the smaller-market regions like DC, Atlanta, Omaha, Twin Cities, etc. where there are just fewer of us.

    Some people are great makers, some are great customer developers. Some can do both. I know I'm not great at both because I try to do both. But that doesn't mean I should do both.
  • Kevin -

    I didn't used to be a morning person... but dogs and eventually kids made me one.

    I do have people around me - advisors, independent contractors - some of them started as potential co-founders. I agree that finding a co-founder, even in the right region, is tough. It has been likened to marriage and I tend to agree. That is one of the topics I will most likely discuss in a subsequent post.

    Thanks for reading...
  • really enjoyed the post Ash. My one comment is in the paragraph of Hack 8. I'm not convinced that if A doesn't work, the answer is *always* to pivot to X. Sometimes, A+B can complete A's value proposition and get it over the hurdle. I realize that can be dangerous, and I'm not in favor of scope creep. I'm just saying it depends. I don't like to get too dogmatic when what one is really doing is trying to solve a real customer problem in as simple a manner as possible.
  • I agree Giff...

    Getting to product/market fit (customer validation) can take many paths. It may be one of many things including adding a critical feature, removing fluff features, pricing, etc. To me the decision to pivot should not be made lightly. It's too easy to fall into the trap of saying "oh, these users don't get it, so I'll try with a different set", and throw away weeks or months of work.
  • I shared this post everywhere I have publication rights. It's an excellent summation of flow thinking that is seamlessly merged into the daily tasks of a founder. Thanks Ash for putting this wonderful message together and sharing it on the lean startups group.
  • Aditya
    Hi Ash, enjoyed reading the post, it has crystallized a few of the things that I have been thinking about for time management while practicing lean start-up principles.

    Looking forward to your future posts, your blog is giving me incentive to blog about my own startup experiences in enterprise software.

    Cheers,
    Aditya
  • Aditya -

    Go for it... We all need more examples of applying theory to practice... You'll also find the writing process refines your own thinking...
  • In the final paragraph you talk about how machine processes are built around batches and queues but Lean thinking challenges this approach. On the contrary I actually think it shores up that approach. Lean manufacturing is all about making the process more efficient and using all machine time productively (machine activity which absorbs resources [like electricity] but creates no value is also waste).

    Couldn't you also say that you're breaking your day into batches and queues (blog on Friday-Monday, work 2 hour batches in mornings uninterrupted, etc.)?

    There's nothing long to the approaches outlined in lean manufacturing (and in fact there's a strong movement already to apply those tenets to processes like accounting). Great post...I always get a lot out of your blog.
  • Joseph -

    Lean manufacturing is all about making the process more efficient and using all machine time productively.


    Machine-time is precisely what non-lean processes optimize (large batches for mass producstion) and what lean manufacturing tries to change. The key there is a recognition that "waste" only applies to human activities and not machine activities. It is actually preferred to run machines to less than full capacity so unanticipated customer pulls for a change in a good or service can be readily serviced.

    Couldn’t you also say that you’re breaking your day into batches and queues (blog on Friday-Monday, work 2 hour batches in mornings uninterrupted, etc.)?


    That's an interesting point. I actually think it's reorganizing activities so they flow better and provide the best environment for the types of activities. I don't see them as batches or queues because almost all these activities are identified (and prioritized) as a result of some customer pull (bugs, features, blog post topic) and then serviced. The 2-hour time-boxes are simply task scheduling,

    Cheers and thanks for reading...
blog comments powered by Disqus

Previous post:

Next post: