Friday, May 16, 2008
Twisting the meaning of architecture
In the halls of large enterprises, the word architecture is the most overused twisted word in the vocabulary of IT today...
Architecture is the most overused word in software engineering today. Analysis and Design are close on its heels. Depending on whom you believe, it is:
Enterprise Architects need to abusing the word Agile and need to start practicing it. Agile methods for software development such as Extreme Programming set an excellent precedent by not talking about architecture, design or analysis, but talking about concrete activities with unique names appropriate only to themselves. If someone chooses to interpret an XP activity as architecture, or design, or analysis, or hog-calling, this person isn't doing XP or Scrum - they're bullshitting. Is this activity like that activity? These folks usually haven't recognized that such activities that are supposed to provide clarity, in fact are evidence that distillation is a mental disorder. Frankly, so long as each activity is understood well enough for it to be conducted efficiently, it simply doesn't matter. It's just bullshit...
| | View blog reactionsArchitecture is the most overused word in software engineering today. Analysis and Design are close on its heels. Depending on whom you believe, it is:
- the same thing as design
- the bare bones of design - what Agilists refers to as a System Metaphor
- the tools and libraries used to build something: The Microsoft crowd calls DNA an architecture
- a set of patterns from which design elements derive
- a data model, sans behavior
- behavioral interfaces, sans data dependencies
- a list of the application's processes and how they communicate
- the packaging/layering/modularization of the main work product
- the hardware, what processes run on what hardware, and how the hardware is connected
- methodology, standards, process, and heaven help us a CMM
- any combination of the above, and also the address of a good therapist
Enterprise Architects need to abusing the word Agile and need to start practicing it. Agile methods for software development such as Extreme Programming set an excellent precedent by not talking about architecture, design or analysis, but talking about concrete activities with unique names appropriate only to themselves. If someone chooses to interpret an XP activity as architecture, or design, or analysis, or hog-calling, this person isn't doing XP or Scrum - they're bullshitting. Is this activity like that activity? These folks usually haven't recognized that such activities that are supposed to provide clarity, in fact are evidence that distillation is a mental disorder. Frankly, so long as each activity is understood well enough for it to be conducted efficiently, it simply doesn't matter. It's just bullshit...