Posted on Sun 11 June 2017

towards a sustainable software policy

Definitions:

  • A policy is an organization’s stated objectives and methods for accomplishing a goal.

  • Sustainable means a model of a system that easily fits into a person’s head and can be used as an accurate prediction of how another person accomplished a goal.

So a sustainable software policy is a set of objectives and methods for accomplishing software lifecycle management that can be easily documented, understood, and consistently applied with a minimum of surprise.

I find it most desirable to reduce cognitive burdens and risks of manual error by automating every policy mechanism that can be so automated. That means that once a human decides what a machine is supposed to do, properly stating and committing that decision causes the rest of the setup, configuration and expected process execution to take place.

(See A Musical Analogy, in particular “Systems administration is conducting an orchestra of computers.”)

In that analogy, programs are musical scores; computers are players; classic ‘hands on’ systems administrators are composers; devops is choreography for automated systems administrators. A software policy, then, addresses the way that we write that choreography. Once you know the policy, you can figure out how the choreography for a particular symphony should go. Because this is moving towards engineering rather than towards art, it is possible and desirable to critique the choreography on how close it comes to being a consonant expression of the policy as well as the fundamental criterion of how well the system accomplishes the goals.

That is, quality matters.

to be continued…


© -dsr-. Send feedback or comments via email — by continuing to use this site you agree to certain terms and conditions.

Built using Pelican. Derived from the svbhack theme by Giulio Fidente on github.