Better Profitability with Lean Principles

Lean thinking is particularly well-suited to today’s battle of margins in a weak economic environment because it comes from Toyota’s innovations in post-war market, where demand for cars was occasional, sparse, intermittent and difficult to predict.

Customer Driven

In customer driven business model it is important to sell what the customers need and reserve production assets just after the customer’s order. Sales and marketing should emphasize customers more.  That sells better than pushing what we happen to offer. Listening to customers is an important way to find tacit signals necessary for developing the products. We can meet the needs by preferring simple and fast solutions and avoid the tendency to invest heavily and slowly. Consultation business can begin lightly without extensive materials and finalized products.  Consultants learn by doing, working together with the customers.

Sales should not be overly concerned about the availability of the experts and resources. There are always more quotations than deals. Reservations should not be done before the commitments are clear.  Transparency helps everyone to adapt to rapidly changing situation in available consultants and speculations and realizations of the deals.

Flexibility levels loads

The ideal situation in which the company acquires the resources only when needed is not possible. Prices are higher if you cherry-pick.  Transaction and purchasing costs must be accounted and availability of the resources in peak demand is not a sure thing.

Profits as sales increase

Profit with fixed costs (green) and without (red)

Profit calculation is more difficult when the equation includes fixed costs. Annual rent of a typical agile team room could be 10 000 €. The charge for the corresponding space in Technopolis is 400 € per day.  If the rented space would be used 10 days a year, it would cost € 1 000 a day. If we could use it 100 days a year, it would cost € 100 per day. It would save a lot if the same space could be used as the office space for the team, internal meeting room and meeting room for the customers. You have to invent how to profitably change the configuration of the space to fit the needs of the moment. It is probably cheaper than having separate rooms for each purpose or renting more space each time.

Businesses are  crazy about premises in Finland. They have always too much space and in too costly locations. Home offices have a clear competitive advantage.

The situation is the same if we look at the profitability of the sales.  If the profit of a consulting day after variable costs like accommodation, travel and the consultant’s fees and the avalanche of the general expenses is € 200 to cover the seller’s costs, each salesman must sell  500 days a year to reach € 100 000 gross margin paying a typical 5 000 € monthly salary for him. If sales are lower keeping the margin by increasing the selling price makes it more difficult to sell in a tense competition situation.

ICT professionals have full-time employments because getting good people in bad terms is not possible. There is a long learning curve for each task and there is no visible end of the demand of their skills. Vendors’ success factor is a small cross-functional team in which all members are able to do virtually any of the tasks in the backlog. In addition, the team members could be responsible for a product development, support, sales support and marketing (especially brochures, blogs and public appearances). This ensures useful work throughout the year despite of the typical seasonality.

If an organisation is heavily based on specialized roles in its business model the weakness in demand is immediately reflected in the bottom line. It can not guarantee adequate income to its partner network and which fades away focusing on other customers.

Flat organization

Lean organization does not require a strongly specialized and multi-tiered hierarchy of managers because teams will make virtually all operational decisions. Maintaining and calculating profit margins is easy because organization’s general expenses are not significant. To get any work done creates a huge amount of coordination work if every task has its own manager. It is a slow and expensive. Trade of squirrel skins, purely speculative budgeting, performance management, etc. will add operations its own heavy share in the bottom line.

Economic monitoring is simple. Lean measures throughput times in addition to sales and gross margins.

Example Driven Development

Example driven development is the best name to cover acceptance test driven development, behaviour driven development and specification by example approaches.

The concepts of acceptance test, testing and a tester have been defined long ago. I have found that changing their meaning is difficult. Even when we talk about test driven development we have to spend a lot of effort to explain that it is not done after programming and not by the separate testers.

The same happens if we talk about specifications. The old school uses user stories as a new way of writing specifications, which could be then send to a separate development team. Collaborative design is not happening as it should.

Though I like the idea of programming with natural languages, I think that they are too abstract and too prone to interpretations. Examples are a good way to explain things unambiguously and in a way that both the users and programmers see useful. Behaviour is something that programmers talk about, but for users that might not be as clear as examples.

