Category: Process

Don’t Change a Development Approach That’s Working

Should your software development team follow a single approach for all projects? Or, should they select the best approach for the situation? I believe the answer is ‘…follow a single approach’. Here’s my reasoning. There’s a general philosophy that software projects facing significant risk factors benefit from agile approaches like Scrum, Kanban, Lean or XP. […]

Sooner or Later You’ll Need to Plan-Up

What’s better — producing a detailed project plan in advance or figuring it out as you go? It’s a bit of a trick question because the correct answer is neither. Here’s the reasoning. Let’s say that you could plan out every project detail before beginning to write any code. Let’s not worry about how long […]

Obstruction of Progress Should Be a Criminal Offense

The differences in how small companies and large enterprises operate is staggering. Small companies usually make decisions quickly — not because they’re smarter (believe me, they’re not) but simply because their processes are simpler. There are fewer people and systems involved. In a small company, the number of interconnections among people and systems is relatively […]

Software Metrics Stir Controversy and Confusion

Software project metrics are often controversial. The management team needs to measure the performance of the development team. The metric of choice is often a binary one — did they hit the target date or not. Good managers know that merely hitting dates is almost meaningless. What about quality, reliability, security, and the wow! factor? […]

No Excuses: Be Ready to Deliver What You Promised

Being without electrical power for half the weekend, got me thinking about project teams that run into unexpected obstacles. For example: Third party software components that don’t function as expected Software tools that prove to be insufficient for the tasks. Code modules that cannot perform intended functions as currently implemented. Servers or networks that cannot […]

To Deliver Quality Software, Do These Two Things

If your agile development team wants to deliver high-quality software applications, there are two things the team must do: Automate the regression testing effort Get real users involved in acceptance testing early (Okay, there are lots of other things as well, but let’s focus on these two.) Automate the regression testing effort Face it — […]

Even Simple Software Applications Can Be Complicated

If I asked you to write a simple software application to calculate loan payments and remaining balances over time, how would you approach it? Here are a few possibilities: Ask questions to clarify the requirements and document the answers before continuing. Write a formal requirements document and obtain sign off before continuing. Produce a user […]

10 Reasons Why Projects Cascade Into Chaos

Projects fail for many reasons. Sometimes it seems that the team can do everything right, or at least to the best of their ability, and failure occurs anyway. There is simply no way to guarantee success but there are some key indicators that can alert you to impending failure. 1. Lack of Sponsorship Executive sponsorship […]

Hate Scrum? Re-Define it!

I have a theme going this week on this blog. I’ve been touching on reasons why software developers dislike agile development and Scrum in particular. But wait there’s more! Some software engineers dislike having to deliver “production-ready” code at the end of each sprint. I can understand why. I often race through a code module […]

Solve The Delivery Problems That Plague Software Projects

Software projects are notoriously difficult to manage. Stories of projects delivered late, over-budget and/or defect-ridden abound. You have likely been involved in a few such projects yourself. Many trainers and coaches claim to offer a solution to software delivery problems. However, before diving into the latest project management fad, it’s important to understand the underlying […]

Scrum for One Can Be Done — Almost

I’ve touched upon some of the difficulties in expanding Scrum to very large projects. I don’t believe that the Scrum of Scrums approach really works. It helps solve the management problem but the system engineering problem is left untouched. Not good. That issue aside, I’ve been thinking about the opposite problem. Can a lone software […]

Scrum’s Sprints Are Not Mini-Waterfalls

Teams that have extensive waterfall development experience often encounter a common problem when they adopt an agile approach like Scrum. The problem results from applying waterfall development to every sprint. The result is a project consisting of a series of mini-waterfalls. For example, let’s say the team selects 4-week sprints. It feels quite natural for […]

Projects in Trouble Tend to Stay in Trouble

Here’s the dilemma: Your Scrum team is nearing the end of a Sprint or a release cycle and they have experienced some unforeseen problems. Completing all the planned items appears unlikely. The final build will be deployed for end-user testing so there will be plenty of attention and feedback. You’re left with two choices: Rush […]

If You Can’t Measure It, You Can’t Be Agile

Applying metrics to agile projects is a controversial topic. Much of the controversy stems from the nature of agile development. Agile approaches are intended to be flexible and responsive. Metrics seem to imply rigid goals and expectations. Fortunately, that does not have to be the case. Metrics can be valuable tools as long as they […]

Don’t Just Try Something New, Embrace it

I’ve helped many clients, prospects and coworkers solve difficult problems over the years. Often the contact person articulates a problem. I ask open-ended questions to draw out more information. After some back and forth, I offer a concept or two that might help. Sometimes, the response is along the lines of “We tried that and […]