Posts

Showing posts from October, 2006

Wiki for a software architecture document

Wikipedia has revolutionized the way information is generated, edited, and made accessible to various Internet audiences. Wikipedia, a publicly edited encyclopedia, is based on a concept of wiki where any user can edit any information at any time. This ad hoc approach sounds like a bad idea, but it may be useful for designing and documenting software architecture – democratically. The primary goal of the wiki solution is to make the system’s software architecture document a living document so that it can accessed and used effectively by all system stakeholders.

Compared with the industry’s “standard” approach to documenting software architectures (advanced word processor [MS Word], drawing software [Visio], and source control [CVS]) the wiki approach provides the following benefits. The document is accessible via any web browser, transclusion allows for repetition of information defined earlier in a document, source control and mechanism for merging & discussing changes are built-…

Deployment view: documenting the essence of the target environment

Sufficiently documenting software design, including source code, is essential. But sufficiently documenting fundamental software architecture views is critical. There are many views to consider during design and analysis of a system. This time a basic deployment view is discussed.A simplified deployment view is a high level tangible mapping between system elements (e.g. messaging queue) and physical hardware spread across network topography. One of SoftwareArchitectures.com colleagues, PJ, observed the following situation at his current client engagement. The task of overseeing the deployment of a significant iterative release into the test environment was assigned to the associate architect of a system. The client’s environment features institutionalized configuration management policies that can be circumvented when pushed, but the deployment manager has no access the system directly. The test environment administrator, who physically controls the test environment, is only available…

This blog: what's in it for you?

The motive behind this blog is to expose the human aspects of the software architecture discipline and how they fit into the overall software development process. Due to purposeful omission of technology specific details the blog targets programmers, developers, project managers, students, interns, junior and seasoned software architects alike.

Some of the observations and conclusions may seem obvious and familiar as they have been documented in classical software engineering books such as Fred P. Brooks’s The Mythical Man-Month: Essays on Software Engineering, Roger S. Pressman’s Software Engineering: A Practitioner’s Approach, and Ian Sommerville’s Software Engineering. Further, some of the problems & solutions may not seem to be architectural in nature at all. That’s precisely the point. The goal of the prose is to expose the obvious and to prod the reader to ask oneself if a given scenario or a point of view is applicable to own situation. If just one reader sees personal valu…

What is firebrand?

DESCRIPTION OF THE FIREBRAND“The firebrand is the person who recognizes what is natural, what is organic, what is alive and vital in life, the person who dares to live, to be, and to create, often in the face of interference, rejection, deceit, and betrayal. The firebrand is a burning ember, life that is in each of us and that provides the spark and energy to speak against what distorts, hides, and denies our being and truth. It is that which awakens within us, when we must declare our independence or when we discover a new formula for living. It is the path that enables us to participate in the mystery of creation, uniquely and individually. The firebrand expresses her- or himself in two basic ways: as the torch that lights up the darkness, and the as the carrier of the torch, throwing light into the darkness, and often disturbing complacency and brewing trouble. Being a firebrand is a way of raising temperatures and creating conflict, turbulence, and dissension.The motive of the fir…