Bespoke architecture consulting engagements are short, dedicated, effective and very intense. The goal is to produce some design diagrams depicting the various design aspects of the system, including definition of services and logical tiers, allocation to assemblies, run-time processes, identity management, security authentication and authorization, transaction management, thread synchronization and code-access security policies. Developers can then simply use these diagrams as the system’s blueprint and continue to construct the system.
Our engagements are typically 5 to 15 days in duration, where we review the product requirements and architecture, provide feedback or a new design, and work with the lead developer or architect on a vertical slice implementation of the architecture. We either use Web Services in the vertical slice or provide a forward-looking architecture that is compatible with it.
In a 5 days consulting engagement, we spend about a day understanding the product and the requirements and a day on the current arhitecture. Then we either provide feedback on the current design (if it is adequate), or propose an alternative design, using the Domain Driven Design approach. This analysis method is unmatched in its mechanized-like ability to derive design out of use cases. In a longer engagement (15 days), we spend the third and fourth part implementing a vertical slice of the architecture. A vertical slice is a stubbed-out implementation of one or two services in each architecture segment or layer. A vertical slice is the best way to validate the architecture and to ensure the customer understands it and can take it from there. The vertical slice represents most if not all of the ‘plumbing’ issues that are the Achilles’ heel of most applications, where developers spend the bulk of the effort, both in initial development time and in long-term maintenance. The fifth day is spent testing and even stress-testing the vertical slice. Having the design done and prototyped in a few days is a huge productivity and quality boost, as well as overall upfront risk reduction. We have successfully applied our architecture method at companies large and small.