Objectives, Proclaimed vs Practised

Objectives, Proclaimed vs Practised

Tl; Dr: Most organisations do software development not for the outputs, but to satisfy the members of the core group, whose needs are pretty much entirely disconnected from both software quality and the evolution of an effective development organisation.

Mistaken Beliefs

“Discrepancies between objective proclaimed and objective practiced can be observed in most organizations. For example, one could mistakenly believe that the principal objective of universities is to educate students. What a myth! The principal objective of a university is to provide job security and increase the standard of living and quality of life of those members of the faculty and administration who make the critical decisions. Teaching is a price faculty members must pay to share in the benefits provided. Like any price, they try to minimize it. Note that the more senior and politically powerful teaching members of the faculty are, the less teaching they do.”

~ Russell L. Ackoff

So To Software Development

One could mistakenly believe that the principle objective of e.g. software houses and other software-producing organisations is “working software”. What a myth! The principle objective of such businesses is to provide job security and increase the standard of living, positive self-image and quality of life of those in the core group of these organisations, and provide sufficient (read: minimum) income, entertainment and other such “attractions” necessary to retain the continued attendance of the rest of the workforce. “Frontline” work such as coding, testing, designing, decision-making, etc. is a price core group members must occasionally pay to share in the benefits provided. Like any price, they try to minimise it. Note that the more senior and politically powerful the core group member, the less frontline work they do.

The Core Reason For Lameness

Here we have one answer to the question “Why are software products generally so lame?”. Note: we could also phrase this as “why does the practice of software development generally result in outputs (software, products) with such limited positive impacts (outcomes) for anyone but members of the core group?”. Or more bluntly: “Why does no one ever seem to care that we’re just continually churning out crap?”.

Just like universities, where the positive outcomes for students are more or less limited to a handy, albeit increasingly expensive qualification, in software development positive outcomes for customers and workers are more or less in the lap of the Gods (or the members of the core group, which we may choose to regards as synonymous).

– Bob

Further Reading

Who Really Matters ~ Art Kleiner

3 comments
  1. edster said:

    Udi Dahan put it really well:
    “If the organization around you is dysfunctional, be smart – don’t try to be right. Solving the right business problem is the right thing to do, but often it’s not smart thing to do. If you don’t like having to deal with this kind of organizational politics, you had better find yourself a different organization – otherwise, you had better be smart.”
    http://www.udidahan.com/2014/04/19/noestimates-really/

    I must remember to be smart(er)!

  2. Thanks for sharing, Bob. This is particularly relevant when considering organisational change to enable better practices such as Continuous Delivery, DevOps, etc. or just software with better operability in general (taking into account Conway’s Law). If members of the Core team have financial incentives to (say) maximize the number of user-facing ‘features’ or minimize the amount of change in Production, initiatives to improve the software are arguably doomed.

Leave a comment