I was in a meeting today with Aral Balkan looking into future development of one of our products, and was introduced to my first industrial experience of Extreme Programming.
Personally I come from an SSADM background at university and XP is more or less the complete other end of the spectrum.
I feel SSADM is a fantastic basis for a developer and many products such as Logical Data Modelling and its conversion to ERDs have provided invaluable in almost any project I have been involved in. However a lot of the time SSADM is an over kill, and smaller projects or updates of new functionality just don't fit in. (for example I researched XP for my solo final year project where I was working closely with my client)
With XP you have a method that is more or less exactly how I have found myself developing in recent times. Our environment at work is, I'm sure, nothing like the UK government office that conceived SSADM and therefore not best suited. However I also feel that some aspects of the complexity of our projects also fall outside the scope of XP, for example, where the sentence, "Design and code for today and not for tomorrow.", would send shivers down my spine.
I think that starting off development with a good analysis and understanding is vital but I also feel user feedback and prototyping is very important in delivering exactly what the client wants.
Unfortunately this isn't always the goal of a development team as some products are sold upfront, where changes throughout the development will undoubtedly increase the time and cost. Instead some developers find themselves grinding out the minimum requirements of a spec to increase revenue forcing the client to pay extra for features they believed to be standard.
I would love to work in an environment where projects were developed in simple increments. So rather than developing a full blown dynamically driven web-site with hundreds of bells and whistles, from scratch for a pre arranged fee, we could instead develop a web site, then a CMS to sit under it, then a bell here, a whistle there (perfect for Hijax). However this isn't always possible, and sometimes you find yourself learning the hard way. Which is why I think having experience in different methodologies, and knowing when to use them, or even aspects of them is vital when working in our industry.
Well that or its midnight and I'm babbling crap again... ;)