With example driven development I want to emphasize collaborative design where users and developers work together using examples to clarify how users interact with computer programs to achieve business benefits that pay the return on investment.

Traditionally we have specifications, tests and code written to different purposes. They should not just be consistent but the same. In agile tests are specifications and in behaviour driven development code is moving closer to the tests.

The ultimate goal might be that we have only one description of the program that can be understood by both the users and the compilers. That is one goal of visual programming. The lack of programmers has been tried to be solved by moving the work to users. This approach has not been very successful because building large programs requires a lot of logical thinking and solutions to huge amounts of details. Software designers are not endangered species but programmers might be if the abstraction level of programming goes up.

 

 

 

 

Another booklist

In this list I have a lean and management focus:

Hope, Jeremy: “Beyond Budgeting: How Managers Can Break Free from the Annual Performance Trap”

Denning, Stephen: “The Leader’s Guide to Storytelling: Mastering the Art and Discipline of Business Narrative (J-B US non-Franchise Leadership)”

Denning, Stephen: “Radical Management”

Reinertsen, Donald G.: “The Principles of Product Development Flow: Second Generation Lean Product Development”

Reinertsen, Donald G.: “Managing the Design Factory: A Product Developers Tool Kit”

Goldratt, Eliyahu M.: “Theory of Constraints”

Ries, Eric: “The Lean Startup: How Constant Innovation Creates Radically Successful Businesses”

Gojko Adzic: “Specification by Example: How Successful Teams Deliver the Right Software”

Fowler, Martin:”Domain Specific Languages (Addison-Wesley Signature)”

 

New lean and agile books

I bought some lean&agile  books to read during my summer holiday. The list is not complete because I have already read quite many of them. I got Mike Cohn’s new Scrum book freely from the publisher. Thanks about that.

“Scaling Lean and Agile Development: Thinking and Organizational Tools for Large-Scale Scrum: Successful Large, Multisite and Offshore Products with Large-scale Scrum (Agile Software Development)”
Craig Larman;

“Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley Signature)”
Lisa Crispin;

“Leading Lean Software Development: Results are Not the Point (Addison-Wesley Signature)”
Mary Poppendieck;

“Agile Product Management with Scrum: Creating Products That Customers Love (Addison-Wesley Signature)”
Roman Pichler;

“Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition (Addison-Wesley Signature Series (Cohn))”
Lyssa Adkins;

“Kanban”
David J Anderson

ReWork: Change the Way You Work Forever”
Jason Fried;

“Lean Architecture: for Agile Software Development”
James Coplien;

“Drive: The Surprising Truth About What Motivates Us”
Daniel H. Pink

“Switch: How to Change Things When Change is Hard”
Chip Heath;

Lean opportunity

Organizational issues come into discussion every time we talk about agile adoption. Creating a really lean and agile organization has been found very difficult. It has been asked whether that is even possible, not to talk about being sustainable.

In current economic situation savings are the appealing part of lean thinking. The more important part, empowering the ordinary people, is hard to justify. On the contrary, power is restricted to the (upper) management especially when we talk about costs. Layouts are also used to save. Fortunately, the availability of software development jobs is still quite good, which means that volunteered change of ones job is the way to do that.

To many organizations becoming lean means layouts. Some of the them even get rid of unnecessary management layers. But, the big but. Really working together as teams and collaborating parties is far away if we are not talking about Japan where jobs are for life (maybe still). Layouts do bad to morale and motivation and organizations look like frozen. No innovations, no new ideas, just unspoken fear and risk avoidance. Obviously, becoming lean means losing fat, but it also means that you will become more energetic, capable. I am speaking now both the people in individual level and the organizations.

We have learned that economic downturns will end some day. So, the tactic of waiting has become popular. We assume that we can just sleep the bad time away and continue as usual. Unfortunately that is not how the market economy works. Downturns are the time for restructuring the businesses. Some old ways of doing business will be gone forever and new businesses have to be started. You lose your opportunity if you dig to your pothole.

