Enterprise Architecture groups often get separated from
day to day development. This can lead to their knowledge of
development work getting out of date and development teams not
taking a broad company-wide perspective. Having seen this happen
frequently Rebecca argues that enterprise architects can be much
more effective by joining development teams.

At OOPSLA 2003 Dave Thomas (the founder of OTI) gave a
thoughtful and powerful critique of Model Driven Architecture. In this
column he explains why he thinks a universal model-driven approach is
likely to fail, and points out that the UML and Domain Specific
Languages still have value.

A common part of encapsulation, particularly with
object-oriented systems, is hiding data structures. Yet it's also
common to expose much of this data behind data access routines. In
this column I cover some guidelines for writing data access
routines. However don't forget that if you can leave the data hidden,
that's usually better.

When we think about software architecture, we usually think
about its technical architecture. But there's also another important
architecture - the one we use to communicate with the customers of the
software: the marketing architecture. Neglecting this "marketecture",
and its relationship with the "tarchitecture", can get
development projects into a lot of trouble.

Craig's spot in the column looks at the importance of the Open-Closed principle and Protected Variation, and why Parnas's information hiding is more than encapsulation. He also gives some tips on ways to implement a protected variation.

The rising popularity of refactoring, tools such as JUnit,
and agile methodologies such as Extreme Programming (XP) has brought a
new style of design into view. Continuous design is the process of
using refactoring to continuously improve a program's design. In this
column Jim discusses his experiences with continuous design, in
particular with design issues that seem tricky such as
internationalization and transactions.

What is architecture, and who exactly is an architect? These
are questions that seem to get everyone very heated. So in this IEEE
Software column, I let Ralph Johnson explain about
architecture: with a definition that matches all others in a
way that nobody agrees with. I also talk about two sub-species of
architect: Architectus Reloadus and Architectus Oryzus.

Many modern languages make a distinction between public and private features in a module. A distinction that doesn't get made so often is between public and published features: and that may be a more important distinction.