Programming Methodology (PHPUnit example)
Very roughly speaking, you usually have two choices when it comes to methodology. You can either use a "heavy" methodology with lots of design documents and procedures, or you can hack, doing whatever comes naturally along the path of least resistance. If you choose to hack, you can get a lot of features done quickly in the beginning, but as your application grows in complexity, you will be slowed down by hard-to-find bugs and the need to maintain duplicated code.
Agile methodologies such as XP attempt to solve this problem by doing less up-front design and making sure it is always possible to make design changes, and by constantly improving the structure of the code using a set of systematic procedures known as refactoring.






