Dan Maharry

MbUnit\Gallio 3.2 Released

by

Andrew Stopford has announced the release of MbUnit \ Gallio v3.2 with lots of new goodness. His own blog entry contains a quick runthrough of what’s what, but the full release notes can be found here, and you can find the download here.

I should also highlight the new documentation wiki over at gallio.org. This contains all the previous documentation efforts started when I was contributing docs for this project plus a lot of new stuff. Excellent work guys! Glad you found a publishing mechanism that suits you the best.

Agile Zen and Kanban Boards

by

One of the many benefits of being involved in the short-lived project to revise this for the forthcoming release of ASP.NET 4.0 was the opportunity to try out various online collaboration tools for the author team to keep in touch with each other and to keep track of what we were all doing. Various suggestions were made, but rather than keeping track of the project on a synchronized Excel or Google spreadsheet, we went for a Kanban board kept online at AgileZen.com.

I suspect we barely scratched the surface of what the site can do, but in terms of keeping track of who has got what chapters to write and where they are up to, and signalling to the rest of us when something had been done, it was pretty good. The whole user interface is very straightforward. When you create a new project, an empty board is generated for you with some generic phases that each task in the project – known as stories here – will pass through before being complete.

Default story phases

In the end, after a bit of modification to match the phases on the board to the standard phases of a chapter on a book, we ended up with this. Things not yet begun were added to the Backlog and moved into Draft 1, tech review etc left to right until they’d end up in the Archive as a finished document. Non-writing tasks went from Backlog to Other Tasks to Archive. This was a little more awkward than it probably could have been. My guess is that the two story workflows, writing and non-writing, could have been refactored into a more generic, single one probably more akin to the original set of phases shown earlier, but hey it worked for us.

Zen3

Co-authors were created as Administrators to allow us to change anything we liked on the board while our editor was online as a look-but-dont-touch Member. AgileZen lets you create as many user roles as you like with various combinations of the permissions shown below, but with such a small team, we only needed the two roles.

Zen Permissions

A nice touch is that the use of Gravatars for the board users. Invite users using an email address with a gravatar attached to it and you’ll see it automatically shown wherever they have a story in play on the board.

Kanban Board in Action

In conclusion, I quite liked Agile Zen and would use it again, even though we didn’t get far enough into this project to test the kanban functionality behind it to any great degree. Working with it was very intuitive and at $9 a month to accommodate a team of four and three projects (pricing structure here), it was more than cost effective for our needs. I’d have liked a more centralised area for conversations between the team, perhaps something akin to Shareflow. It is possible to write notes within each story, but that’s not a conversation. And it’s probably not what kanban boards are for either, but it would have been nice to have all the collaboration tools in one place.

I have a feeling that AgileZen would be a good fit for fans of the Getting Things Done \ Scrum approach to organisation, especially across a team of people. Fans of lean software development and six sigma management strategies will certainly like its shallow learning curve and the (apparent) power behind it. Have a go. A one-person, one-board account is free to anyone.

How to get Windows 7 XP Mode Apps to talk to SQL 2008 on your Windows 7 Host OS

by

I’ve got VS2010 installed as an application inside XP mode which is fantastic except that I really rather wanted to use the instance of SQL 2008 installed on my Windows 7 box rather than the instance of SQLExpress that VS2010 can install with itself. And, should you need to do this yourself, this is how you do it…

In brief

  1. Install the Loopback Network Adapter on your Windows 7 machine
  2. Set the Loopback Adapter to have a static IP address which the VPC network adapter will use as its internet gateway
  3. Configure the XP Mode Virtual Machine to use the loopback adapter as its gateway.
  4. You should now be able to ping your host machine from your guest OS.
  5. Open SQL Server connections via TCP/IP on host machine [updated 24/12]
  6. Open incoming connections on port 1433/1434 for windows firewall
  7. You should now be able to telnet to port 1433 on the host OS from XP mode

More detailed instructions for each of these steps after the break.

More...

Red Gate Reflector

by

Well, it looks like one of the best .NET utilities out there has changed hands. Lutz Roeder, the original creator and developer of Reflector has agreed with Red Gate software (they of SQL Compare and SQL Toolkit fame) to let them continue development of it from now one. An interview with both Lutz and James Shore of Red Gate outlining the deal and what Red Gate hopes to do with Reflector can be found here on simple talk.

Red gate are quite clear that they “will continue to offer the tool for free to the community.” but don’t categorically state that they may not offer a corporate, paid-for version later down the line. As long as there’s a free version I’m not too fussed. Reflector’s new home is http://reflector.red-gate.com/

Assert.AreValueEqual

by

One of the interesting aspects of backfilling documentation is uncovering methods few seem to have discovered. Case in point, the Assert.AreValueEqual method in MbUnit v2. Rather than the straightforward AreEqual methods to compare the values of a property in an object or the AreSame methods to compare whether two objects are actually the identical object or of the same type, AreValueEqual verifies that two objects, expected and actual,

  • both have a property described a PropertyInfo object,
  • that the property is not null,
  • and that the value of the property in both objects is equal.

It's a bit of a black box tester then and works across class hierarchies.

More...