RAD Development: - XP Library Entry
Refactoring speeds development by making the code easier to understand and by making the code more object oriented / encapsulated. Instead of building in flexability that may never be used or may not add business value, refactoring stabilizes the code so that changes can be made quickly and with confidence. Refactoring reverses the structural decay of the software as it returns it toward the design goals. It also reduces duplicated code which speeds up development because you don't have to search for the duplicated code when adding a feature and less bugs introduced when that code is not found. Refactoring code to be more suited for a feature about to be added increases your understanding of the code that's about to be changed and can be done instead of doing straight analsis.
Quality Development -
Paired Programming:
Unit Testing:
Refactoring:
Simplicity is Good: DTSTTCPW and YAGNI
Code wants to be simple. If you are aware of CodeSmells, and duplicate code is one of the strongest, and you react accordingly, your systems will get simpler.-- KentBeck, feeling mystical, see MysticalProgramming
Mastery, of programming, or of a program, shows up as the ability to clearly express ideas in a concise manner - OnceAndOnlyOnce is an attempt to capture the end point of Mastery. But it doesn't lead the way there - for that you need some teaching tools (like PairProgramming and UnitTesting). OnceAndOnlyOnce is a principle. -- RalphJohnson
Quality is terribly important in payroll. Airplanes won't fall out of the sky, but the factory could go on strike, and you could make tens of thousands of people very angry. There is no reason why simplicity and quality are in conflict: in my experience, they go hand in hand. -- RonJeffries