Announcing Emergent Design - The Evolutionary Nature of Professional Software Development

Scott Bain

New Release!


Emergent Design


The Evolutionary Nature of
Professional Software Development
By Scott L. Bain
About the Author:
Scott Bain, Net Objectives Senior Consultant, Trainer
Scott Bain is a thirty-year veteran in computer technology, with a background in development, engineering, and design. He has designed, delivered, and managed training programs for certification and end-user skills, both in traditional classrooms and via distance learning. For the past eight years, Scott has been working for Net Objectives in Puget Sound, teaching courses and consulting on design patterns, refactoring, unit testing, and test-driven development.
Book Description:
The first book in the New Net Objectives Product Development Series
For software to consistently deliver promised results, software development must mature into a true profession. Emergent Design points the way. 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.

Table of Contents:
00 - Introduction
01 - Software as a Profession (sample available here)
02 - Out of the Closet - Patterns and Professionalism in Software Development
03 - The Nature of Software Development (sample available here)
04 - Evolution in Code Stage 1
05 - Introduction to Patterns
06 - Building a Pyramid
07 - Paying Attention to Qualities and Pathologies
08 - Paying Attention to Principles and Wisdom
09 - Paying Attention to Practices
10 - Paying Attention to Disciplines - Unit Testing
11 - Paying Attention to Disciplines - Refactoring
12 - Test-Driven Development
13 - Patterns and Forces
14 - Emergent Design, a Case Study
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
Appendix D - For Further Reading

Companion Courses at Net Objectives which support content from the Emergent Design book:

Sustainable Test-Driven Development
Object-Oriented developers learn how to facilitate Enterprise Agility at the coding level by enabling effective Test Driven Development processes that result in better code, greater speed and less waste. This course provides a hands-on experience of the test driven process and an understanding of its essential value in an Agile environment. Developers learn how to write tests, refactor and achieve design to increase code value, improve legacy code, create greater clarity and testability, and break dependencies to increase their speed and the overall value of testing. By employing effective testing techniques and test driven processes, they will have the ability to realize significant productivity and quality improvements.
For Full Course Description...

Agile Analysis and Design Patterns
Developers, testers, designers, architects, technical leads, and their managers attend this course and learn how software patterns provide a way to capture, communicate, and share best-practices that lead to strong Object-Oriented Design. This, in turn, helps to ensure a better return-on-investment for your development organization and your customers. Teams learn the principles of patterns in practical use, the qualities of maintainable code, the principles and practices of effective development, wisdom from the field, the patterns, and an overall paradigm for object-oriented design that produces adaptable, maintainable code.
For Full Course Description...