Book description
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’s companion Web site, www.netobjectives.com/resources, provides updates, links to related materials, and support for discussions of the book’s content.
Table of contents
- Title Page
- Copyright Page
- Dedication
- Contents
- Series Foreword: The Net Objectives Product Development Series
- Preface
- Acknowledgments
- About the Author
- Chapter 1. Software as a Profession
- Chapter 2. Out of the Closet, Off to the Moon
- Chapter 3. The Nature of Software Development
- Chapter 4. Evolution in Code: Stage 1
- Chapter 5. Using and Discovering Patterns
- Chapter 6. Building a Pyramid
- Chapter 7. Paying Attention to Qualities and Pathologies
- Chapter 8. Paying Attention to Principles and Wisdom
- Chapter 9. Paying Attention to Practices
- Chapter 10. Paying Attention to Disciplines: Unit Testing
- Chapter 11. Paying Attention to Disciplines: Refactoring
- Chapter 12. Test-Driven Development
- Chapter 13. Patterns and Forces
- Chapter 14. Emergent Design: A Case Study
- Chapter 15. A Conclusion: 2020
- Appendix A. Evolutionary Paths
- Appendix B. Overview of Patterns Used in the Examples
- Appendix C. The Principle of the Useful Illusion
- Bibliography
- Index
- Footnotes
Product information
- Title: Emergent Design: The Evolutionary Nature of Professional Software Development
- Author(s):
- Release date: February 2008
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780321553720
You might also like
book
Just Enough Requirements Management: Where Software Development Meets Marketing
This is the digital version of the printed book (Copyright © 2005). If you develop software …
book
A Software Engineering Approach to LabVIEW™
Create more robust, more flexible LabVIEW applications—through software design principles! Writing LabVIEW software to perform a …
book
Emergent Behavior in Complex Systems Engineering
A comprehensive text that reviews the methods and technologies that explore emergent behavior in complex systems …
book
Software by Numbers: Low-Risk, High-Return Development
Software by Numbers is a significant new contribution to value-based, financially responsible software engineering...—Barry Boehm, Ph.D., …