Chapter Nine. Software Architecture: Intelligence Operations
Intelligence operations are knowledge-gathering procedures. Intelligence operations go beyond basic data collection (assembling uncorrelated information) to the point of collecting fully assimilated practical knowledge-knowledge that affects important architectural decisions.
Gathering knowledge is an essential element of being a software architect. Ordinary knowledge gathering for a project requires the capture of end-user requirements and perhaps the evaluation of some commercial product. Proper architectural practices go well beyond these project-centric traditions, which are isolationist when used exclusively.
Instead, these practices should be augmented with some additional procedures that have been found to be effective, including architectural mining, architectural iteration, and architectural judgment. This chapter defines specific meanings for these phrases and explains their intelligence-gathering potential.
Architectural mining is a practice that breaches classic intelligence barriers between projects. It can have an intelligence scope as large as an entire industry or as small as one company's systems. Architectural mining is a conscious effort to eliminate the ignorance of silence that characterizes many system developments.
Architectural iteration is a process focused upon a single architecture or specification. It tracks the architecture through its development and life cycle, improving quality through intelligence gathering on each project.
Architectural judgment is a process of decision making, based upon intelligence gathering. Making quality decisions is at the very heart of being an architect. In today's changing world of technology, it is increasingly difficult to make long-lasting judgments without a systematic process.
 |