It’s Official – Scrumr is #2!

A huge thank you to everyone who voted for Scrumr in the Community Coding Contest— were #2 by two votes.  The #1 project was CCConfig, and given the growing interest in agile development methodologies, we’re humbled but not terribly surprised to see two agile projects at the top.

Two other projects which deserve mentioning are the Active Directory Roles Provider and aspNETserve, both of which may play a role in future development of Scrumr.  The AD Roles Provider hooks ASP.NET membership into AD groups, making roles administration part of the AD environment–definitely a plus in some corporate environments.  aspNETserve would allow Scrumr to be run locally on a machine without IIS installed.  Potentially, with SQL Server Express as the datastore, this could be used to make Scrumr as portable thumbdrive app, too (just like ScrewTurn Wiki).

And a very, very huge thank you to Chris Pietschmann, the MS MVP who had the cool idea of a contest to give away the MSDN subscriptions.  Thanks, Chris, hope you decide to do it again next year!

ASP.NET MVC Firestarter in Pittsburgh

Coming soon to Pittsburgh:

When it comes to design patterns, the MVC is the granddaddy of them all.  First described in the late 70s, the MVC pattern remains very popular in the world of web applications today. ASP.NET MVC provides a framework that enables you to easily implement the model-view-controller (MVC) pattern for Web applications. This pattern lets you separate applications into loosely coupled, pluggable components for application design, processing logic, and display.

Throughout the day we will be demonstrating the ASP.NET MVC Framework in a cookbook-style approach with recipes on how to solve common challenges when developing MVC web applications. No previous knowledge or experience is necessary. We will walk you through the basics on creating views and controllers and by the end of the day show you how to develop end-to-end MVC applications complete with ajax, authentication, authorization, caching, databinding, logging, persistence, validation, and other common challenges we experience in day-to-day development.

Sample code will leverage and integrate popular frameworks and libraries like ADO.NET Data Services, ASP.NET AJAX, ASP.NET Dynamic Data, Enterprise Library, Entity Framework, and LINQ To SQL to show you how to write less code and be more productive during your development.

Polish it all off with examples showing the extensibility of the MVC Framework using custom controller factories, alternative view engines, and custom action filter attributes just to name a few.

Topics covered will include “How Do I…”

– Create Views Easily? ( HTML and Url Helpers )
– Handle Get and Post Requests? ( simple databinding of action method arguments, ActionResults, etc.. )
– Pass Data Between Views and Controllers? ( ViewData and TempData )
– Bind Views and Forms to complex data types? ( ModelBinders )
– Handle Errors Gracefully? ( ActionFilter Attributes )
– Provide Input Error Validation? ( ValidationMessage, ValidationSummary, ViewData.ModelState )
– Handle Authentication and Authorization? ( ActionFilter Attributes and Membership Provider )
– Persist to a database ( LINQ To SQL, Entity Framework )
– Log Messages to Database, File, EventLog ( ActionFilter Attributes, etc. )
– Leverage AJAX and JSON? ( ASP.NET AJAX and jQuery )

Some of the more complex and non-beginner topics can be discussed if time is allowed and/or maybe discussed afterwards in a social environs…

– Alternate View Engines
– IoC and Custom Controller Factories
– Unit Testing

Bring your USB Flash Drive to grab the sample code and begin developing ASP.NET MVC Web Applications today!

Register online at

Download Linq Talk at Pittsburgh .NET UG

Post-talk update

There are two corrections to my talk in the comments.  I missed assigning the DataLoadOptions to my DataContext object in my sample code.  Also, I said last night that the ConnectionTimeout is assigned to the DataLoadOptions–I totally lost my head on that one.  The ConnectionTimeout is a property of the DataContext object.  Sorry for any confusion.

I’ll have updated slides and sample posted here shortly (I’ll leave a note when I do), and I’ll send the corrected samples to Dave to be posted at the Pgh .NET site.

Original post…

I’m speaking at the Pittsburgh .NET User Group tomorrow (Oct 14, 2008) on Linq to SQL and Linq to XML.

In the ZIP file is the presentation (PDF), sample XML file and complete source code for my presentation.  Unzip the file, and place the XML at c:\xml.  Create a sample database using the script in the project, and update the connection string.  There are four methods you can call, demonstrating the different techniques I’ll be covering.

Download the presentation and code sample.

Also, in case you haven’t yet voted, please vote for Scrumr.  We’re working on this in our spare time, and could use the tools to make better software.

CR.NET 2005/2008 book is here!

I was a big fan of Brian’s Crystal Reports .NET 2003 book, as well as his CR XI book, so this is exciting news:

Find out about the new Crystal Reports Encyclopedia: .NET 2005/2008 book and more ebooks online at

I’m excited to announce that I just finished writing “Crystal Reports Encyclopedia: .NET 2005/2008”. It is being printed now and will be at on November 1st. You can pre-order it by clicking here:

With .NET 2005/2008 you can print from a variety of new data sources: arrays, LINQ, and any IEnuberable collection. You can also use SmartTasks to create new reports in minutes. Are you upgrading to Crystal Reports 2008? Create custom add-ins for the menu bar and build a User Function Library!

Many people have requested my books in ebook format. So I’ve done just that! I converted my books to a blog format so that members can have a one-on-one conversation with me about specific sections in the book. This has been very popular as many people ask for help about walking through the various tutorials in the book. Coming in a couple of weeks is a members-only forum where members get priority to have their questions answered. To find out more about the online ebooks, click here:

These are exciting new improvements for all Crystal Reports users and I look forward to adding more new features in the next couple of months.

-Brian Bischof

Adopting Scrum: Scrumboard in a Cube

In Agile Software Development with Scrum, the authors recommend setting up a permanent scrum room, where the dev team can meet and where a scrumboard can be established.  Wouldn’t that be lovely?  In the real world I’m in, it’s tough enough to get a conference room for an hour, let alone permanently assigned.  We hold our daily scrum in the lunchroom, and depending on which weathergirl is doing the forecast on the TV (welcome back, Julie Bologna), I can usually hold my team’s attention.

For my scrumboard, I had to get a little creative.  I ordered a bunch of magnets, and turned one of my wall panels and hutches into my scrumboard.  My project backlogs live on the wall panel:


Tasks we’re working on start in the sprint backlog on my hutch.  As the rented mules dev team members progress on a task, they move it from from one status to another as indicated by the top row of index cards.  When a task is completed, they can grab another one from the backlog (this current sprint is winding down, so there are no tasks in the backlog).  The colors of the magnets have no meaning, but the diameter gives you a quick indication of the depth of each status pile.


A scrumboard on my hutch is one of the reasons we’re writing Scrumr, which will replace all these magnets and index cards with a web based application.

Please vote for Scrumr!

In my spare time, I’ve been working on an open source project management tool called Scrumr.  Scrumr is a lightweight app for managing sprints per Scrum methodology.  You can find out more about the project at

In the meantime, we need your help.  Please go to and vote for Scrumr.  We need the tools to make better software.