Patterns of Construction

I’m a big advocate of setting out the key elements of the development process succinctly but unambiguously at the start of a software development project, particularly in cases where I have no prior history of working with the development team. Such process elements typically cover environments, coding standards, technical design and review requirements, source-code control strategy etc. Perhaps the most valuable area to cover are the basic patterns of construction (or Design Patterns), without this developers are left to their own devices in naming technical components and structuring code, which can be a serious issue with maintainability and standardisation. It is incredibly time expensive and de-motivating to address this after the fact. Instead a clear picture provided upfront can provide the development team with a strong reference covering 80% of the cases, the remainder can be addressed individually during technical design. The example below provides an example of a basic construction pattern which covers naming conventions and structural concerns. Following such a pattern makes the technical implementation predictable and should improve maintainability, the latter being a obligation to take seriously on consulting projects. My rule of thumb is to try and leave the org in a state a future me would consider acceptable.

Salesforce Architect Essential Reading

For this post I started pulling together my own set of links to the whitepapers and documents I consider essential reading for any architect working in the Salesforce space. In doing so I came across the link below, where salesforce.com have already done a great job of this – bookmark this page now!

Salesforce Architect Core Resources

The Force.com Multitenant Architecture and Record Access under the hood are both excellent resources, the content of both should be fully understood by architects taking a lead role on Salesforce projects of any size.

The one missing link from the referenced page is to the Integration patterns document

Don’t forget to check out the Advanced Apex Programming book by Dan Appleman also, there is some great content in this title highly relevant to architects not just Apex coders.