‘Getting Things Done’ and software architecture


Harrison Ainsworth

There is an interesting characteristic of ‘Getting Things Done’: it seems algorithmic, computational.

‘Getting Things Done’ is substantially a work of ‘logical architecture’. Real, building, architecture is about reflecting and creating physical structure in human activity, and logical architecture is about reflecting and creating logical structure in human activity. This is what GTD does: it distills and defines a logical structure, a system of discrete actions and things that people can use.

This is what software development, at its broadest and most abstract, is about. It is supporting and automating human activity that can be captured digitally. This has many levels and varieties: from listening to music (the experience – sound – is digitisable), or playing games (the behaviour is structured), to editing a wiki (the obvious logical relations of collaborative knowledge recording), etc. . . .

Where GTD is more derived from and arranged for a psychological and social substrate, software architecture is more seated in computational means.

If we want a good definition of ‘software architecture’ – one that is substantial, distinctive, and based on established meaning – then here is the main part of it. It is designing human-digital structure – something that fits both human and computer, in a unified form. Add to that overseeing the project to develop it, and a there is the complete idea.