I really appreciated the idea behind Extreme Programming or XP and found it responding to what a company seeks. Most companies now are converting to internal development of their applications by hiring software engineers to supervise the IT and take part of the design of different projects. This is a wise action since the engineer is close to his customers which are simply his colleagues. XP reminded me of the programming contest ACM where two persons were striving to solve tricky problems to be submitted to a committee. Why? Because XP encourages programming which at the time of ACM permitted me to write robust programs well tested before being submitted. Simplicity is the key target of XP which makes our programs easier to understand and thus extensible. By simplicity, a company is saving more money because it is investing less money on maintenance and bug fixing. Writing hard code for the sake of saving hardware is not a good idea because a company is spending more money on its human resources (programmers) comparing with hardware equipment. However, I don't know if it is just our boss or there are others who cannot accept the idea of pair programming claiming that two persons should work on two projects. Anyway, I need to convince him what do you think
Another important aspect of XP (not Windows: o)) is how it deals with bugs. XP claims that unit tests are created before the code! I had hard time fixing bugs and regenerating new versions of some applications just because some modules were not completely tested. XP came after a revaluation of other software engineering models and emerged because this is what the market needs: Robust software created with respect of deadlines and being able to embrace the changing requirements noticed after the delivery of a product.
Please convince me if you don't think this is not a good approach to software engineering because I'm starting to convert to this new 'religion' and getting rid of traditional methodologies. Itouuuuuuuuuuuuub!! :o)