Why technical user stories are bad

You might sometimes come across “technical user stories” when doing agile software development. These are generally a bad idea and should be avoided where possible. This article will explain what technical user stories are, and why technical user stories are bad. It will also cover the rare situations when you need to use them. What […]

Continue reading

The strengths of Scrum

  OK so you might think after the last post, that I’m against Scrum and I think it’s worthless. Not true at all. I use it a lot and have a lot of respect for it. There are definitely some strengths of scrum for software development. I just think it’s worth being aware of its weaknesses. […]

Continue reading

The problems with Scrum

You might be wondering why everyone talks about Scrum so much. Often when I write about Agile on this blog, I’m pretty much talking about Scrum. It is the most widely used and known methodology for Agile software development in the world. Remember, Agile is not a methodology, it is a set of values and principles. […]

Continue reading

Agile is technology agnostic

Have you wondered what type of languages or technologies you should use when doing Agile software development? This article will help clear that up. The answer is a lot simpler than you might think! It turns out that in fact, agile is technology agnostic. What language / design approach is best for agile? I’ve seen some […]

Continue reading

Deploy is not the same as release

A lot of people think it’s risky to deploy software. Some of these people lose sleep over deploying software. A lot of people have jobs based around deploying software, and for them others they work with, it is a big deal. It involves a lot of something people call “technical risk management”. That’s just a […]

Continue reading

When to use Agile vs Waterfall

If you read this blog, you probably think that I really love Agile, and really hate Waterfall. Well, that’s not true. I think Agile (when done well, which it often isn’t) is a good methodology for some contexts. More specifically, agile is a good methodology for building software under conditions of uncertainty. If you are not […]

Continue reading

Uncertainty of benefits versus costs

I think a lot about estimation. I used to do a lot of estimation with my teams. When the organisation I’m currently working for started doing agile, we did loads of estimation. We were constantly being asked for estimates. High level estimates, low level estimates, feature level estimates, story level estimates. We would spend a […]

Continue reading

The difference between Agile and DevOps

DevOps is one of the hot topics at the moment, and is well on its way up the hype cycle curve. Some are even saying it replaces Agile, thus spelling the end of Agile software development. That isn’t true, though if you’re interested in agile, you should start learning about DevOps. Why? Because although it […]

Continue reading

Myths of agile: “Agile is dead”

This is the last of the agile myths I’ll be covering, and it is the most controversial. There have been many articles published, for quite some time, claiming that agile is dead. I think these articles are actually claiming different things. Some of those things are right, but many of them are wrong, and many […]

Continue reading

Myths of agile: “Agile is just micromanagement”

I’ve seen quite a few “Agile sucks” and “Agile is dead” posts making the rounds lately. They get trotted out every year or so and spark some lively but uninteresting debate. Most of these are just clickbait and are not worth discussing. But some are sadder, and tell depressing stories of “agile” projects dominated by micro-management, that […]

Continue reading