2.5 FortressAllyResponsibility Cards


2.5 Fortress“Ally“Responsibility Cards

Sometimes all the labeled drawbridges and fortresses in a TAD can seem daunting. You may feel that you just want to hold a treaty in the palm of your hand, literally. That is the time for fortress“ally“responsibility (FAR) cards . FAR cards are a way of boiling down the fortress relationships to the most essential details.

FAR cards are an adaptation of a design technique called class responsibility collaborator (CRC) cards . CRC cards were first described at an OOPSLA (Object-Oriented Programming, Systems, Languages, and Applications) conference by Ward Cunningham and Kent Beck in 1989, and they became popularized most notably by Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener in their book Designing Object-Oriented Software (1990, Prentice Hall). CRC cards, though more than a decade old, have aged gracefully. I have used them in my past life as an object-oriented designer; as a fortress architect, I find that their adaptation as FAR cards works equally well.

FAR cards are even more low-tech than whiteboards . They use only two pieces of hardware: 3x5 cards and pencils. If you're unfamiliar with this particular hardware combination, think of a 3x5 card as a small computer monitor and a pencil as a keyboard. I have noticed two significant advantages of 3x5 cards over monitors : (1) They are small (3 inches by 5 inches, coincidentally). (2) They seem to have an amazingly long battery life. In fact, I have never seen a 3x5 card run out of power, even after years of storage.

A given FAR card tells us three things about a fortress:

  1. The name and type of the fortress

  2. The responsibilities of the fortress

  3. The allies with which the fortress must collaborate to fulfill its responsibilities

Figure 2.6 shows a prototype of a FAR card; Figure 2.7, an example. The top region of the FAR card tells the name and type of the fortress (in pseudo-UML syntax). One line for each major responsibility of that fortress follows . To the right of the responsibility block is the ally block, where all the allies that this fortress must rely on to fulfill its responsibilities are listed. Responsibilities are grouped by ally, and double lines separate ally blocks.

Figure 2.6. Prototype of a FAR Card

Figure 2.7. A Sample FAR Card

A FAR card provides a good overview of a particular fortress and its allies. FAR cards are particularly useful for helping fortress architects remember what commitments they have made to others.



Software Fortresses. Modeling Enterprise Architectures
Software Fortresses: Modeling Enterprise Architectures
ISBN: 0321166086
EAN: 2147483647
Year: 2003
Pages: 114

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net