On the surface, it would seem like a detail, but many people are passionate about whether code should be commented on or not

Cat sleeping with its head on laptop keyboard
Cat sleeping with its head on laptop keyboard
Does writing code comments sometimes feel like a drag? Source: IRCat on Pixabay

Do you like writing comments in code? Or are you against them? There is no definitive, easy answer to this question. Along with the equally perplexing question of where is the best location for braces in code, we will probably never find a permanent and definitive answer. But my experience has been that many people just pick one side and stick to that. In this article, I’d like to consider both sides of the debate.

Readability Is Not Always Paramount

Before we get into the debate, I want to digress and talk about readability for a moment. Ease of readability is not a universal desire…


Even as a skeptic, I have to admit that Scrum does contain some very good elements. Let’s see what those are…

A red light bulb illuminated above a sign reading “good records”
A red light bulb illuminated above a sign reading “good records”
Wouldn’t it be easy if only the good parts had a clear sign and light over them? Photo by gotafli on Unsplash

In “Javascript: The Good Parts” (2008), Douglas Crockford writes:

JavaScript is a language with more than its share of bad parts… Fortunately, JavaScript has some extraordinarily good parts. In JavaScript, there is a beautiful, elegant, highly expressive language that is buried under a steaming pile of good intentions and blunders.

[We] will focus on the good parts with occasional warnings to avoid the bad. The subset that will be described here can be used to construct reliable, readable programs.
— p1–2

If you had suggested to me just a few months ago that I would be writing an article in…


The term is used everywhere, but what does it actually mean?

Top down view of a vintage spiral staircase
Top down view of a vintage spiral staircase
An Agile framework: round and round it goes; where it stops nobody knows! | Photo by Won Young Park on Unsplash

“Agile Framework” must be one the most overused but poorly understood terms in the Agile universe. Most of the time, it’s just dropped into a conversation or training course with an assumption that everyone will already know what it means. After seeing so many people struggle with this term over and over again, I started asking just what is an Agile Framework anyway?

Searching for an Industry Definition

The first obvious thing to do is to search online. Doing so yields these gems:

Agile is an umbrella term for several iterative and incremental software development approaches, with each of those variations being its own Agile…


Do you ever feel like it takes an eternity for your code to be reviewed, and by the time it does get reviewed the code base has already moved on? Let’s explore how we might narrow that gap.

Canyon with shafts of light penetrating to the floor
Canyon with shafts of light penetrating to the floor
Sometimes it can feel like there’s a chasm between a code commit and its eventual review | Photo by Madhu Shesharam on Unsplash

One of my frustrations as a developer is waiting for what can seem like forever to get my code reviewed and integrated into the build. I’ve heard many of my colleagues complain about the same issue too. Sometimes we have to chase people to review our code in order to authorize the merge, and other times the roles are reversed and we find ourselves being chased by those same people! Delayed code reviews hold up everything else down the line, such as acceptance testing, deployment and realization of value.

So how could we make code reviews more timely? Let’s look…


Have you ever asked the question “who trains Agile leaders?” Moreover, have you ever found a sufficient answer?

An office meeting with a dog sitting on a chair at the head of the table.
An office meeting with a dog sitting on a chair at the head of the table.
This team has gone to the dogs! | Photo by Drew Hays on Unsplash

People can use the terms “leadership” and “management” interchangeably; other times they mean slightly different things. Leaders typically paint a vision and enlist followers to believe it in, whilst managers typically work to implement that vision. For example, politicians are leaders, while bureaucrats are managers.

In this article, I will lump both leadership and management into one big category meaning “whomever is in charge.”

But before we begin, here are a few questions for you:

  • How is management supposed to work with Agile?
  • Who trains management how to work with Agile?
  • What do you teach them?
  • Does management or leadership…

If you’ve struggled in the past to relate a lofty, aspirational Product Vision to your day-to-day work, this layered architecture may help you to connect the dots.

A four layer cake decorated with stars, with a wedge cut out to show the actual layers.
A four layer cake decorated with stars, with a wedge cut out to show the actual layers.
Want to have your cake and eat it too when it comes to Product Vision versus daily work? Photo by Annie Spratt on Unsplash

Over the years I’ve seen many approaches for working out product focus. Some are relatively simple, like OKRs; others are quite convoluted. Some talk about lofty ambitions to be the “best in the world”; and others focus exclusively on just the work immediately before us. Whilst they all have their merits, none have been able to connect the dots for me between the overall big picture and the minutiae of everyday work. …


This once-common tool of planning can still help us in the age of Agile projects, if we learn it’s secrets.

The impossible triangle fashioned into a sculpture in stainless steel
The impossible triangle fashioned into a sculpture in stainless steel
The “Impossible Triangle” is made possible at last! Source

Long before Agile, the Iron Triangle — a.k.a. the Project Management Triangle — was a cornerstone of project management. Its origins remain unclear, but it has been used since the 1950s (Wikipedia). It was once a very useful tool to understand the trade-offs involved in delivering a project, and I’ve been wondering whether we can capture it’s embodied wisdom again.

What is the Iron Triangle?


User stories aren’t a noun, they are a verb.

Two cheetahs sitting opposite each other in a field, appearing like they are having a conversation.
Two cheetahs sitting opposite each other in a field, appearing like they are having a conversation.
Want to hear a good story? It takes time, but we’re in no rush… | Photo by Yolande Conradie on Unsplash

In Part 1 we saw that reductionist User Story Templates of the form “as a user I want some action so that I can receive some benefit” both fails to adequately convey a deep understanding of the customer’s problem, and prematurely jumps to a solution. We proposed a set of long-form questions to ask in order to get a deeper, richer understanding of the underlying problem. We left the article postulating that it must be a lot of work to gather all the information required to answer such questions. (Spoiler: we were right!) Let’s continue…

A User Story is a Process, Not an Object

Such a detailed user story…


Have you ever had that problem where someone hands you a terse User Story, and you think “I have no idea what that means?!” (Part 1 of 2)

Cat lying next to story books and yawning.
Cat lying next to story books and yawning.
In the mood for a good story? Photo by Dave Francis on Unsplash

Over the years, I’ve been on the receiving end of many terse User Stories, and I’ve often thought to myself “I have absolutely no idea what this means!” At first I thought that these User Stories were just poorly written. But as I saw more and more of them, I started to get the sense that maybe the User Story Template itself was the problem.

To recap, a typical User Story Template looks like this:

As a <type of user>, I want to <perform some task>, so that I can <achieve some goal>

A few examples might be:

  • “As a…

The method you choose may be based more on your experience and skills than anything else.

Two kangaroos dancing in the field. Photo by David Clode on Unsplash
Two kangaroos dancing in the field. Photo by David Clode on Unsplash
Photo by David Clode on Unsplash

The choice between Agile, Lean and Design Thinking can be confusing. There are many articles that dive deep into the weeds of each, describing them in painstaking detail, but not giving much practical advice about which one to choose and when. This is not one of those articles. Instead, I want to look at the bigger picture to help you make a call on this common dilemma. To that end, I will not describe any of the three processes in great depth, but rather direct you to any of the many existing articles freely available.

With that said, let’s get…

Raj Nagappan

Founder & CEO, PhD, software engineer, author. Helping teams to craft better products that customers love. Connect at linkedin.com/in/rajnagappan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store