Archive for May, 2006

Software Engineers without Analytics

Tuesday, May 30th, 2006

It frustrates me to see otherwise respectable software engineers working on problems without basic analytical skills. I can understand why it happens, we are in an age of enabled and empowered software developers who are constantly building new infrastructure. A mindset quickly develops, if its broken rebuild it.

Consequently every developer is an creative architect.

Sometimes you need some analytic abilities. This week we are faced with an admittedly complex problem, yet no one understands the scope of the problem. Parts of the problem are poorly defined, and their are no metrics indicating the scope of the problem. I love to see metrics for problems, even not so good ones. They tell you if your are on the right direction right track. After all how else do you know if your solution is worth the time and energy you put in?

Another thing, the simple explanations are often overlooked. A recent configuration change should always be a suspect, ruled out after studious investigation. When you hear hoof beats it’s more likely a herd of horses than a stampede of zebras.

Measuring the Performance of Software Development Teams

Thursday, May 25th, 2006

I am often asked how do you measure the performance of software development teams.

Its a good question, and its surprising that I don’t have any clear answers. Recently I’ve been reading Hard Facts, Dangerous Half-Truths And Total Nonsense: Profiting From Evidence-Based Management. Which talks a lot about evidence based management and defining what real results are.

First and foremost, I expect my team to deliver something. Since our projects are mostly iterative based we make real deliverables to customers every 1-2 weeks. That right we have something real to show off after a one or two weeks. If a team can deliver something, anything, something has seriously gone wrong.

Second I look at story velocity. This measurement is usually aggregated across a single group, although sometime I peek at contractor story velocity, and compare it to the average to see if they are worth keeping. This measurement is only valid if the team stays together. If the team member keep moving around then the measurements get all screwed up.

Which brings me to my next metric. I look to see the number of people moving in and out of the project. Within an iteration the number should be zero. If a person leaves at the end of an iteration, they shouldn’t come back, so we measure that too.

Finally, I look at the severity and the number of bugs filed post launch. This includes the number of rollbacks, and outages caused by poor release planning. Any bugs which are severe enough to fix within two days or less, and filed after launch are a bad sign. Either, the requirements were not communicated correctly, or the level of quality was poor. Either way these critical post launch bugs are a huge time sink. Bugs filed after launch which must be fixed in one-two weeks or less are also measured.

Lastly something that I would like to measure, but have a hard time doing it is the amount of idle time for engineers. A poor manager doesn’t know how to keep his/her staff occupied. A poor manager will let their staff be blocked for long periods of time.

For non-agile projects I don’t have as many good measurements. With planned projects I make sure milestones are hit, and that a milestone exists every week or two. I also keep an eye out for heroes and cowboys. A cowboy or a hero is a bad sign, because it means one person is running too much of the project and their is a lack of peer review and team accountability. Either means a manager will never get the true status of a project.

Digital Media Jobs Blog

Wednesday, May 24th, 2006

Who know that there was a pretty decent blog for job postings in Digital Media? http://www.paidcontent.org/c/jobs/ Is a pretty rich site.

As a manager writing job descriptions can be tough. I want to make my descriptions stand our from the competition, yet its hard to keep up with the new jargon, and the new technology. Now I have a slew of job interview to work off of.

The strangest name for a company was AdHoc Mobile. I have no idea what that means, do you?
AdHoc Mobile

The world changing job on there is the Directory of Electronic Rights for Oxford University Press. Copyright laws have changed so much in the past decade. Making sense of it all and coming up with a money making licensing strategy is a tough job. Good work here would surely be copied by everyone else.
Oxford University Press

Best career move is probably found here. Reports to EVP Nickelodeon and MTVN Kids and Family, has responsibility for P&L as well.
Nick Digital

Microsoft Business Scorecard Manager

Tuesday, May 23rd, 2006

I saw I demo of the Microsoft’s BSM. I have to say it looks pretty sweet. There is even a proof of concept for getting score card reports on your mobile phone.

Imagine, you manage a sales team and before the months end you can send each member of the team a SMS message with a link to their personalized score card. They’ll know exactly how they are doing against their goals.

Once the data is setup the interface is nice and clean, and usable by just about anyone. Even if the data is in Excel, the sourced data can not be changed, but data derived from the source is possible.

Pretty cool

Martin Fowler and I agree

Monday, May 22nd, 2006

In a recent post Mr Fowler and I agree.

He breaks down code ownership, one of my favorite topics into three segments, with Strong Ownership being his least favorite.

  • Strong Ownership
  • Weak Ownership
  • Community Ownership

I agree, Strong Ownership doesn’t work. Sure people need to be held accountable for the code they right, but having an individual responsible for a section of code makes no sense. It doesn’t even pass the hit by a bus test.

Community Ownership has always worked well for the projects and teams that I’ve managed. The team really comes together to put out a the right product, and they make some high quality code. There is something to be said for peer pressure, you just don’t want to let down your team.

Apple’s new Manhattan Store

Sunday, May 21st, 2006

I was in Manhattan just off of 5th Avenue on the 23rd floor of a near bye building. Looking down I could see throngs of people in clear plastic raincoats, gather round a camera crew and some lights.

One or two people were in the middle of the obviously orchestrated crowd. The crowd would get signals to yell and scream. Screams would go up, then silence, then more screams, then more silence. I’m sure this all looked good on camera, but from my vantage point, it looked hideously fake.

According to news.com Apple’s 2005 fiscal year revenues from stores was $2.35 billion.

My point isn’t what you think it is. The manufactured image of Apple is probably a necessity and best practice. Now a days even the smallest mom and pop store can take a video camera, shoot some footage, make an ad/event and post it on a web site. Heck you could even do it with your cell phone.

Online Communites

Friday, May 19th, 2006

Lots of people are trying to build online communities, and they mix up two things.

  • Targeting - content filtered for a specific demagraphic
  • Personalization - content entered by the user to change his/her expirence

I don’t have a lot of time before my battery runs out, but if you are going to build personalization into your site, you need to get at least 2% of you users to be active submitters. Most sites don’t even know what percentage of their uses are active submitters, my guess is that most sites only get .02% of their users to submitt content.

Yahoo Corporate Source

Wednesday, May 17th, 2006

Yahoo has just released its second version of some javascript libraries

These libraries look pretty good, as they hook into the event model without mucking with the HTML. The have tooltips, event dialogs, and general widgets. There are Invitations, as a way of telling people they may interact with the page. Invitations include an Ibeam cursor on mouse over and tool tips.

Released under Free BSD and a yahoo developer license.

Bruce Tate endorses Rails

Wednesday, May 17th, 2006

Bruce Tate, author of books like Better, Faster, Lighter Java and the owner of a consulting company specializing in Java, has come out in support of Ruby on Rails. I liked his point about the feedback look, the other points I’ve heard before.

So in my opinion it is only a matter of time before some small, yet compelling website pops up using Rails. Heck the kids are all over Rails. Once that happens medium sized companies will be trying to use Rails, or larger companies will put some bits up on Rails.

Even Microsoft has taken an interest in Ruby. Which is pretty amazing to me, ’cause how many languages do you need? After all Rails is made great because its a good framework, not because its a good language.

SVN and DNS caching

Monday, May 15th, 2006

My SVN repository is at home, and my home machine often changes ip addresses. No big deal, I have a script to update the DNS entries every 20 minutes.

Today I brought my laptop to work and tried to update the subversion repository. It didn’t work, because the old IP address was cached! It don’t think this is a subversion problem, but it was a pain in the butt.

I had switch my repository to use an IP address.

svn switch --repository http://old.org http://W.X.Y.Z

Now I have to remember to switch back :(