The Art of AgileSMJames Shore"You influenced me to think in completely different ways, and to question traditional assumptions about everything I thought I knew" —Chris W., Extreme Programmer and Coach |
|
|
Fail Fast01 Sep, 2004
Many people recommend writing software so that it automatically works around errors. This results in software failing in mysterious ways later on. "Fail Fast" means writing your software to fail immediately and visibly when an error occurs. It results in more robust software with fewer defects. (Article hosted on Martin Fowler's website.)
Continuous Design01 Jan, 2004
Continuous design is the process of using refactoring to continuously improve a program's design. In this article for Martin Fowler's IEEE Software "Design" column, I discuss my experiences with continuous design, particularly with seemingly difficult scenarios such as internationalization and transactions. (Article hosted on Martin Fowler's website.)
|