Category Archives: Software Engineering

Rock star agile developers

Rock star agile developers. We are all talking about them. But are they truly out there? Studies show that developer productivity falls into a wide range. An average run-of-the mill developer has a productivity of 1. A great programmer might be a 10. A poor programmer might be a -1. Yes, that’s right: put an… Read More »

Software Development Success

Software development success is organization dependent. Which organizations are successful in developing and delivering software? Which projects will be successful? That is a crucial question in an industry with an annual turnover of over 400 billion USD and only a 50% success rate. Is it enough to be agile or is there something else needed?… Read More »

Agile projects requirements breakdown structure

In Agile projects, when a set of requirements are received from Clients, it may consist of (a mix of) A few needs, objectives, goals and some partial stories (even though it would have come in a structured document). Re-organizing (re-arranging) those into a requirements breakdown structure (RBS) helps ask right questions to client to come out with… Read More »

Change is the only constant in agile

How much change can a project withstand before it is too much? A requirements change rate of above 20% is probably too much . Typical rules of thumb figures for software development requirements change rate is cited as 1-3% . But the rate of change is accelerating. In 2002, 10% was not uncommon . How… Read More »

Software Effort Estimation Problems

Software effort estimation is an important part of the daily lives of many software professionals. I have joined the #noestimates debate on Twitter because there is a lot to learn from a discussion on estimates. I’m not ready to fully abandon estimates but I am interested in discussing where, when and how to apply them… Read More »

Agile Community of Practice

I’m a strong believer in learning by doing. I also believe that learning will be better when supported by an agile community of practice (CoP). Communities of practice allow self-selected members to develop their “capabilities, build and exchange knowledge”. In my professional life, I am involved in several communities including larger associations such as IEEE… Read More »

Evidence Based Software Engineering

Is it possible to do controlled process experiments in software? That was the question asked in the Kanbandev group over at Yahoo groups. We need evidence to support the practices we use in software development. After all we are talking about a serious business with an annual value of about 500 TUSD.

How detailled should a test case be?

I sort of remembered a very interesting article about one-liner test cases at I have blogged about it before, but perhaps it is worth repeating myself? The idea is that detailled (manual, scripted) test cases are uninteresting, limit creativity and are expensive to maintain. The solution is to create “one liner” test cases instead.… Read More »

TDD Improves Quality

TDD improves quality! That might sound obvious, but evidently it isn’t. Test driven development (TDD) is often cited as a key agile practice (1,2). But still, the evidence has been equivocal until now.

Regression Test Selection Twenty Years

Last year Regression Test Selection celebrated its twentieth year as a field of research. It was in 1993 that G Rothermel and MJ Harrold published their seminal paper on regression test selection. With Continuous Integration being the top agile practice, RTS remains important. How did scholars celebrate “regression test selection twenty years”?