Software Development In A Nutshell


Harrison Ainsworth

Software development is the form of enterprise or endeavour that builds software. It mainly comprises sub-disciplines of software architecture and software engineering.

Software architecture is the recognition, creation, and articulation of logical structure in human activity. It is ‘what’ to do.

Software engineering is the assembly of data objects and processes by understanding their properties. It is ‘how’ to do it.

There is also the sub-discipline of software project management. But software construction is absorbed into software engineering.

This is an attempt at a minimal ‘well-founded’ or ‘historically-informed’ conception of software development: it is modelled on the building industry, replacing physical material with digital. Adapting what has worked before is the best base for progress. And a clear conception is the best base for organised activity – especially with software, in which clear thinking is the core.