Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Monday, 24 June 2013

Increasing your Performance Tremendously by Using Lean Principles

You might know the situation: I wanted to make the design for one of our products. It was a motivating and creative task. However I couldn't start since I was somehow doubtful about the first step. I felt like that first step could lead me either to a great goal or an embarrassing failure...


Why is it often so hard to do this first step? I guess that we somehow think, that the first step might be decisive for all following steps. This might be true for linear processes, but merely is for complex ones. Once you drop a football it will fall on the ground. If you drop a butterfly instead, it might do the same. Or it flies away. Or it causes storms on the other side of the world (also see "Butterfly Effect"). 

Almost every situation in our everyday life is a complex one. We don't know the outcome of an action in advance and must adapt our behavior steadily. From this perspective it seems less frightening how we perform on first steps. It's not about doing everything right straight from the beginning, but about learning and adapting. Sometimes the best thing is just to start without making huge plans. Do it and learn from it.

This is also known as one of the key principles of "lean thinking". Build - Measure - Learn. Building means to make experiments. Whenever we start something new it's actually an experiment. Consider this example: You want to get fitter, so you do short runs in the morning. After we took action we need somehow to measure the outcome - even if it's not necessary to measure by using numbers. It could also be something like "I feel more energized than usual in the morning". Finally we create our conclusion about the experiment - When I do some running in the morning I feel more energized than usual. We learned something and based on this new assumption we can start with new experiments.


In the world of entrepreneurship this principle is used to develop products with true customer value. I love this approach of making small steps and using customer's feedback. You can start much faster, skipping an everlasting planning phase and don't have to be afraid of developing in the wrong direction. The worst thing that can happen is that that you learn that your assumption was wrong without spending too much effort.


"If you learn from defeat, you haven't really lost." - Zig Ziglar


Currently we use this technique for creating one of our applications. Instead of just developing and hoping that the customers will like it, we use a bunch of experiments. We created a landing page (you can find it here), which advises our potential customers of our project and thereby gives us an indication of their interest. If we see potential, we'll make a questionnaire to get their opinion more detailed. Once we proofed those assumptions we know how to proceed. By making baby steps, we are much less frightened to do something wrong. And less mistakes means more productivity.

Sunday, 26 May 2013

Elements of agile project mangement


Whenever I make a plan for a new project - the plan gets already obsolete on the next day. Requirements, circumstances and knowledge about the topic change steadily. So your plans need to adapt.

Today's projects (no matter, if it's a business project, organizing your holidays or writing a book) require more and more flexibility. You won't just start planning and ending up with an outcome as expected. You'll have to change your expectations and behaviours on the way, overcome unforeseen obstacles and find creative solutions.

So, you want to start a new project. What you need first, is a clear vision. Why are you doing this? Do you do the project for your self or for a dedicated customer? Depending on that, what is your/his favoured outcome of the project? Why should you/the customer want this outcome? Would it change anything to the better? And if, what? Which pains would disappear, which gains would appear? What are the crucial steps of a project? How can you get feedback and measure results?

The Vision: First you should define, why you want to reach a certain goal - The "Why" influences the "How" directly and gives you the chance to keep the orientation on the way. (like on a journey, you could get lost or want to avoid a traffic jam, so you choose another way as initially planned - but you never lose the focus of your destination).

“If you know the why, you can live any how.” - Friedrich Nietzsche

When you first know your goal (why), it's just about how to get there. The core principles of every journey should be to overcome a distance on the one hand and keep the overview of your current position on the other. Make progress and measure, if you are still on track (in terms of direction AND velocity).

Measurement/Reflection: This orientation or reality check should be done in spaced intervals (at best on daily and iteration base - e.g. once every two weeks). That means: check, if you can meet the planned  milestones in a given time and check, if the particular user is happy with the way the project develops. So, in a nutshell, the rest is about measuring, what happened, changing  the course and getting velocity. To know, where and how far to go, you must know, where you are at the moment.

It doesn't matter, if you want to reach a personal goal (e.g. losing weight; become a better speaker ) or any other goal. First, figure out your current position. (What's my current weight? How do people think about my speech-skills? Which features of our new software are already there?) Compare your vision and your current status to know the direction and the required velocity.

Velocity: You can't influence one's working velocity directly. But you can increase it over the 5 "I"s: Information, Identity, Incentives, Infrastructure, Institutions.

Try to get access to the right sources to get every information you need - automatically. Take care that you can identify yourself with your mission by staying aware of your goal and why you want to achieve it. Stay motivated by reading motivational stuff, talk to motivational people and by pushing yourself, so you feel a strong connection to your project.
If that is not enough, use incentives. Set milestones and reward yourself with a special meal, a party or even a holiday. Sometimes it is hard to reach our goals, because we find impediments on the way - you want to become a marathon runner, but your feet hurt every time you go for a run? Take care that you use proper equipment, so you can focus completely on the task you are currently facing.
Finally create your own institutions. Remember the major rules that are required to work efficiently or create new ones. But these institutions must be useful - so it's important to reflect about them from time to time.

Change Management: Sometimes we want to run too fast and get lost  or find obstacles in our way. Take the change as a little project. Create a vision for all people involved to make the goal desirable and creating a sense of urgency. Get everyone aware of the benefits a change would bring and communicate them (via a speech, emails or visualization). Take care that everyone is able to make change happen and finds sources to get the required knowledge. Care for quick wins to show that you are on the right way. (Here is a post about initiating change)

Know what you want and how you can measure it. Take care that you work fast and efficient. And be ready for change. These are the core principles of agile project management.