Architect Your Enterprise
A good IT architecture ensures your software projects are delivered on time and on budget.
by Paul D. Sheriff
Enterprise Application Lifecycle Management 2003
It's difficult to apply a formal IT architecture to your organization. But it's even more difficult not to. Remember when your lead programmer left for another joband left you with an unmaintainable application due to using a nonstandard approach?
Bad-luck scenarios abound. You're asked to morph an old desktop program into a Web application, only you have to rewrite it from scratch because its original design didn't take advantage of n-tier techniques. Your programmers dislike each other's programming style and balk at working on each other's code. One group in your organization always delivers substandard code compared to other groups. Your company grew by acquisition, producing multiple sets of programming standards across the whole enterprise.
In many enterprises, problems like these conspire to prevent IT from being able to justify the time spent developing an application, or even to track how long it took. Estimates have trouble even getting in the ballpark. Software projects come in late and over budget.
If all this sounds too familiar, it might be time to bite the bullet and adopt a formal organization-wide architecture. You can start by considering what's meant by "architecture." Dictionaries call it, "The science, art, or profession of designing and constructing of buildings, bridges, etc." or "any framework, system" or "the design and interaction of components of a computer or computer system." That's closer, but David Garlan and Dewayne Perry hit the mark with their guest editorial in the April 1995 IEEE Transactions on Software Engineering. They defined software architecture as, "The structure of the components of a program/system, their interrelationships, and principles and guidelines governing their design and evolution over time." That last part is critical. Architectures must be flexible enough to keep up with changing business needs and technology evolution.
Your journey starts at the top, with the enterprise architecture. This provides a governance model combined with an all-encompassing set of documents, all designed to meet the business goals and strategies defined by your company. All the more specialized architectures must adhere to the enterprise architecture, much in the way that OOP objects instantiate a class.
Typically, you need to create a number of architectures to support and guide a lean, efficient IT operation. Each architecture should relate directly to your company's business goals and strategies (see Figure 1). Many architectures are fairly straightforward to implement.
A hardware architecture could be as simple as a list of the different hardware components used by all your organization's applications. It could also include the types of components that make up the hardware, and how and where they're deployed. Be sure to take into account the physical connections your hardware must make, your redundancy strategy, and physical hardware security.
Back to top
|