Month: May 2012

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 […]

Software Estimates: Are You Feeling Lucky?

Estimating the delivery date for a software application can be notoriously difficult. Miscalculations of 100% or more are surprisingly common. Let’s examine a couple of possible situations. 1) You’re working in a software-as-a-service environment like Salesforce.com or Microsoft Dynamics. The stakeholders want to know how long it will take to add a simple feature. You […]