November 2012 Blog Posts
The yellow line is not official

You may not be aware of this, but when watching a football game and there is a question about where a first down might be, the TV generated yellow line is not official.

This will shock and surprise you, but it is true.

posted @ Sunday, November 18, 2012 10:04 PM | Feedback (0)
Becoming a Certified ScrumMaster

As part of a current role at a multinational financial organization, I had to take a two-day course and pass the test to become a CSM.  Here are a couple of notes about that.

The first thing to note is that the presenter, from RippleRock, was top notch.  He was well experienced, highly knowledgeable, not a fanatical puritan, and British, to boot, which allowed me to spend the two days compiling a list of British idioms that I could then look up on the web.  Fantastic, I had no idea “pants” could be used as a derogatory term, awesome.

Because the presenter wasn’t a Puritan, he presented a Scrum/XP mix, pointing out ways in which Scrum principles might have to be modified (given that, for many teams, colocation is an impossibility, this was probably unavoidable). 

We all had a go round at introducing ourselves at the beginning and what, if any, our previous experience with Agile methodologies included, and I explicitly mentioned that I was a Kanban advocate (which is technically inaccurate, as I don’t give a shit if you don’t practice it yourself), which led to a number of highly entertaining moments during the course.  When Scrum advocates don’t have any actual arguments against a Kanban perspective, they will simply point out (accurately, I gather, don’t really care) that certain tools that Kanban uses have existed in Scrum for years/decades/whatever.  That any of them think this has anything to do with the mindset shift away from cookie cutter, paint by number, ceremony laden nature of Scrum is a bit mysterious, though not really.

As the previous paragraph suggests, one of the main things the course re-enforced for me was that Scrum is appropriate for almost no situation that I can think of.  And that staid, unreflective XP totally sucks (Mike Cohn’s testing ‘pyramid’ (it’s a triangle, not a pyramid) is so old-fashioned and incorrect).

Let me rephrase that.  To use a tired analogy, before you can run, you must learn to walk, before you can walk, you must learn to crawl.  Running, in some objective sense, is better than crawling.  Learning Scrum and XP teaches one to run, sprint even.  And this is, in some objective sense, learning a mindset that is better than a traditional non-Agile mindset.

But, in order to learn how to fly, you have to learn to move beyond sprints, which means to move beyond Scrum and XP.  Way, way, way beyond them.

The course was very good, and the certification is nice, I guess.  Probably could use it to charge more or something.

posted @ Wednesday, November 14, 2012 10:12 PM | Feedback (0)
Windows 8 Phone SDK ‘breaks’ Windows 8 on a MacBok Air…

Previous readers will note that I have had…interesting issues in getting Windows 8 to run on a MacB0ok Air, particularly in regards to my Clear Communications 4G USB modem/thingy.

I have yet again found some interesting issues with it.  One note:  if you ever have any question about whether something will work outside of ‘test mode’ in Windows 8, leave it alone.  I totally misread the guidance from Clear (which has recognized some issues), and bricked the damn thing.  Again.

I will also note that trying to restore a computer from WHS from a MacBook Air is essentially (from what my dumb mind can tell) impossible.  The WHS recovery CD simply doesn’t recognize the required hardware to connect to the network.  It asks you to attach a USB device or floppy drive (and I can’t tell you how hilarious this was….I don’t think I’ve used a floppy drive since 2004.  Steve Jobs was right.), but I couldn’t get it to work.  Even installing a temporary Windows 8 install didn’t allow a client restore to work, as it always crashed.  YMMV, but that’s all I could tell.  So, I had to reinstall and then copy files from WHS (which doesn’t reinstall applications, but that was manageable).

What did cause all this, and I don’t know why, is that I installed the Windows 8 Phone SDK and things broke.  Clear 4G stopped being able to authenticate (so I could connect for 30 seconds at a time, but no longer), and that I put on Clear.  But, at least once during the 3 times I tried it (I am a stubborn prick), Task Manager, for instance, simply stopped working.  I have no idea why, but I imagine it has to do with how the SDK affects USB bindings.  Or something. 

In any event, just putting this out there.

posted @ Thursday, November 08, 2012 7:54 PM | Feedback (0)
Bad analogy time: It's okay to be a line cook

I was trying to explain to non-software developers a certain point, and came up with one of my typically bad analogies.

Though I hate the term, I guess I have to admit that I qualify as being a 'foodie.'  Though I tend to discount some of the more political aspects of it, I buy into the whole food to table thing, cook for myself, believe in using local ingredients, and all that stuff.

Because I am lucky enough to be financially successful, I enjoy the occasional visit to Michelin starred restaurants.  I also remember being, in a much less financially successful time, a line cook in your basic chain restaurants.  As far as I can tell, I was decent enough at it.

There are software developers who think they are Michelin starred chefs and not line cooks.  Some of them are probably talented enough to be thought of as such, but few are actually ever in a place where they can practice their craft as much as they might like, and it shows.  They hate to be 'line cooks' and fight against it, and generally are never happy, and it shows in their work.

But there is a reason why there are more line cooks than Michelin starred chefs, and why there are more restaurants that need line cooks.  Even though it is undeniable that a Michelin starred chef can create, in some objective sense, better food than a line cook, someone who thinks of themselves that highly (and let's face it, they are often wrong about their self-assessment) would be better served leaving the restaurant they find themselves in than trying to fit into a space they don't belong.

posted @ Thursday, November 01, 2012 12:13 AM | Feedback (0)
Software Development != Writing Code

The disconnect between these two has been highlighted by recent events.

The end requirement was clear.  A couple of changes that the business wanted, prioritized and re-prioritized to a certain list.   A couple of changes that could be completed in a few days and fit into the long list of various requirements that the business wants, a business that has very little resources available for testing.

The developer in question though sees the ugliness in the entire codebase, it makes him uncomfortable.  He sees all of the places where it goes against what a software craftsman believes in.  He's a talented developer, dedicated to his craft.  So, he spends a couple of weeks to rewrite the application in fundamental ways that completely changes how most of the application works.

Let us posit without question (though there are always questions here) that the developer is a good developer and that the changes he made are good changes (in the particular case, this isn't true, but let's put that aside), that the developer did what he thought was the right thing to do, from a codebase perspective.

What the developer did that was wrong was to confuse his own desires from what was needed by the business.  Even given what was posited, he extended timelines and made changes not requested by the consumers of the application that he was working on, changes that required extensive re-testing of the application in ways unexpected and unwanted.

This is the true danger of software craftsmanship, developers who care more about their own idealized thoughts as to how software should be written than the software that is actually wanted.

posted @ Thursday, November 01, 2012 12:00 AM | Feedback (0)