A few days ago I signed the Manifesto for Agile Software Development
in order to express my support to the Agile Software Development. This paradigm focuses more on what the client wants, rather than on the right
technique to design and write software, leading to a development that is more face-to-face and day-by-day with the customer. In other words, instead of promoting a static and big software analysis, the Agile Software Development promotes a continue analysis on site, and a development with quick and small releases, that are directly tested. There are also other things the Agile Software Development promotes, but the key idea in my opinion is that you should not get too far from the customer when developing, and you should also be able to get and support day-by-day changes.
the manifesto with the following motivation:
Agile Development represents to me agood way of thinking the development of a complex software. What I like the most is that changes are not scaring, but they are accepted as the development proceeds. Moreover, forcing small and frequent releases gives you and your client the feeling of having a product, even if still not complete. This is very important for the client, that can feel the development and can take control on it (meaning that she can collaborate with the developers in a "just-in-time" way), and it is very important for the developers too because they are forced to concentrate on incremental and significant changes, and they will not blow away a build.