Agile development – how to handle customers

In my previous post I outlined the issue of too flexible approach towards the customer. In the example I provided you were presented as a painter and me as your customer. A few changes of my ideas regarding the color of the room resulted in you spending 3 more hours to complete the job and spending additional 10$. Not very good. On the other hand, not too harmful so what’s a big deal ? Unfortunately in the real world, where money matters – this is a very huge one. deal A piece of paper rescue! In the example with the painter, you agreed to perform the specific job. What would happen if, instead of getting round to do the job straight away, you decided to sign a contract with me? In this contract you would state that in 8 hours you will paint my house and that you will cover the costs of the paint. Probably, I would be amused by all this hassle of signing piles of paper work to get one room painted. In Agile development, a piece of paper is not always your best friend. Sometimes you just loose the agility moving the focus from the goal to the process. This is breaking the main rule of Agile. Thinking about complexity Instead of trying to put everything on paper, you could do something more intelligent. Think about me, about the way how I cope with you. From this small analysis you could conclude that I am not a strict guy, and that I am not sure what color I need for my room. Knowing that you could ask only one question which could solve later issues: You won’t change your mind about the color later on, will you? If I say “well, I am not sure”, then you could say “okey, no big deal. I will take some color samples and we will choose the best one”. I this way you predicted the change, or in other words – you have minimized the risk of the color change. In my previous example this issue caused 2 hours delay. You saved it by asking only one question. Nice result I guess. KISS (Keep it Simple Stupid) You have solved one issue – the choice of color. Unfortunately, you forgot about the molding that will probably require a different treatment. You thought that the job is simple stupid but did you really check if everything is clear? Did you ask about the molding? Agile approach puts emphasis on proper interaction, communication. You could have asked me about the molding. I was certain that I hired a professional painter, but then you painted something the wrong color. If you were a PRO painter then you would know it. Agile approach advises you to talk more, ask even the most ridiculous questions, but for the sake of the project – just do it! Make your work simple. To sum up, in order to properly handle customers you should minimize the risk of changes in requests (requirements) by simply asking the question about the risk of change. Secondly, you should make sure that the job is clearly defined before you actually start it. It is the most frustrating job to redo the things a few times only because you did not care to ask.

IT guy with head full of ideas, strongly oriented on achieving great goals in life. Currently working for Aspire Systems Poland, place where I grow.