Agile Software Development, Principles, Patterns, and Practices
The subject matter of this book deals with solving the most challenging problems facing software developers, project managers, and software project leaders today. This comprehensive, pragmatic tutorial on Agile Development and eXtreme programming, written by one of the founding father of Agile Development, aims at teaching software developers and project managers how to get projects done on time, and on budget using the power of Agile Development; using real-world case studies to show how to of plan, test, refactor, and pair program using eXtreme programming; and focuses on solving customer oriented systems problems using UML and Design Patterns.
Author: Robert C. Martin (ObjectMentor)
Published: October 15, 2002
link
Besides an introduction to refactoring, this handbook provides a catalog of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. The author is also an authority on software patterns and UML, and this experience helps make this a better book, one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns, each refactoring tip is presented with a simple name, a "motivation," and examples using Java and UML.)
When faced with a complex programming challenge, rare is the developer who can readily see how to begin or produce its solution. More often than not, such projects generate a great deal of stress and bad code. To garner the strength and courage needed to surmount seemingly Herculean tasks, programmers should look to test-driven development (TDD), a proven set of techniques that encourage simple designs and test suites that inspire confidence.