Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

Click here to receive your FREE subscription to Visual Studio Magazine

email article
printer friendly
more resources

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 job—and left you with an unmaintainable application due to using a nonstandard approach?

ADVERTISEMENT

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













Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTPOnline Home