This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.For software to consistently deliver promised results, software development must mature into a true profession. Emergent Design points the way. As software continues to evolve and mature, software development processes become more complicated, relying on a variety of methodologies and approaches. This book illuminates the path to building the next generation of software. Author Scott L. Bain integrates the best of today's most important development disciplines into a unified, streamlined, realistic, and fully actionable approach to developing software. Drawing on patterns, refactoring, and test-driven development, Bain offers a blueprint for moving efficiently through the entire software lifecycle, smoothly managing change, and consistently delivering systems that are robust, reliable, and cost-effective. Reflecting a deep understanding of the natural flow of system development, Emergent Design helps developers work with the flow, instead of against it. Bain introduces the principles and practices of emergent design one step at a time, showing how to promote the natural evolution of software systems over time, making systems work better and provide greater value. To illuminate his approach, Bain presents code examples wherever necessary and concludes with a complete project case study. This book provides developers, project leads, and testers powerful new ways to collaborate, achieve immediate goals, and build systems that improve in quality with each iteration. Coverage includes
- How to design software in a more natural, evolutionary, and professional way
- How to use the "open-closed" principle to mitigate risks and eliminate waste
- How and when to test your design throughout the development process
- How to translate design principles into practices that actually lead to better code
- How to determine how much design is enough
- How refactoring can help you reduce over-design and manage change more effectively
THE Book to read for developers whose code changes
I think of this book as answering three questions:
* what do developers need to know to work as professionals?
* how does quality coding and design play into unfolding designs?
* what is the proper way to integrate refactoring, test-driven development and design patterns in the real world?
All too long this industry has allowed individuals to do what they like instead of what their teams and businesses need. Programming is not just about individual people's opinion of approach and quality, but about real issues that have been long identified.
This book weaves the tale of what is known and how to use it in a real environment. I didn't react to this book the way Mr. Vodde did as an advertisement for Net Objectives. I like the anecdotal story telling of how this knowledge is conveyed to realy people in real situations.
Developers often talk about their problems in getting others convinced of better approaches. What better way than to hear how Mr. Bain has done this himself - something good to learn.
While this book is probably thought of as being for agile developers (those who write code in iterations) it'd be highly useful for anyone. Everybody's code needs to morph over time - even if the first release is done in a classic waterfall.
Buy Emergent Design: The Evolutionary Nature of Professional Software Development (Mobipocket) by Scott L. Bain At The Lowest Price!