The Patterns and Practices team is *finally* updating their architectural guidance. You can see J. D. Meier’s announcement of it here. Interestingly enough, they’re going to do it through CodePlex. I love the new openness from Microsoft. Ages ago, I remember getting a lot of good out of the original Enterprise Solutions Patterns (ESP) guide and other work on application architecture they published in the .Net 1.0 days. The problem is though, that work is atrociously out of date. Software development and our approaches to design have moved a lot since those days.
I’ve been critical of P&P in the past for some of their work on framework construction and tooling. I’ve always thought that they’ve done better with their guidance work than the actual code that they ship. When I was between jobs this past spring I briefly talked to P&P about a remote position with them, and I told them that I thought they should go back to doing more guidance work like their old application architecture guidance publications. Despite the fact that I’ve been in favor of them doing something like this for quite some time, I’m filled with a deep foreboding about this endeavor. Here are some of the topics they’ve suggested for the guide:
- Choosing Presentation Technologies
- Choosing Data Access Technologies
- Choosing Workflow Technologies
- Inline SQL vs. sprocs
- MVC vs. MVP
- Domain model driven vs. structure driven
Do you know what I see up there? Lots of important topics, and the potential for some very nasty religious warfare. The obvious problem is that that guide could easily suggest some practices that I (or you, no matter who “you” are) will find anathema, and you’ll find yourself having to have yet more arguments with centralized architecture groups, other devs, or nervous clients about why you aren’t following the proscribed architectural guidance. I have it easy because our management and sales seems to trust our development team on technology matters, but if that wasn’t the case I think I’d be forced to follow some not entirely optimal technology recommendations from a certain well known consultancy.
To summarize, I’m glad that P&P is doing this, but I can’t help but feel worried over it as well. Anyway, here’s hoping that it goes well and spawns some useful conversation.