What salami has in common with software development

May 28, 2013 • Business, Post • Views: 3144

Have you ever tried to eat a whole salami at once? Did you manage? Probably not. So what did you do to eat it? I guess you cut it into small slices, isn’t it? Now just imagine yourself a clever software developer, sitting in his room, working deep at night. For weeks, months, he’s breeding on that one perfect solution. He codes like crazy, refactors, rebuilds. He wants it to be perfect. May be he showed it to some of his friends and they told him they like the idea. After a lot of hard work the solution is finally ready. Excited and full of expectations he introduces it to the market. Soon, all his effort will pay off, money will start flowing. Unfortunately, nobody seems to be interested in using the product and for sure they don’t want to pay for it. Sounds this to some extend familiar? What did he forget? Yes, he forgot to serve his solution cut into small pieces, one by one. 

We waste too much …. and seem to love it

Recently, I concluded that several projects or startup ideas didn’t go into the right direction. Basically, in all cases the same mistake was being made. The implementation of an idea just took too long. Too much time was wasted on thinking, analyses and development. I’m not going to claim that I didn’t make these mistakes, because I did, but fortunately some time ago I learned it’s possible to go from idea to solution way faster than I did before. “Lean development” is the keyword. Perfection has to stay at home, because it should be about quickly delivering a so called minimum viable product (MVP), unless you just love to waste time.

Startups and corporate product development are very similar

Not too long ago, when I evaluated our projects with my colleagues, we concluded that the projects that were really Agile managed, based on the SCRUM methodology, were in general most successful. Projects that were more focussed on first preparing clear specifications that “just” had to be implemented were less successful.

During the past months I had the opportunity to meet with many new startups. Some of them were able to show ready solutions, others just presented an idea. In the end I came to the same conclusion as after evaluating our own projects. Some of the startups were too long busy with analysing, building prototypes, etc. Probably you already realize these were not the winners.

For a startup it’s essential that you will find clients who want to buy your solution, something that was also discussed during infoShare 2013 last week. And in fact I would like to extend this statement to companies who develop a new solution as well. In fact such development could (or may be should) be treated as a new startup. This will give it a special status within the company. Both a startup and an corporate product development team I would like to invite to consider the so called “lean” approach.

Lean development invented by Toyota in the 1990’s

The Toyota WayYears ago, in the 1990’s, it became clear that Toyota managed to deliver better quality more effectively than the Western Automotive industry, thanks to the “Toyota way of working”. This way of working can be briefly summarized by the two pillars that support it: “Continuous Improvement” and “Respect for People“. Continuous improvement, often referred to as kaizen, defines Toyota’s basic approach to doing business, they challenge everything. The true value of continuous improvement is in creating an atmosphere of continuous learning and an environment that not only accepts, but actually embraces change. Such an environment can only be created where there is respect for people (Source: Jeffrey K. Liker, The Toyota Way, 2004).

It’s may be a pity it took so long before we realised we can use similar principles within software development and honestly many organisations still don’t realize. We still seem to prefer to define our needs, request someone to build the solution and then to find out this is not what we were really looking for. The so called waterfall approach. To make software development will be more successful, we will have to change.

Therefore, in my opinion it’s high time for lean development.

How to develop software in a lean way?

The good news is that this way of working perfectly applies to software development as well. Lean Software Development concentrates strongly, but not only, on value creationquality and eliminating waste. Several principles translate these goals into a number of specific actions.

Be more innovative.
Stop wasting people’s time.
Be more successful.

The above are some statements of The Lean Startup Movement, initiated by Eric Ries. A  core component of the Lean Startup methodology is the build-measure-learn feedback loop. The first step is figuring out the problem that needs to be solved and then developing a minimum viable product (MVP) to begin the process of learning as quickly as possible. Once the MVP is established, a startup can work on tuning the engine. This will involve measurement and learning and must include actionable metrics that can demonstrate the cause and effect question.

 

Customer validation and a minimum viable product make the difference

Applying the above mentioned might either feel hard or simple, but anyway it will probably not directly result in amazing successes. A “simple trick” to quickly benefit from this approach I learned while attending the StartupWeekend. Within 54 hours teams transfer an idea into a new startup and some of them manage to become really successful. The first thing participants have to focus on is thinking out a business model for their idea, their future product. Soon afterwards they are stimulated/forced to validate their idea by asking potential clients’ opinion. You will have to realize that it’s not important what you think you have to develop, it’s most important to find out what potential clients are willing to pay for.

Based on this information you can develop an initial, through the eyes of our current way of working, may be even a “poor” version. This is the so called minimum viable product (MVP). It has to be something, for example a mobile app, that can be used by potential users. The feedback you will receive on this MVP is of high value. Based on client feedback you will learn, get new ideas, build and again ask clients’ feedback.

By applying this way of working you will prevent you are wasting your precious time. It will force you to focus on what your potential users, your clients, the ones who will pay for your food, drinks and other bills, really care about. You will learn how to serve a salami to your client. Believe it or not, but you will for sure cut it into pieces!

Tags: , , , , , ,