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 […]
Category: Process
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 […]
Building the Software Right Doesn’t Make It the Right Software
Information technologists and software developers do not know best. We are not the definitive experts on what software systems to build. Simply building the software right is not enough. It has to be the right software. I see too many projects dominated by IT or R&D. It often starts innocently enough. The technologists come up […]
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 […]
30 Questions Proving That Scrum Is Harder Than It Looks
Many surveys have concluded that Scrum is the most widely used agile approach to software development. This makes sense because Scrum is easy to understand and simple to implement — or so it seems. The basics of Scrum are simple enough. We have three important roles: Scrum Master, Product Owner and Software Team. We have […]
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 […]
Software Defects Ruin Everything … and they bug me
Software developers often get a bad rap — and at times we deserve it. Even simple defects can ruin an otherwise good application. Here’s a real world example. It’s a true story. I received an email message from a retailer that I purchase from regularly. They are in the pet supplies business though I won’t […]
Unlock the Secrets and Pitfalls to Enterprise Agile Development
The Government Accountability Office (GAO) has released a fascinating (PDF) report called “Software Development – Effective Practices and Federal Challenges in Applying Agile Methods”. The title is a little long winded but the content is brief and direct. It’s worth reading. The GAO is part of the United States Congress. They audit and evaluate federal […]
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 […]
Legacy Systems Will Have to Be Replaced — What Are You Waiting For?
In my last post, “The Cost of Doing Nothing May Exceed the Cost of Changing”, I began to examine the topic of replacing outdated, legacy systems in enterprise environments. I’m not referring to upgrades or enhancements. This is about complete replacement. It’s a daunting prospect. I laid out two basic approaches: 1) Build a parallel […]
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. […]