The weather pattern has quickly changed from winter into summer. We had snow in some parts of New England last week and this week we have the dreaded triple-H weather — hazy, hot and humid. The triple-H pattern appears in software development projects too. In fact, it’s not unusual at all. Let’s explore what triple-H […]
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 […]
7 Common Sources of Risk Cause Many Projects to Crash
In my last post, I offered a simple way of grouping project risks using just 4 categories. You’ll never be able to completely eliminate risk but you can manage it. If you think your project has everything under control and faces no risks, look again. You missed something. To help you think about risk items, […]
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 […]
Focus on Building Complete Software Systems Not Just Software Components
So you’ve adopted an iterative approach to software development. Every ‘N’ weeks your team delivers working software. ‘N’ is usually 2-4 but could be 6-8. The point is that the project is divided into a series of iterations or sprints rather than building everything and delivering all of it in one big bang. Congratulations! Your […]
It’s Better to Have Great People Than a Great Process
Imagine you had a team of ace software developers. This team is fabulous. They know how to get stuff done. They work well together and they work well with other teams. They always find a way to deliver good software. Now imagine that they are given a terrible software development process to follow. The process […]
Perform Work Iteratively To Be More Productive and Efficient
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 […]
Without Trust, No Enterprise Software Development Approach Can Work
I’ll bet you’ve seen this happen. It may even have happened to you. The business folks are using software they built to track and report something important. The software is a bit crude, maybe even primitive, but it works. It’s simple. (Often, Microsoft Excel and/or Microsoft Access are the preferred tools.) Everyone loves the insights […]
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 […]