Tag Archives: agile

Excessive Branch Use Causes Technical Debt and Increases Risk of Bugs

Agile practitioners already know that technical debt is that accumulation of unfinished work can cause projects to be late late late.  Building up a lot of technical debt is a problem because the debt needs to be payed before you can ship.  One way that debt can be accumulated is by profligate use of branches.  Avoid that at all costs! Read the rest of this entry »

1 Comment

Posted by on December 16, 2017 in Coding, Design, practice


Tags: , , , , ,

Incremental Development

I happened across this excellent and perfect depiction of incremental development.  The image addresses on of the key flaws in thinking that lead some agile projects to fail.  So let’s discuss a bit. Read the rest of this entry »

1 Comment

Posted by on February 19, 2016 in Coding, Design


Tags: , , , ,

Estimations – the eternal software problem

This post argues “Why We Should Stop Estimating” completely in software projects. It is very problematic. Read the rest of this entry »

Leave a comment

Posted by on October 3, 2014 in practice


Tags: , ,

26 Hints for Agile Software Development

I collect nuggets of wisdom on various topics. Recently I have been going over the topic of Agile software development; what really matters?  Below is a list of 26 key principles to guide an agile software development team. Read the rest of this entry »

Leave a comment

Posted by on February 22, 2013 in practice


Tags: ,

Don’t Suffer Poor Names

You know the problem: you write a method for one purpose and give it a name.  Later, it become useful for something else, or maybe you change it slightly to accommodate another use, or maybe some names change elsewhere making the current name obsolete.  You have all seen code where someone says that the name “is historical” or traditional.  This post is to say with conviction that that history is NOT interesting, and get rid of it.  Get a good IDE and change those names to be correct. Read the rest of this entry »

Leave a comment

Posted by on February 12, 2013 in Coding


Tags: , , , ,

We don’t need Programmers … we only need Designers

Today’s post is a reflection on a classic misunderstanding often made by people who don’t understand how software is produced.  This misunderstanding can be particularly harmful when held by management making decisions on team structure.  The full quote is: “We don’t need any programmers here.  There are plenty of programmers in India.  Here, we just need people who can tell programmers what to do.”  Let me explain why this is a classic management mistake. Read the rest of this entry »

1 Comment

Posted by on November 1, 2012 in Design, practice


Tags: , ,

Partial Agile: No Such Thing

On several occasions in the past, I have heard software engineering management suggest that they would like to “try” an Agile approach by implementing it in part of a project.  For example one feature, a couple of team members, would work in an Agile approach, while the rest of the team works with a waterfall model.  Another manager told me they were using Agile, but instead of time-based Agile, they were doing feature-by-feature Agile which involved the normal 3 to 6 month time cycle. Read the rest of this entry »


Posted by on May 8, 2012 in practice


Tags: , ,