We help teams get productive, cut waste, and deliver great software.

Scrum Training & Coaching

Want to be more Agile? Looking for an Agile transformation? Need Scrum training or someone to help your Scrum teams improve their game? We can help. We offer three different Scrum courses. We also can embed with your teams to help them develop their Agile & Scrum "muscle memory".

Ever get the feeling that one or more of your teams just isn't "clicking" and kind of needs a therapist? Do you suspect there's a general malaise in your development organization? We can help with that, too.

Team Foundation Server, Visual Studio ALM, & DevOps Consulting

Team Foundation Server (TFS) and Visual Studio ALM (VS ALM) can help your teams communicate more efficiently and be more productive. It can also help you with your ALM and DevOps automation concerns through automated builds, automated Release Management, automated testing, and more. We've been doing this for years and we can help.

Development & QA Best Practices

Software development doesn't have to be painful and software testing doesn't have to be a magical black box. We can help your developers learn and adopt the skills to help them to build high-quality, maintainable code. We can help your QA testers plan and manage their work to help ensure quality in your final product.

We'll help everyone learn to work together so that quality becomes something you think about every day rather than something you think about at the last second.



  • A Quick Guide to Choosing Your Scrum Sprint Length

    If your team is using Scrum to organize their work and deliver done, working software, you’ll be working in Sprints.  A Sprint is the time you have to do your work.  A Scrum Sprint goes like this: 1) at the start of the sprint you plan what you’re going to do and how, 2) go […]

  • 5 Reasons Your Daily Scrum is Boring

    When you ask someone “what’s Scrum?”, probably 9 times out of 10 they’ll start telling you about the Daily Scrum meeting.  Maybe they call it the “standup” or the “daily” or the “daily standup” but they’re talking about that meeting that you’re supposed to have every day if you’re doing Scrum.  Oh…and they almost invariably say […]

  • Automatic Exception Handling on ICommand ViewModel Properties

    If you’re writing a WPF application or some other XAML-based application, you’re probably using the Model-View-ViewModel (MVVM) pattern.  If you’re being “good” about your MVVM implementation, you’re putting all your button click handling code into ICommand properties on your ViewModels.  (What!? You’re not doing that?  Naughty naughty!  You should!  It makes it so much more […]

  • Howto: Enable IIS directory browsing on Azure Websites

    Ever wonder how to enable IIS Directory Browsing on a directory in your Microsoft Azure Website?  Hint: it’s not in the control panel for your account. The answer: drop a web.config file into the directory you want to browse and set <directoryBrowse enabled=”true” />.  Done.  That’s it. Here’s a sample web.config that you can use: <configuration> […]

  • “Real World Scrum with TFS2013” slides from Visual Studio Live 2015 in Las Vegas

    I spoke at Visual Studio Live 2015 in Las Vegas (aka. VSLive Vegas) last week.  One of the talks I did was my “Real World Scrum with Team Foundation Server 2013” talk. You’ve got Team Foundation Server 2013 and you’re looking to do Scrum.  Ok.  Great.  Now what does that mean?  What does TFS2013 actually […]

  • “Zero to Hero” slides and code from Visual Studio Live 2015 in Las Vegas

    I spoke at Visual Studio Live 2015 in Las Vegas (aka. VSLive Vegas) last week.  One of the talks I did was my “Zero to Hero: Untested to Tested with Visual Studio Fakes” talk. You’ve got an app with no tests. Trust me. You’re not alone. You’d love to get some great code coverage but […]

  • Utilities for debugging Bootstrap with and without ASP.NET MVC

    I was running into a problem while trying to get a Bootstrap form to lay out properly.  My problem was that the text of labels was getting rendered under textboxes.  As I was playing with various Bootstrap styles on my DIVs – for example, ‘col-md-5’, ‘col-sm-5’, ‘col-sm-offset-1’, etc – it quickly became clear that I […]

  • Branching, Work In Progress, & Employee Retention

    I did a coaching and training session with a company recently. They’re a small, early-stage company in the Greater Boston-area. I got a call from the owner (let’s call him Mike) looking for help solving their problems with Team Foundation Server version control. Mike was complained that they were regularly “losing changes containing days worth […]

  • Add Simple Arithmetic to Web Performance Test & Load Tests

    I’ve been writing and maintaining a library of useful utilities for Visual Studio Web Performance Tests and Load Tests for a while and I got an email from a reader today asking for a new one.  She asked if there was any way to do simple math inside of a web performance test or load […]

  • Agile 2014: “Better Unit Tests through Design Patterns” Slides & Code

    I spoke at Agile 2014 yesterday and did a called “Better Unit Tests through Design Patterns: Repository, Adapter, Mocks, and more…”. Better Unit Tests through Design Patterns: Repository, Adapter, Mocks, and more… You’re sold on unit testing. You’re even doing “test first” development – but there are always those nagging questions. How do your user […]

  • Is it really such a bad idea to change your Sprint length?

    “Is it really such a bad idea to change your Sprint length?”  I get this question all the time especially from teams and organizations that are new to Scrum.  The answer is a slam dunk: YES.  Yes, it is indeed a horrible idea to change your sprint length. When I’m talking about changing your sprint […]

  • Why are there timeboxes in Scrum? Why operate in a series of Sprints?

    If you’re “doing Scrum” and “being Agile”, what’s the purpose of these things called Sprints?  You might be thinking “Sure…timeboxes.  That’s why.  Scrum operates in a series a timeboxes.”  Right.  Scrum operates within a handful of timeboxes and assuming a 30 day sprint, then they are as follows: Event Timebox Duration Sprint 30 days Sprint […]