Agile development – advantages and disadvantages – Part 1

In GOYELLO we are always trying to use all the best tools and practices available. Currently, we are evaluating the Agile methodology with the SCRUM’s, sprints and all other things related to it. This post opens the series of short articles about Agile and how I am experiencing it. Let’s start!

Agile is a group of software development methodologies. The key concept of these methodologies in one sentence:

-“Individuals and interactions over processes and tools”-

–http://agilemanifesto.org/

But what it really means?

I understand it as a simple rule that the awareness of changes is the main focus. Changes occur in all types of processes. And it does not only apply to software development.I have read a story about one country which spent an enormous amount of money on creating a shield against missiles. The way of working of this shield was based on special missiles which were fired if the radar noticed suspicious object in the air. Building such a shield took 7 years. After completion it turned out that the enemy country already created more sophisticated missiles which were too fast for this shield. This simple example clearly shows that changes are the most undesired things that can happen in the process that is performed.

Therefore, Agile development aims at finding these changes as soon as they appear to rearrange the process accordingly. This is a very organic approach. The person or the team working on the task adapts to the new circumstances as soon as they notice them. In other words, Agile development focuses on two steps: finding changes and rearranging the work approach to adjust to them. You should now see how the Agile approach can improve the final result of your work.

If you find the changes at the early stage, you can correctly react before it is too late.

But let’s consider another example from life… Close your eyes (imagine that you are closing your eyes) and think that you are my painter. I want you to paint my bedroom. You check the room and say that this will cost 120 $ (including paint). We go to the shop and choose the pink paint. You have started painting my bedroom but after few minutes I changed my mind and decide to take make it orange. Okey… you don’t like the first color, but orange is even worse. We go the shop again, we pick on orange paint but the already opened box cannot be returned. You, being a good person, without saying a word, pay for the additional paint box. We return home and you paint my room orange. I check the results of your work and I notice that the molding would look better in white color instead of orange. You say this is not a big deal and you paint the molding using your private white paint. Finally the job is done. Hurray! Now is payment time. I pay you the agreed 120 $.

From Agile perspective you have focused on my individual taste (pink, orange and white color) and you have also reacted pretty fast on my changes. I am happy with my new bedroom.

But are you happy with 120$ in your pocket?

I don’t know what you think, but let’s see…

  1. After a short look you decided that this will take 8 hours. Tomorrow you have another customer, which requested you to paint the whole house. You think that you will manage so you accept this hot offer.
  2. You chose the paint with me, and came to my house (1hour).
  3. You prepared everything and started painting using the pink paint but then I changed my mind (2h).
  4. You went with me to the shop again, and you have to pay for an additional one box of paint (10$, 1 hour).
  5. You had to remove pink paint (1h) and paint the whole room orange (6h).
  6. At the very end I decided to change the color of the molding into white (1h).

Summing up, you have spent 11h and additional 10$ for paint. At the beginning you thought that this would take you 8 hours so your initial estimation was underestimated by around 35%. this may not be very much but for sure I would be not happy about it. The above is just a very basic example, but what happens when you are too flexible with me – your customer. This is the main (in my opinion the biggest) disadvantage of the Agile approach. That if you don’t have guts to tell me (your customer) that the change will cost more, then you are more likely to lose rather than profit on such transactions. To make it clear –Agile has very effective ways of solving these issues… but I will discuss them in the next chapter. Stay tuned!

Tags: , ,

3 comments

Comments are closed.