10 Tips for Enhancing Waterfall Software Development

So your company uses a waterfall approach to software development and you’re stuck with it. Your management doesn’t understand agile development and doesn’t want to. They like how work gets done even if projects often take longer than they’d like. Now what? Other than finding another job, your options are limited. Here are ten suggestions […]

There Are Only Five Software Risks Worth Considering

Agile software development teams face many types of risks but only a few really matter. There are countless risk possibilities to consider on any software development project. Everything from under-estimating the project scope to the local nuclear power plant suffering a meltdown. It can be mind-boggling. I think many teams don’t even bother to assess […]

The Future Is Here and Living in Your Smartphone

Apple sent out a few loud and clear messages at their Worldwide Developers Conference this week. They announced some great new products and the media is fixated on them. But the products are not the message. The capabilities of those products and the future direction they establish are what’s interesting. Here’s my interpretation of the […]

Failure to Collaborate Threatens All Large Software Projects

There’s a famous quotation from the classic movie Cool Hand Luke that applies to many business situations; “What we’ve got here, is failure to communicate.” In many post-mortem evaluations of failed projects, inadequate communication is cited as a primary reason for team turmoil. Companies have responded by making it easier to communicate. Many of us […]

Estimates Are Worthless But Estimating Is Priceless

Seems contradictory, right? We spend a lot of time preparing software development estimates. Yet, I claim that the end result has no value. None. I also claim that the effort required to prepare estimates is time well-spent. That doesn’t make any sense! Or does it? Everyone wants to know how long the project will take […]

User Stories Aren’t Just About Business Users

Some folks criticize agile approaches to software development like Scrum, Kanban and XP, with the claim that there’s too much emphasis on the end user. How can you develop software systems that are robust, fast and secure using stories? End users are not going to write stories defining the technical characteristics of a system. That […]

7 Warning Signs of Imminent Project Doom

Is your software project in trouble? Before you try to convince yourself that all is well, you should think carefully about the subtle clues I’m about to give you. Your project could be in much worse shape than you think. Software projects don’t march merrily along until suddenly one day all hell breaks loose and […]

Iterative Waterfall Is Not Scrum

One of the more common anti-patterns in Scrum is treating each sprint as a short waterfall project. While there isn’t anything inherently wrong with doing that, it’s not Scrum. It’s Iterative Waterfall. If it doesn’t work, don’t blame Scrum. There are similarities between Scrum sprints and waterfall iterations but they are not the same thing […]

You Can’t Be Agile If You’re Not Empowered

Do you feel empowered in your job? Many people don’t. A big part of agile software development — and business agility, in general — is empowering people to change their work environments. If you can’t change anything, you can’t be agile. You can only go with the flow, and hope for the best. By definition, […]

In Software, Logical and Reasonable Doesn’t Mean Best

Small software development teams in small companies usually embrace agile practices associated with Scrum, XP, Lean and Kanban more readily than large teams at large companies. That makes sense given the added complications of trying to be agile in a big company accustomed to following a corporate process. Small teams quickly adapt to shorter sprints, […]

Define Audiences, Specify Outcomes, or Failure Will Stalk You

There are two areas of software development that are often overlooked or under emphasized. They are defining your target audience (or end-user personas) and specifying your promised outcomes (or business goals). We need to be specific about our target audiences and promised outcomes. It comes down to setting expectations. You can deliver what you documented […]

Hidden Assumptions Can Take Down Your Project

What are you assuming? Every project plan, user story and task list contains assumptions. An assumption is something that’s taken for granted by the software development team — something presumed to be true. This is in contrast to risks, in that risks are adverse events that we believe are unlikely to occur. Some assumptions will […]

Software Outcomes Matter, Test Results Don’t

How do you determine the success (or not) of a software project? How do you measure the final outcome? How do you know if the project delivered what was expected? You might be inclined to refer to the number of remaining known defects, the number of test cases, the improvements made in the code, the […]

Team Velocity Is Not as Simple as It Seems

The subject of Scrum team velocity can be confusing and controversial. My intent is not to add fuel to the fire but rather, to contribute to the knowledge base around velocity and what it represents. The simplest way to do this is via an example. Let’s say a Scrum team has an average velocity of […]

How Much Project Planning Is Too Much?

Does your organization spend weeks and weeks preparing to launch a project? Does it seem like new projects take forever to get off the ground? Have you seen projects get cancelled after months of planning but no implementation activity? I’ve seen it all and it can get ugly. As a general rule, planning and analysis […]

Legacy Code Is a Tangled Web for Agile Developers

What is one of the biggest impediments to adopting agile development? It’s a bit of a rhetorical question because there are many answers, with cultural issues being high on the list. For this post, I’d like to focus on legacy software. Every established company has software systems that are used everyday and may have been […]