So, instead of just keeping your old cows and killing the calves, you should consider doing just the opposite. Getting money from your cows is of course important especially when you are running out of cash, but old cows do not milk forever. You must have courage to take your changes.

Here I am talking about the opportunities of lean and agile software development. Being effective and capable of utilizing the opportunities is always fashionable. Now we have the theories of lean thinking available.  The question is,  do you take the opportunity or does your competitor.

8 years of lean software development in Tieturi

Kalle Huhtala’s talk about practical experiences of lean software development is now down-loadable from the site of the Projektipäivät. It is in Finnish, sorry. Unfortunately I could not take part of this day but knowing Kalle, I am sure that it was a good talk.

Tieturi is a training and coaching house but we do some in-house software development to create solutions for eLearning. These projects are quite small and Kalle’s team serves multiple customers at a time. RePa is an excel sheet that is used to manage the tasks and resources. It can be classified as a kanban, because there is only one list of things to do. A dedicated one hour weekly meeting is used to have the coordination discussions in addition what happens ad hoc in the team room.

Experiences of RePa are quite good as you can assume when you hear that we have used that for eight years. Our process has helped us to balance the work in progress and resources that we have. Limiting work to capacity is important because failures or false promises are not an option in small projects that we do.

ELearning is the answer that queue theory gives to trainer’s value stream. You can start learn as soon as you have bought the solution and you can proceed on your own when you have time. There is no need to gather large numbers of students to classes. The solutions are smaller than several days that you typically spend to a class. You can spend just minutes to learn something that is very specific to your actual need. For example, if you want to know how to use links in WordPress, you could just start a video that teaches to you to do it.

How to grow a good developer

I read Malcolm Gladwell’s book Outliers It was well worth of its cost – 7 euros, because it is well written an easy to read. The ideas were not actually new, but getting an idea of how successful people are made is made clear. Bill Gates was one of his examples.

First of all you need luck to succeed. For example Bill Gates was one of the lucky few young people who had unlimited access to computer time in 1968. Second very important thing is 10 000 hours of hard work. Creating a professional skill in any area of life requires 10 years of enthusiastic learning. You have to be lucky to have a good “university” for that. It was Hamburg for the Beatles.

Success is not as much of IQ as employers are used to think. An old study of Lewis Terman, a professor of psychology, has shown that the success of people with high IQ is not as good as we typically believe. The geniuses that he found did not succeed much better than ordinary people. Gladwell conjectures that IQ has a threshold value. Your IQ must be good enough to get in into good universities but above that other things are more important. Creative thinking is more open ended than an ability to solve puzzles that have a single right solution.

Now thinking about growing good software developers. Most important thing is to have that 10 000 hours of work. It is also important to have multifaceted experience. A 10 year career of COBOL-programming in same domain area or even a piece of software is not more than 10 times one years experience. I even wonder what has kept the person in a position where he can’t learn anything new.

I emphasize attitude, the passion to do ones work. It is a known hiring guideline to hire the attitude and train the skill, but this is much easier to say than actually do. The same frustrated looser that you fired may become a passionate star of your competitor. So, it is not so much about selecting people but about creating a corporate culture. An that is really hard, especially when your business environment is difficult.

Agile and lean software development is all about people. It is not about processes and tools as should remember from Agile Manifesto. Nevertheless, the people focus on the Scrum process and kanban in Lean believing that the change of process is the silver bullet. I admit that I have seen remarkable increases in teams’ motivation when they have adopted Scrum, but I assume that the correlation does not mean a causal relationship, especially if we ignore the human part of agility.

In this post I have intentionally ignored what Gladwell said about cultural background. Read that from his book 🙂

8 years of Lean Software Development in Tieturi

The program of our forthcoming talk is now online.
Projektinhallintapäivä 12.8 (In Finnish)

This 45 minute talk will describe the system that we have used in developing eLearning solutions for our customers and of course something about the experiences we have had. The system is basically a kanban organized by one list of tasks to do supported by a weekly meeting.