Sunday, August 17, 2014

Artistic Intent

Are you curious about what all these "ethos" posts are about, and what they have to do with designing a software system? Well like most of life's endeavors, the world is interrelated: how you comport your personal life greatly influences the results you may achieve professionally. Since people "see through" the fascia you construct, they are more concerned with the actual results of your efforts.

Work is the movement of stuff with intent and purpose; the more you ground yourself in higher principles, the better your guiderails constrain your movement. Resolving the ethos of software design usually distills to this: who do you ultimately answer to? Your supervisors may impose deadlines, restrictions, or duties that compromise your prime directives or disturb the balance between businesses interest groups. Do you follow their guidance or instead march to your own drummer?

Viewed from this level the project you are working on becomes an artifact of how you manage the relationships between all of the interested business parties. You don't constrain these relations by confining them to little boxes that you drive around the tabletop. Rather you retain these concepts in your head in the midst of your meetings and decisions: the impact of your ethos is more effective if you allow the parties to divine your intent, rather than explaining it directly.

Isn't there a lot more to analysis, like gathering and negotiating requirements, maybe a bit of competitive analysis, wireframe prototypes, and perhaps some development platform and tool reviews? Yeah sure you get to do that too, but those tasks happen within the mundane auspices of your day to day work. They occur more on the "material" plane and less on the "mental" plane. Managing your ethos however is the full metal jacket.