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 comprises end-user requirements capture and perhaps
some commercial product evaluation. We believe that proper architectural practices go
well beyond these project-centric traditions, which we consider to be isolationist when
used exclusively.
Instead, we would augment these practices with some additional procedures which we
have found to be effective, including architecture mining, architecture iteration, and
architectural judgment. In this chapter we define specific meanings for these phrases as
we explain their intelligence-gathering potential.
Architecture 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. Architecture mining is a conscious effort to eliminate the ignorance
of silence that characterizes many system developments.
Architecture 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.
Architecture Mining