![]() |
![]() |
Finding and exploiting domain models is key to success with large software systems. By cultivating a strong connection between the language used by experts, users, and developers, the right kind of models can dramatically accelerate the process of translating the customers' needs into working software. Strong domain modeling coupled with programming best practices such as exploiting design patterns, refactoring, and test-driven development yield a principled yet practical approach to the development of large software systems.
This course will aid participants in striking a healthy balance between digging into their subject matter and addressing technological issues, which, while unavoidable, cannot be allowed to dominate the development process for commercially viable systems.
Each morning of this intensive class is spent in lecture and classroom exercises, and each afternoon in a “lab”, doing hands-on coding projects that reinforce the morning’s lessons. The end of each day is a retrospective discussion bringing out the main points of the day’s experience and relating them to the earlier days and to the participants’ own work.
Knowledge of object modeling and design.
We encourage a mixed class, including some managers and analysts.
Even so, at least half of the attendees must have programming skills on
the target platform (Java or C#).
Familiarity with J2EE, .Net or other framework for large scale application development. Familiarity with design patterns.
This class will have a much greater impact on the project if it is followed up with mentoring, to help team members anchor it in their own work, and to help them over the practical obstacles that frustrate, and frequently stop, people doing these things for the first time. Valuable new ideas fail to take hold for lack of some practical detail.
We recommend this course be followed by at least two weeks of hands-on work with the team, which should start no more than 2 weeks after the end of the class. Typically, we recommend a ratio of at least one mentor per 10 developers (or one per team, whichever is more).
Intermediate to advanced developers. Also, analysts and development managers are encouraged to participate. (However, non-programmers must comprise less than half the class.)
In order to tune the class to the level and circumstances of the participants, we will ask some of your developers to fill out a brief (10-15 minutes) on-line questionnaire to give us an idea of their proficiency level in the class prerequisites. We will also have the team leader answer a few questions about the project's goals, history and processes.
Since it is essential that participants be free to discuss their real project challenges in the classroom, we make any needed nondisclosure agreements prior to the class.
Finally, we recommend buying each attendee a copy of the book, Domain-Driven Design, as part of the package. This is the text book for the course and makes a very valuable reference in the following months.![]() |
![]() |
This class will have a much greater impact on the project if it is followed up with mentoring, to help team members anchor it in their own work, and to help them over the practical obstacles that frustrate, and frequently stop, people doing these things for the first time. Valuable new ideas fail to take hold for lack of some practical detail.
We recommend at least two weeks of hands-on work with the team, starting no more than 2 weeks after the end of the class. A typically ratio is at least one mentor per 10 developers (or one per team, whichever is more).
more »![]() |
![]() |
Note: This course is offered in two forms: one for Java/J2EE; one for C#/.Net