Theory D or Theory P?

Earlier today, I came across this excellent post by Reginald Braithwaite on the management of software development.  It does a great job of explaining many of the projects I’ve worked on in my career, whether they succeeded or not.  Theory D clearly drove how I and various teammates ended up working.  The post really helped me understand part of why the two years I spent managing projects was so difficult.  I’m a Theory P guy at heart, and couldn’t pretend to be Theory D (much less actually believe it).

Braithwaite also writes a good follow up.

I really hate SQLDataSource

What I said about hating ObjectDataSource doesn’t count. SQLDataSource is worse. At least ObjectDataSource gives you error messages when it isn’t working. SQLDataSource appears not to work at all with stored procedures that have parameters. I found this forum thread that seemed to describe my problem. Unfortunately, none of the tactics suggested worked for me. I don’t even get error messages, just a screen with no GridView control in it. One of my colleagues looked at it and was just as stumped as I am.

Using an XSD, a couple lines of code, and an ObjectDataSource got me the result I needed with far less hassle.

Don’t forget to Google prospective hires

One of my colleagues reminded me of that today.  The developer we’re interviewing tomorrow was the #1 result from Google when I searched on his name, thanks to his blog.  This works a lot better with uncommon names, of course.

My name (Scott Lawrence) is fairly common, so it’s only the #6 result on Google.  The result is probably that high because one of last month’s blog posts referred to Scott Hanselman.

NCover goes corporate

I was on vacation when this happened, but NCover has become a product you pay for.  The rationale for the change is a fair one, and I’m impressed by how Gnoso (the vendor of NCover) is looking out for people who donated to the project when it was free.  NCover 1.58 remains free, but doesn’t have the same level of features as NCover 2.0 (or 2.0 Enterprise).

Gnoso has that product niche basically themselves since Cenqua, the vendor of Clover.NET, got bought by Atlassian in August.  Since Atlassian is end-of-lifing Clover.NET, the coverage tool bundled with Team Foundation Server is the only option for .NET code coverage functionality.
Given the choice between paying for functionality that used to be free and losing it altogether (as happened with NDoc), I’d fork over the dough in at least some cases.  Whatever they intend to charge, odds are they won’t be Microsoft prices.
It will be interesting to see how many other tools that are currently free make a similar transition.

Lessons from failure

It’s an older Reg Braithwaite post, but an excellent one.  His four most important causes of failure are all painfully familiar.  The paragraphs he writes on hiring practices and “development hygiene” are especially important.  In an environment where the cheapest vendor wins, those two areas are the source of many problems.

The post does a very good job of pointing out how weak stakeholders can doom a project.  There’s also a clear example of how office politics can play havoc with outcomes.

It’s a pretty long post, but very worthwhile reading.

Back from vacation

While I haven’t made much headway on my other four resolutions for 2007, I just accomplished the fifth one–a two-week vacation. From September 5-19, I visited Seattle, Vancouver (BC), and Portland. Two weeks was definitely the right amount of time to decompress from work and its typical concerns.

Of the three cities I visited, Vancouver impressed me the most. It’s the only city I’ve ever visited with a public transit system that can take you from the heart of downtown to the base of a mountain (Grouse Mountain). Stanley Park is a two-in-one attraction because it’s home to the Vancouver Aquarium too. Harbour Centre (in downtown Vancouver) has a Space Needle-like observation deck stuck on top of it that gives you a 360-degree view of the city.  Vancouver was easily the most expensive of the three cities where I stayed.  Some Canadians must be doing quite well financially, because there appeared to be an abundance of late-model Porsches on the streets.

Seattle was the first city I’d visited that had wi-fi on its public buses.  It also proved to be as hilly as San Francisco.  I got to enjoy plenty of great seafood there, though I didn’t see any flying fish at Pike Place Market.  Seattle was also more of a college football town than I expected.  There were fans everywhere in Washington State Cougars and Washington Huskies gear.  There were also a lot of orange-shirted fans from Idaho (the Huskies opponent the weekend I was in Seattle).  The most interesting thing about the Space Needle was the exhibit inside where you could view time lapse photos of Seattle over a 24-hour period taken from cameras mounted on top.  The monorail was underwhelming, but I was quite entertained by the Experience Music Project and the Science Fiction Museum and Hall of Fame.  People in Seattle have a great sense of humor.

The only really “touristy” things I did in Portland were check out Vista House and some of the waterfalls in the Columbia River Gorge.   There’s a lot of forest and great hiking out there.  The only thing missing was sunny weather (which Seattle and Vancouver had no shortage of).

One thing I wish I’d done in at least one of the cities was some cycling.  Each one of them seemed quite bike friendly.

Now that I’ve spent a couple weeks in the Pacific Northwest, I can see why people are ditching California to move north.

I hate DTS

I’ve spent a good chunk of this week trying to revise some DTS packages to account for changes in how MapQuest provides access to data they’ve geocoded for us. Since I haven’t used it in years, I’d forgotten how much I dislike the user interface for it. It probably didn’t help that I was trying to edit this things with a plug-in you install for SQL Server 2005.

Trying to have separate development and test environments to avoid the horrors of doing development and testing in a production environment is quite a trial also. I think you can put settings in a configuration file, but it’s probably something like an INI file.

It’s probably just as well that DTS was replaced by SSIS. I did use that to do a bit of flat file validation for the same project and didn’t find it nearly as painful to use.

Windows Software “Best Of” Lists

Scott Hanselman updates this list every year.  I use 4 of his top-10 utilities on my work laptop (my personal machine is a Macbook Pro).  I use TestDriven.NET a lot as well.  If you use Windows, the list is definitely worth a look.

A number of the applications Hanselman refers to can be found at Open Source Windows.  It’s all really good software  with an even better price ($0.00).

Universal vs. Apple on DRM-free Music

A very interesting take on Universal offering DRM-free music directly instead of through iTunes. I think the writer is on target in describing the motives of Universal in cutting Apple out as a distribution channel.

If memory serves, the big record companies tried to push Apple into variable pricing not long ago. That move didn’t seem to work, as the 99-cent single is alive and well on iTunes.

The idea of Apple signing artists directly is an interesting one, but I don’t see Apple signing artists anytime soon.  Artist management is quite far afield from what they do best. It might violate their recent deal with Apple Corps too. That said, if Apple could make it easier and cheaper for indie bands to put their music out without violating that deal, they’d probably make some money they aren’t currently getting.  It might even help them sell more iPods (which is really the whole point of iTunes anyway).