Software and BMW design

Creating a new software product typically feels very chaotic, from a management viewpoint.  Teams are designing new solutions, working on the edge of innovation, testing new concepts and changing accordingly.  Their world is full of uncertainty which makes work unpredictable and highly variable.  Planning has always been a difficult exercise for these teams.  The same is true for most software development projects.

Our natural reaction is to invest more in a solid preparation.  Get the design right, after which we let a team of skilled professionals develop the system based on rock-solid specifications.  Just like designing a car and then managing it’s mass production.

Many IT-professionals are still in denial, thinking they can design an entire new application without writing one single line of code.  Reality has proven that the gap between a useful application and its initial design doesn’t shrink linearly when we invest more in the upfront study. Instead, it’s much more interesting to minimize the initial investment and use a feedback model that allows us to test ideas fast and regularly.  This way, we can validate all the initial hypotheses and learn what really matters to their customers.

Neither is a new car designed on paper only.  BMW has recently revealed their car design process.  As shown in the video, they rely heavily on creating prototypes for testing ideas, many times in clay.  From many different designs, in the end only one makes the final cut.  It is a process of continuous learning, each step bringing them closer to the end product.


The same ideas can be applied to software development.  Let’s take a limited amount of time to create a high level design of the new system, based on a vision.  When this foundation is constructed, we will continuously test and learn by developing new pieces of the system.  Learning leads to opportunities to correct our many assumptions.  However, changing a system in development is hard, because many tasks are half-finished and every piece of code seems to be connected.  That’s why your process and engineering practices need to be adjusted to cope with this.

What do you think of this comparison?

(image by chelmkamp)

About Nick Oostvogels

Hi, I'm an independent management consultant. My biggest strengths are located in the fields of teamwork, motivation, leadership and continuous improvement. In the IT industry you find a lot of these values in the agile movement, in which I often act as a project leader, product owner or coach. My interests go a lot further, into other industries where we find these values in lean production. Besides that, I try to broaden my horizon as much as possible, always looking for better ways of doing business.

4 comments

  1. Bart Biernaux

    I love those BMW’s 🙂 But the parallels are there indeed, the automobile sector has always been one of the bigest examples in product development.
    and I would go for the clay!

  2. Nick, are you sure about this?
    You want to avoid “rock solid specs” and then praise a “design” process where “in the end only one makes the final cut”.
    If I read this right, it is the opposite of how we build software incrementally (always having a running system people can work with and frequently give feedback on) or how Toyota and Honda develop cars (building prototype cars, not clay designs, for people to drive!)…
    Did I miss something? From my experience working with different suppliers, BMW (as all German car OEMs afaik) still do the opposite of lean/agile development…
    Could you clarify?
    Take care
    Olaf

    • Olaf,

      Thanks for the comment!
      My knowledge of the entire BMW design process is too limited to know if they just keep it to clay models, or further.
      The comparison I wanted to make is between the car design process and building a software application.
      In my eyes these are two similar endeavors. The main difference lies in the fact that after the first car is built, it gets reproduced en masse.
      A software application doesn’t get reproduced over and over again.
      So it would be wrong to compare software development to car design + manufacturing.

      The main insight I got, was that designing a new car is a highly creative process, much like creating a piece of software.
      In software development , only one ‘version’ of the application continues, just as in car design one ‘version’ of the new automobile continues in the process until a final version makes the cut.

      I’m sure there’s a big difference between car manufacturers.
      If you can point me (and the readers) to more information about car design processes, I would be very gratefull.

    • Bart Biernaux

      Hi Olaf,

      I’m a big fan of agile processes, and I agree with you that the feedback cycles are indispensable and specs shouldn’t be rock solid, because time and requirements/demands change fast.
      But over the years I saw that going too black and white on this (and I’m talking about myself here 🙂 doesn’t work either.
      To have a feedback cycle, you have to start doing something, but this doesn’t mean that there is no basic thinking first + on the clay model there could already be feedback of the user, no?
      Also the pull principle is great, but finding the middle between push and pull is even better,
      because designers (graphical, software, automotive, …) have often a way better view on what is better (nicer, easier, more performant, …) and I think they really are allowed to judge whether to take the feedback into their design or not at all! also because the end customer doesn’t always have an idea or opinion.
      A small proof here is that I like (and this is indeed emotional/subjective) BMW a lot more over Toyota, not only the graphical design, but then also performance and reliability.
      Toyota seems to call back too much cars now and then, and I don’t think this is the feedback loop that we want 🙂 and without knowing BMW’s real processes, I know they do take user feedback into consideration.
      So, to summarize, I like the agile ways of working a lot and believe in the greater succes factor of it, but the result for the client is even more important ..

      my 2p
      grts, Bart

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: