Emergent Design: Training and Resources
Emergent Design: The Evolutionary Nature of Professional Software Development
by Scott L. Bain
Buzz About the Book
Related Courses at Net ObjectivesOnline RepositoryAppendix B of the book provided the starting information for this repository, but it will continue to grow and change as readers, students, and other developers join and add their views. It is free for your use, and only requires registration (which is also free) if you wish to contribute. (If you have registered, login here.) Then take the link below.Yahoo! Tech GroupFor questions and comments regarding the book, or any of the concepts surrounding agile software development techniques. | |
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
Errata:
| Page | Issue |
| 64 | Figure 4.3 - The "uses" arrow between "LocalStatusSender" and "PagingStatusSender" should not be there |
| 84 | The last line, "design to over-design", should be desire to over-design |
| 111 | In the box, the word safety appears twice in the wrong font |
| 112 | 2nd to last line, "were so were" should be "were so" |
| 116 | Paragraph 8, final sentence says "drifted back to the right" when it should say "drifted back to the left" |
| 148 | 3rd line from the bottom, missing closing parenthesis after i++ |
| 159 | 7th line, delete the prase "a function that is often problematic" |
| 208 | Second Code Example, third line from the end, MockDAO should be mockDAO |
| 230 | The "printReportLines" method and "calculateAverage" method should both take "ArrayList clines" as a parameter |
| 235 | I write "At the end of this chapter, I will suggest some books I have found to get started. ". That list is in an appendix at the end of the book, not the chapter |
| 243 | Figure 12.5, bottom right, box says "Strategy_V1Test" should be "Strategy_V2Test". Same on the previous page in Figure 12.4 |
| 249 | Figure 12.7, case B - Third circle should say DecB rather than DecA appearing twice |
| 285 | Final paragraph, second sentence, "mange" should be "manage" |
| 286 | All references to "Card" or "Cards" should be "Chip" or "Chips" |
| 323 | Figure B.12 - the first Handler should be "Handler1" rather than "Handler2" appearing twice |
| 326 | Figure B.12 - the Handlers should not have void return type |