patterns & practices 2.0 – How would it look?

What would a patterns & practices 2.0 look like to you? There’s been a very lively discussion on just this topic on the ALT.NET list (For which I am the instigator). Below is the summary version. Go here if you dare to see the full thread and have hours and hours of free time.


  1. Guidance on core concepts and principles like OOP, separation of concerns, layering, etc
  2. Guidance on good software engineering and design practices, code quality, TDD, DDD, BDD, code smells, CI
  3. Patterns / Anti-patterns – GOF / Fowler, etc (Don’t make up new ones)
  4. Tutorials / examples
  5. Be Neutral / Pragmatic
    1. Trusted advisor on different tools, techniques and methods i.e. Stored Procs vs Dynamic SQL
    2. Existing OS solutions (NHibernate, Log4Net, etc)
  6. Be Critical including of community efforts
  7. Advocate community endeavors
  8. Engage with the OSS community


  1. Focus on toolkits and factories
  2. Become an evangelism org / marketing machine for the platform. (Though it’s okay to become an evangelism org for patterns and good engineering practices.)
  3. Be Dogmatic (our way is the only way, or even the best way)
  4. Dumb down developers

Now ALT.NET is only one small sampling of the customers who use our guidance. Do these views resonate with you?

Comments (17)

  1. No,

    I really like that you focus also on toolkits and factories, because they’re generally better documented, better explained and easier to use than a lot of other toolkits…

  2. I totally agree on the Do. It is one thing to start to learn the framework and the language, but it’s another thing to actually construct a decent architecture that fulfills the customer’s functional and non-functional requirements.

    On the other hand, I like to use what’s there. The amount of investments necessary to set up your own framework or software factory are huge. It is better to start with the stuff P&P created and customize these to your needs.

  3. Glenn Block is asking for community feedback on what we want the Patterns and Practices group at Microsoft

  4. ehauser says:


    I think some sort of knowledge base would be a great addition to P&P that links to existing guidance.  There is plently of useful documentation out there between the .NET documentation, MSDN, 3rd party articles, etc. but it is difficult to find a good aggregation of all that information (besides search engines).  For instance, how do I develop modular web applications or do logging in .NET?  Track the most frequently viewed articles and allow input from the community.  

    Say for example I was looking for ways to mocking in .NET.  It would be nice see all the options, have them rated by different developers, and read some input on the pros and cons of each one.  All of this information is out there, but as an architect you often spend numerous hours examining the pros and cons of each option before deciding on a solution.

  5. Hi Glenn,

    There is people doing exactly what you enumerate in the "Do" list, and those are the people in the ALT.NET community ;). It makes sense for them to tell you that the right thing to do is what they do.

    Frameworks and factories are the most important contribution from the p&p team to the community. Of course there’s room for improvement, but the applications built around CAB or EntLib are usually much better architected than the applications most development teams could afford to architect.

  6. @Andres

    Thanks for your feedback. I think software factories (I know Jezz surely agrees) have brought and will continue to bring a lot of value to many organizations.

    I am not advocating getting rid of them. However, as a group that is focused on guidance, we don’t think it should be our primary focus. It’s one of many forms of guidance that we deliver.

    This is the same for framework and toolkits. Ultimately patterns & practices is about adoption of the platform. If we invest all of our effort in building factores and toolkits, we become more like a product. This limits our ability to execute on emmerging opportunities for guidance as we become bound in doing the next version of product X.

  7. I’m biased, but it looks like there’s a pattern for folks who are commending the P&P framework initiatives.

    Just based on the language, it seems that the P&P frameworks are "the" frameworks that some architects investigate.

    It wasn’t stated explicitly, so I’m asking… Are folks who use P&P frameworks ALSO investigating open source corollaries?  And by investigate I mean in a hands on way… with code… and with a real problem.

  8. Glenn Block says:

    Guys, all opinions are truly welcome, but PLEASE don’t start a religious war on my blog. Thanks 🙂

  9. Jeremy says:

    I still vote for more Patterns and more Practices over frameworks and software factories.  If you’ve got a stronger base in design patterns, design principles, and development practices you will have better results, with or without all the EntLib stuff.  Even if you’re just going to use EntLib or all the Software Factory stuff unchanged, you’ll be far more effective if you understand the underlying patterns.

    I’d like to see as much openness as you guys can possibly stand in terms of "this is why we chose this design."  That’d be valuable.

  10. Guidance without code won’t be very useful. You could do guidance with sample code, like Jeremy’s "Build your own CAB series", but people will ask you the finished framework anyway.

    If you decide to not to do frameworks and embrace Open Source Frameworks, why do you think you should not embrace "Open Source Guidance", which is what the crowd is been doing quite well? I’m pretty sure the ALT.NET guys will also have strong opinions about the guidance you end up producing ;).

    You won’t embrace open source guidance because guidance from MS will be more valuable to some (most?) people than guidance from the community. The same happens with frameworks. Guidance and frameworks and two sides of the same coin.

  11. Wade Beasley says:

    I would like some of the following:

    Full Port of SCSF to WPF, WCF.

    Real world examples using your factories not just demo ware.

    WPF Controls with how to build them.

    Step-by-Step video training for the software factories. (labs are incomplete and do not explain real world situations / best practices with the factories)


    Wade Beasley

  12. Donnie D says:

    One question you could ask yourself is whether Patterns&Practices’ audience is the same audience as the one that feels attracted to ‘ALT.NET’ and whether there is overlap (and how big this overlap is). No questions I could answer, though you might :-).

    Talking about P&P 2.0 makes it feel like a bit of a hype, just as web 2.0 and *cough* ALT.NET. Something appealing to talk/blog/loudmouth about, besides that… an empty shell? something that is 10 years ahead of adoption? if anything…. it doesnt give me the feel of "proven practices".

    Besides that, I agree that some of the DO’s might indeed be proven practices (or becoming one). I might give this a try at version 3.0 😀

  13. @Thanks Donnie D

    It wasn’t meant to sound markety. I am  actually using the verbatim term we’ve used internally to drive the conversation. So my goal of using the same term was transparency.

  14. Lots of web and screen casts for us not keen on reading so much documentation 🙂

  15. I was pondering the Do's and Don'ts list yesterday that Glenn Block posted on his blog , and