Month: April 2012

Simple Math Doesn’t Work in Software Development

If building a particular software system is scheduled to take 5 engineers, 6 months, then simple math says that 10 engineers can build the same system in 3 months. (That’s twice the number of engineers and half the time.) Okay, okay. I know. Some additional communication overhead will be introduced by adding people to the […]

The Peter Principle Is Real But Agile Techniques Can Beat It

What causes the “Peter Principle” to rise up and ruin someone’s career? According to the principle, named after Dr. Laurence Peter, “In a hierarchically structured administration, people tend to be promoted up to their level of incompetence”. That’s a scathing comment. It is often repeated and there are many examples of people who get promoted […]

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

Technical-Debt-Driven Development: If It Works, It Ships!

Technical-Debt-Driven Development (TDDD) is about to become the hottest craze. Here’s how it works. The software development team doesn’t waste time thinking about solution elegance or future considerations. They simply focus on getting the code working. If it works, it ships. Technical debt is leveraged as a means of accelerating the team’s efforts just as […]

Learn to Say No More Often and Focus Instead

Saying ‘No’ can make agile software teams and their companies more successful. How can that be? Doesn’t the team have to deliver what the business wants? Let me explain. Obviously, when a business stakeholder makes a request, the team has an obligation to evaluate the request and add it to the product backlog after appropriate […]

Scrum Doesn’t Scale. It Morphs.

Scrum doesn’t scale, at least not easily. In fact, waterfall doesn’t scale either. It degenerates into a phases and gates approach that guarantees bottlenecks and delays. Realistically, you can’t expect a large enterprise to develop software the same way a small organization does. In a large enterprise, there are many concurrent, overlapping projects. Managing integration […]