Detailed Design Clinic
Michael ‘Monty’ Montgomery
The IDesign Detailed Design Clinic provides a hands-on, interactive, instructor lead environment for practicing and refining your skills in the craft of contract factoring. After you decomposed the system and derived the appropriate services using The IDesign Method, the critical next step in the design phase of your project is to come up with the correct service contracts and data contracts for your services and microservices. We call this process detailed design.
With detailed design you must take equal, if not, greater care in designing your contracts as you do decomposing your system. If not done correctly, you can easily undo all of your hard work of decoupling the components in your system by recoupling them through their service and data contracts. The service and data contracts must be cohesive, logically consistent, reusable independent facets of the system blocks. Through the guidance of an IDesign Master Architect, participants will not only depart with expertise in advanced contract factoring rationale and techniques but also with the detailed designs for the services of the select systems we work on.
Through a series of individual and team-based exercises, the Detailed Design Clinic will teach you modern, best practice techniques in service and data contract factoring based on real world scenarios. IDesign architects have collected and refined these techniques firsthand over many years of designing and building systems for our customers. The resulting detailed designs have withstood the test of time across users and environments. During the Detailed Design Clinic you will produce the detailed design for a number of sample problems taken directly from real world systems, including those brought in by the Clinic’s participants. Each exercise will walk you through the thought process behind good contract factoring.
The Master Architect will present a series of specific factoring problems, then discuss the common anti-patterns surrounding the problems and finish with original tips and tricks you can use to recognize the anti-patterns and avoid them allowing you to produce superior detailed designs. During the individual and team-based exercises the students will practice detailed design and then present and explain the rationale behind their detailed designs to a technical audience of their peers and subordinates. These presentations help participants cultivate the essential “soft skills” that are so important to successfully conveying a design. In normal day-to-day work, this type of knowledge and insight can take many years to attain.
This Clinic will shorten your learning curve and provide a perfect forum for focused, high caliber discussions and mentorship.
The Clinic starts with a presentation of the IDesign Method’s service-oriented taxonomy focusing specifically on the role each microservice plays in the taxonomy and the rules that govern service composition and interaction, after which you face the first factoring problem as an individual exercise. The Master Architect will critique numerous detailed designs, as well as present the school’s solution. The Clinic will continue with individual exercises of increasing complexity and scope dividing each day into AM and PM sessions. The Clinic dedicates the final two days of the week to team design exercises using IDesign Method architectures brought by Clinic participants. Each team must first determine the best factoring approach, then divide and conquer the problem to finish on time. The Detailed Design Clinic will conclude the PM session of the final day with construction of an architecture vertical slice based on a use case from a participant's architecture. Through the vertical slice exercise, the Master architect will reveal IDesign’s original ground-breaking techniques for service-oriented system construction that allow you to create a service-oriented programming model for your teams.
Introduction to Detailed Design
The IDesign Method taxonomy
Factoring service contracts
Factoring data contracts
API contract design
Managers contract design
Utilizing class hierarchy
Individual Exercise 1,2,3,4
Explanation of factoring problem
Service contract factoring
Presentation and review of individual work
Team Exercise 1,2
Debriefing and assessment
Explanation of student system
Use case(s) factoring problem
Service and data contract factoring
Presentation and review of team work
Essentials of a service-oriented programming model
Normalizing connectivity programming models
Convention over configuration
Defining and enforcing policy
The Spiral of Test
Any architect, senior lead or developer would benefit greatly from the clinic. Prior experience with the IDesign Method and attendance of the Architect's Master Class & Architecture Clinic is required.
In order to design your project at the clinic you should bring the system architecture and the planning assumptions. IDesign will work with you before the clinic to ensure your project is ready by proofing the estimations and the constraints.
This course will grant you membership to IDesign’s prestigious alumni group. Participants will also receive the IDesign documents and diagram templates, tools, samples, and reference projects.
The IDesign serviceware downloads (a set of original techniques, tools, utilities and even breakthroughs developed by the IDesign architects) will also be provided. The utilities are largely productivity-enhancing tools, or they compensate for some oversight in the design of .NET or WCF.