Architecture implementation

The realisation of an architecture as a system, through development and deployment. This requires programme and project management organisations and processes. It uses tools (e.g. for source code management, unit testing load testing, regression testing, security testing, and compliance testing).

Software Development Life Cycle (SDLC)

A solution development process centered on software engineering. There are agile, iterative and waterfall variants.

Waterfall

A solution development process that is sequential. The sequence of stages is usually analysis, design, build, test and roll out. The idea is that engineers proceed from one kind of work to the next without significant iteration or parallelism between stages.

Iterative Development

A solution development process that proceeds by increments, meaning that a working subset of the full solution is delivered as early as possible. Not necessarily agile.

E.g. The Unified Process is a solution development process for object-oriented software. It is iterative, but not fully agile. It is loosely associated with UML. (RUP is a commercial variant embodied in CASE tools from IBM/Rational.)

Agile Development

A solution development process that is not only iterative, but also flexible about the requirements, the solution and the process being followed. The many varieties are characterised by short-cycle iterative development, early testing for usability and performance, and flexible requirements. User involvement and feedback is a mandatory prerequisite in agile development.

Transition

Once the architecture has been realised in the form of an operational system, that system is usually handed over to two organisations.

Transition into Operations. The production or run-time system is handed over to be run by some kind of managed operations organisation.

Transition into Maintenance: The design or compile-time system is handed over to be maintained and perhaps enhanced by some kind of maintenance organisation.

ISO9001

A standard in the ISO 9000 family for quality management systems; which includes:

·         a set of procedures that cover all key processes in the business;

·         monitoring processes to ensure they are effective;

·         keeping adequate records;

·         checking output for defects, with appropriate and corrective action where necessary;

·         regularly reviewing individual processes and the quality system itself for effectiveness; and facilitating continual improvement.