Dangerous Process Anomalies We Often Overlook


The most dangerous causes of failure come from sources we often  neglect!

Sometimes they’re so subtle and malicious that they spread their harm without being caught  in action, or in the right time. In other cases we do notice them, but they look so innocent that we think of them as good practices, even. In this article I discuss two of these sources of failure or, at  least,  scanty behavior, that I’ve in many practices seen going unnoticed by development teams, and even causing side effects repeatedly without stop. So, let’s know them and  see how we can stop them from degrading our teams’ performance . Here they are:

  • Mixing The Goals with the means
  • The Shallow Success Phenomena

I will discuss these anomalies in two articles. In this first one, let’s delve into  that on top of the of the two: Mixing Goals with Means.

The Goals and The Means, Defined

Let’s first start by building a unified and clear mental image for what we will be talking about: Goals and Means.

Any development process, like any other process actually,  starts at defining some clear Goal(s) to achieve. Keeping   focused on these goals all along the workflow is a prerequisite for reaching them, which is in other words called Success. Our high level goals in development extend to embrace the customer as a well as the provider who is us. On  the customer side,  goals would include things like: an overall customer satisfaction (delight in contemporary wording of today) with a tangible ROI for the customer’s  project. On our side, the provider’s side, we are never less  sharply  aimed  at a good ROI for our own business, but also some of  us, especially those who claim to be human capital oriented, would include people-oriented  goals like better learning opportunities for their teams and deepening the employee-employer loyalty (not employee alone) through common success. These examples are a bit of abstract  nature, so you are  free to add yours.

On the other side of the story, lies the Means. This is all what we do  to reach  our goals, whatever we choose them to be. In our case, that starts with the kind of process, or methodology, we select for our development, passing through all the  practices and techniques we use to gather and define requirements, develop a clear picture about them that is understandable by all stakeholders in the project, lay down an architecture and a design, implement and test all that in coding (or packaged software product components)  till finally we deploy some development outcome that makes the Goals a reality. This  can happen sequentially (i.e.  in waterfall fashion) , or in a parallel incremental (i.e. agile)  fashion, that’s your choice, but in all cases we have goals to reach, and means to make that possible.