Author Archives: John

About John

John Peterson has been creating and managing the creation of software for his entire professional life. During that time, he's been through many projects large and small, worked with a wide variety of people on a wide variety of technologies, made a lot of mistakes, and learned a lot in the process. The intention of this blog is to pass along the wisdom he has accumulated in the creation of software to those who may be earlier in their path of experience.

The Power of Planning Ahead

Why do things go wrong? Is it inevitable? To some degree it is, but I think the likelihood, frequency, severity and impact of adverse events can be minimized by several key practices, one of which is planning ahead. Continue reading

Posted in Execution, Why Things Go Wrong | Leave a comment

A Leadership Philosophy

I think it is critically important for every good leader to have a core set of beliefs about how they go about being a leader – a leadership philosophy.  Having an explicit philosophy provides consistency and purpose to the direction … Continue reading

Posted in Leadership | Leave a comment

Everyone Doing Their Job

If every employee in our company did their job (as defined in their job description, most recent performance doc, or whatever), would that make us successful as a company? Of course it would – well, at least in theory. That’s … Continue reading

Posted in Execution | Leave a comment

Complimentary Power

It has been a few years now since I read First, Break All the Rules, but I remember it as one of those books that made an impression on me when I first read it, so I recently picked it … Continue reading

Posted in Leadership, People | Leave a comment

Ability to Deliver

This is what software development is all about.  So simple in concept, yet seemingly so hard to accomplish. A development organization that can’t deliver what’s needed is a wasteful expense, not to mention a generator of false hope for those … Continue reading

Posted in Execution, Process | Leave a comment

Quality Part 2: Cleaning Up as You Go

Years ago I had an epiphany that has stuck with me to this day. When I went away to grad school, I finally got an apartment of my own and thus had to cook my own meals (this was before … Continue reading

Posted in Agile, Process, Quality | Leave a comment

Quality Is Not The QA Group’s Responsibility

Whenever an angry customer complains about a product defect, someone is sure to ask “Why didn’t QA find it?”   That’s a logical question based on the assumption that every product has a QA group whose job it is to create … Continue reading

Posted in Process, Quality | Leave a comment


The more handoffs that are required by a process or organization to do its business, the less effective that process or organization is.  Said another way, there is an inverse correlation between handoffs and high performance. I think I first … Continue reading

Posted in Execution, Process | Leave a comment

Adding (or Subtracting) Energy

Do you add energy to the organization, or do you absorb energy from it?  Or maybe you don’t do either one. I started my blog a long time ago with the intention of focusing primarily on leadership, but most of my … Continue reading

Posted in Leadership | Leave a comment

Is Software Development Fun?

This is a question that I really hadn’t thought about explicitly until I came across it in a book recently.  While it might seem to be a trivial or even irrelevant question at first, it takes on greater meaning when … Continue reading

Posted in People | Leave a comment