Category: Process

Plans Change. So Why Bother to Plan?

It’s true. Plans change. They change often. In fact, elaborate, detailed plans will change almost continually. Is it worth the effort to plan? At times, agile software development is criticized because it’s perceived to lack planning. The perception is that developers simply jump in and start writing code. The process of writing code and delivering […]

Process Misalignment Is a Leading Cause of Agile Failure

Transitions from traditional software development approaches to agile ones fail occasionally. None of us who try to faithfully practice agile development like to admit it, but it’s true. I’d like to explore one of the key contributors to those failures — process misalignment. Here’s an example of how this happens. Let’s say the business stakeholders […]

Would You Rather Fail From the Top Down or the Bottom Up?

Many software teams adopt the top-down approach to software development. Others prefer the bottom-up approach. They’re both high-risk techniques you should avoid. Here’s why. The Top-Down Approach Traditional waterfall teams like this approach. It starts with analysis and works its way down to implementation. The approach begins with high-level market or process analysis (depending upon […]

7 Warning Signs of a Technical Debt Collapse

Technical debt is a complex topic. Many factors contribute to it and it tends to grow over time. Implementation shortcuts combined with quick-and-dirty fixes contribute to the buildup. But that’s not the worst of it. The biggest problem with technical debt is that it creeps up on you. Imagine a dam with water building up […]

The Minimum Viable Prototype Is a Better Idea

You’ve likely heard about the concept of the Minimum Viable Product or MVP. The idea is to build the simplest software solution that satisfies the business and user needs — then begin iterating. Keep improving the product in release after release. The MVP concept is controversial if only because defining a minimal viable product is […]

Follow a Recipe to Succeed With Agile Software Development

When top consultants engage new clients, they offer ideas and suggestions to get started. A phrase that the consultants listen for from the client is something like “we tried that once before” or “we already did that”. It’s a comment that begs for probing questions. “What exactly did you try?” “What results did you observe?” […]

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

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

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

Software Processes Are Good; Procedures Are Not

Many of us follow procedures. Not because we like them or find them useful but simply because that’s what we are told to do. Regrettably, many procedures take on a life of their own and become powerful impediments. For purposes of this post, I’m defining a process as a systematic sequence of actions towards a […]

Scrum Isn’t Just for Product Development Projects

I was recently asked a question about applying Scrum to research projects. The core issue had to do with Scrum’s fixed time boxes. Research projects, by their very nature, aren’t driven by fixed deadlines. Depending upon the complexity of the research, the effort could take weeks, months or years. How do you apply Scrum? While […]

The Cost of Doing Nothing May Exceed the Cost of Changing

Resistance to change is rooted in many factors from fear of the unknown to resentment of forced mandates. Oftentimes, the underlying resistance lies in the sheer magnitude of the challenge. Many enterprise IT projects are massive undertakings with big payoffs when they succeed and huge downsides when they don’t. What follows is a situation routinely […]

Test-Driven Equals Quality-Driven. Develop ATDD Skills.

Manufacturing industries learned long ago that it’s better to prevent problems than fix them. That’s one of the basic tenets of being lean. Fixing problems is expensive and wasteful. Preventing them isn’t cheap but it’s less costly than fixing. It seems that many in the software industry haven’t figured this out yet. Software defects shouldn’t […]

Build the Simplest Software That Solves the Business Problem

Agile software development and feature-driven development (FDD) have much in common. Many agile stories encompass features requested by the software stakeholders and end-users. Yet, staying focused on features and not system architecture can be hard to do. Let’s discuss a simple example. Say your development team is asked to build a simple software application that […]

The Daily Stand-Up: Start Time Doesn’t Matter

What time should your daily stand-up meeting be held? The subject of what time to hold the daily stand-up is frequently asked by software development teams following an agile approach like Scrum, Kanban, Lean or XP. Most teams like to hold the stand-up ‘first thing in the morning’ — whatever that means. Here’s the problem. […]