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.

Do.

  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

Don't

  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

  • Anonymous
    October 27, 2007
    PingBack from http://msdnrss.thecoderblogs.com/2007/10/28/patterns-practices-20-how-would-it-look/

  • Anonymous
    October 27, 2007
    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...

  • Anonymous
    October 27, 2007
    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.

  • Anonymous
    October 28, 2007
    Glenn Block is asking for community feedback on what we want the Patterns and Practices group at Microsoft

  • Anonymous
    October 28, 2007
    Glen, 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.

  • Anonymous
    October 28, 2007
    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.

  • Anonymous
    October 28, 2007
    Hi @Ehauser Are these along the lines of what you are asking?

  1. http://www.codeplex.com/websf/Wiki/View.aspx?title=Knowledge%20Base
  2. http://www.codeplex.com/smartclient/Wiki/View.aspx?title=SCSF%20Knowledge%20Base
  • Anonymous
    October 28, 2007
    The comment has been removed

  • Anonymous
    October 28, 2007
    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.

  • Anonymous
    October 28, 2007
    Guys, all opinions are truly welcome, but PLEASE don't start a religious war on my blog. Thanks :-)

  • Anonymous
    October 28, 2007
    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.

  • Anonymous
    October 28, 2007
    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 alt.net 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.

  • Anonymous
    October 29, 2007
    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) Thanks, Wade Beasley

  • Anonymous
    October 29, 2007
    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 :D

  • Anonymous
    October 29, 2007
    @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.

  • Anonymous
    October 29, 2007
    Lots of web and screen casts for us not keen on reading so much documentation :)

  • Anonymous
    November 01, 2007
    I was pondering the Do's and Don'ts list yesterday that Glenn Block posted on his blog , and