Project Development

Process Improvement

It's interesting to see how different people react to the idea of process improvement. Most people fall into one of two camps - I'll term these the Conservatives and the Radicals.

Conservatives don't see any need for change at all: "That's just the way we do things around here, we get the job done, and I've got work to do anyway." They put no effort into process improvement, and therefore realise no improvements. They never make things worse - but they never make them better either.

On Priorities

Browsing the Great Programming Quotes question over on StackOverflow, I found a really thought provoking quote:

Make it Correct.
Make it Clear.
Make it Concise.
Make it Fast.

In that order.

(Attributed to Wes Dyer)

While there's a lot that could be written about this, I've just one observation ...

All too often, it seems our customers would rank things different ...

Coming up to speed

Over on Five Whys Roy Osherove has an interesting post on how to find the hidden problems on your project.

Assuming you're a new tech lead on a team, and everyone else is already up to speed, how do you find out the problem areas?

Roy suggests you get everyone together - including the stakeholders who stand to benefit (or be crucified) and ask one simple question:

Are we speaking the same Language?

I'm continually surprised by the level of disagreement and argument that occurs simply because the people conversing are working from different definitions of basic words.

Have you ever had this conversation ...

Project Manager: Can we complete this project by the deadline?
Developer: No.
Project Manager: But I've already promised the customer that we can.
Developer (to himself): WTF?

I believe the problem here comes from a difference in how the word "No" is understood.

Using new Language and Library Features

Now here's an interesting question that came up in conversation recently:

While maintaining a system, should you make use of new language/framework features or not?

Of course, context is everything when faced with such a generic question, as the best answer may vary widely from one context to another.

Data Migration issues

My wife and I had an interesting experience this last weekend while out shopping for a major appliance.

We settled on the appliance we wanted, and were working with the salesperson to arrange delivery and installation. Despite being repeat customers, the salesperson couldn't find our account - searches by phone and address failed to generate any results.

The salesperson apologised, mentioning that things had been difficult to use since a new system had been rolled out last year.

The word "Estimate"

It’s interesting how the word estimate gets thrown around.

On Leadership Styles

I’m observing that good management doesn’t seem to bear much resemblance to what gets taught at those highly priced management schools.

Some data points …

… I’m currently working with a manager spends very little time telling me what to do, instead spending a lot of time making sure I have a free run to get things done. This includes purchase of some useful tools so the team can move faster.

Estimation Poker

I've spent most of this week as one of a small group working on estimating the next phase of a moderately large project.

We've been using a variation of planning poker to estimate the effort required to develop the various services and user interfaces that will be required.

In a lot of ways, I believe that planning poker is a worthwhile estimation technique - if you aren't currently using any formal estimation technique, I'd recommend that you have a go with planning poker.

Use Cases and User Stories

While listening to ARCast recently, I heard the following:

"And stories are pretty much placeholder for a conversation"

The speaker was Claudio Perrone, who was talking with Ron Jacobs about Agile development in Dublin.

This comment highlights one key difference between Use Cases and User Stories.

The Curse of Remembered Pain

Barring a few unusual individuals, all of us are very good at remembering moments of pain. For the most part, these memories serve us well, helping us to avoid danger and make good judgements. Sometimes, though, remembered pain can blind us to changed circumstances.

The Gray Zone

When embarking on a new software project, one of the most critical decisions is that of Scope - what, exactly, is the software going to do? Even if you have unlimited budget and time (*), you still need to decide what you're going to do first.

What are you measuring?

There is a common saying amongst management types - If you can't measure it, you can't manage it.

I would contend that this is complete and utter hogwash, because many of the most important things can't be objectively measured. This doesn't stop management types from trying, though.