Thursday, January 1, 2009

Things I found weird about Extreme Programming? And the explanation which I got for those weird things…

In extreme programming the scope is not fixed which means that the system should be designed in such a way so that it can incorporate any changes (which are required) in future. But one of the core value of extreme programming is simplicity which means when you are programming for a requirement you just check whether that requirement if getting fulfilled or not. You do not program for future requirement. I found both of these things a little contradictory. Because when you are talking about unfixed scope then your system should be flexible enough to incorporate changes but when you talk about simplicity you yourself are making your system rigid by not taking the future requirements into consideration.
I asked Parag sir: if in some project when you are doing the requirement analysis, you see that “def” requirement is also important and you will have to implement this also in the system. Then while coding for “abc” requirement why won’t be code in such a manner so that when you code the “def” requirement it becomes easier to implement. Then he said when you say that the scope is not fixed that it is also not fixed that after “abc” requirement “def” requirement would be implemented. It can happen that after sometime you realise that “pqr” requirement is more important than “def” requirement. Or may be it can also happen that you decide not to implement “def” requirement in future. That’s why simplicity is followed in extreme programming. And it is very rare that because of some future requirement you have to start working on the system form the scratch.

2 comments:

  1. Yes, Ofcourse the point you have raised is actually contradictory in the first sight but when one drill down it reached to the fact that you keep it simple and hence incorporating any changes to that simple design will be simple than making changes to an already complex design. As sir aptly pointed out that One can completely get pissed off looking at the design in which making changes to one thing sbreaks other ten things and this vicious circle goes on and on.
    Simplicity is the simplest art.

    ReplyDelete
  2. I also agree with Rachna's view point. This is a real debatable point that Rachna has raised....Looking forward for its further clarification in next class :-)

    ReplyDelete