Month: May 2013

To Build Better Software, Exploit the Fun Factor

I’d like to draw a couple of analogies between software development and learning a new skill such as playing the piano or speaking a new language. Bear with me and hopefully you’ll gain new insights into the benefits of agile development over waterfall development. Have you ever taken piano lessons? Or, have you ever taken […]

Risk Creates Speed Bumps on the Road to Done

4 Risk Categories Are All You Need Worry About Have you ever been involved in the software project from hell? Many of us have. The project begins with plenty of enthusiasm and optimism. Goals are defined. Staffing is assigned. Delivery dates and budgets are handed out. Everyone’s excited. But somewhere along the road to done […]

Sometimes You Have to Break the Sprint Rules

Here’s an all-too-common scenario in agile software development projects. You’ve defined fixed-length sprints. They are 4, 6 or 8 weeks long. The team is well into a sprint when the product owner shows up and says something like “We have to add another story to this sprint. The business will reject the software unless we […]

Are No Estimates the Solution to Bad Estimates?

#NoEstimates. Is it the latest agile software development trend or meaningless hype? Your guess is as good as mine. It’s an interesting question that deserves closer examination. The general premise is that software estimates are unreliable. They are usually overly optimistic and are often grossly inaccurate. So is it better to avoid all the work […]

To Change, You need to Learn AND Unlearn

The challenge isn’t learning new things. It’s unlearning old ones. Change is all but doing something differently, which requires learning something new. No problem, right? Life is learning. But there’s a flip side to change. You have to unlearn something old. You need to stop doing something you’ve learned to do. If you’re not particularly […]

Software Quality and Time-To-Market Should Never Conflict

Here’s a question that I believe generates some of the controversy around agile software development techniques versus waterfall techniques. If your team delivers fewer software features and functions but the software is higher in quality, are your user base and your company better off? Agile teams often claim to deliver better quality software. I agree […]

Velocity Is a Useful Metric But Not a Crystal Ball

I’ve criticized metrics in this blog before and I’m doing it again. I’m really a fan of metrics when they’re applied properly and interpreted correctly. Unfortunately, metrics are often misapplied and misinterpreted resulting in poor decision-making. That said, let’s take a closer look at a popular Scrum metric — velocity. Here is the definition found […]