We’re going to start a new huge project and while it’s in the process of architecting the system, I have certain doubts whether I can apply patterns and be sure they won’t be violated by team members. The problem is, not all team members have enough skills to develop asp.net apps let’s say using MVP pattern. So maybe this question is addressed to Team leads, or experienced devs. Did you dealt with this kind of situation, and if so what was your solution.
I was thinking to create the core by myself, and let ’em start building upon that core, however I’m not sure it will work out.
If you assume your developers are not competent, why are you using them? It sounds like you’ve already started to build up to a “us vs them” mood between architects and developers and that can be extremely unhealthy for a project, especially a big one.
If people are not experienced with a pattern you wish to use, spend some time to teach them. Maybe even start small with few developers and scale up when you feel the project is ready to take in new people. Use pair programming to transfer knowledge of the design and try very hard to anchor it with the developers.
I’d also advice against making the core yourself, mostly because if the project is huge, as you say, you’d quickly be turning yourself into a single point of failure. That might sound cool for job security and all that, but I’ve seen it go quite wrong and cost buckets of money for a customer.
That’s my thoughts on the matter, after 3 years in a (mostly successful) 150ish heads project.