Enterprise Architect
Enterprise Architect
Enterprise Architect
As the technical lead, the Solutions Architect partners with Program/Project Management Leader,
guides and executes the technical delivery strategy during deployment.
In role of the visionary, the architect supports pre-sales and follow-on strategies by working with
functional leadership, partners and the client to define valuable solutions leveraging IBM SOA
Products & Frameworks.
Responsibilities:
* Provide technical leadership to consulting project teams, leading architecture workshops and also
include project work at customer sites.
* Design and develop innovative solutions to customer requirements using our IBM WebSphere
Dynamic BPM Platform (including Fabric) and Telecom Operations Content Pack. This WILL require
hands-on knowledge with the product stack.
* Strong knowledge of the telecommunications industry, various standards, competitor products,
benchmarks and compatibility.
* Provide consultative leadership to clients and prospects
* Participate in the pre-sales process to understand customer business, technical objectives and
product requirements, in order to develop effective solutions.
* Assist Program Manager with the definition of tasks, deliverables and standard estimates.
* Help to document best practices in developing and deploying IBM SOA/BPM solutions, and feed
them into our knowledge base for reuse by customers and partners.
* Mentor and recruit technical consulting staff.
* Participate in customer requirements gathering, design review, acceptance testing and
deployment processes, and produce quality deliverables accordingly.
Required Qualifications:
* 10+ years of software design/development experience. Five years in Java/J2EE environment and
at least three years of customer facing experience in that capacity.
* Hands-on experience in designing, implementing and managing loosely coupled SOA and
integration solutions with IBM WebSphere Middleware Stack.
* Knowledge of TeleManagement Forum Standards including eTOM, SID, TAM, TNA, OSS/J.
* Strong skills in Logical Data modeling, Physical Data modeling and development of a data strategy
and associated polices.
* At least five years experience in customer-facing positions as a member of a professional services
or pre-sales organization for a software product company.
* Strong EAI and/or web services background, ideally in the telecommunication industries.
* Experience and familiarity with enterprise integration technologies for large, complex IT portfolios.
Strong understanding of enterprise customer IT operational issues and challenges.
* Experience with modern software development methodology's, with emphasis on SOA and Web
services preferred.
* At least three years experience in a technical lead role for technical teams of five or more. Mixed
delivery models with offshore development is a plus.
* Hands on knowledge with WebSphere Integration Developer, WebSphere Process Server,
WebSphere Enterprise Service Bus. WebSphere Business Services Fabric is a plus.
* Experience with SOAP, WSDL and other web services technologies. Java experience should include
J2EE, JMS, EJB, and JDBC.
* Experience with Rational Software Architect and/or similar software modeling tools
Key Role:
Serve as the primary client lead and advisor in interfacing with senior-level EA clients,
helping to shape the vision, direction, priorities, capabilities, and plans for EA programs.
Lead project staff teams in providing full life-cycle EA support, including baseline
development, target development, transition planning, implementation, and segment
architecture, EA governance, EA program management, and EA communications.
Provide EA integration with related disciplines, including IT portfolio management,
systems engineering, IT security management, business and IT strategy development, and
EA tool selection, use, and management.
Direct teams in advanced modeling and analytics across all architectural layers or views
for large and complex organizations, including strategy, business, data, applications,
systems and services, technology, and security.
Develop, select, or adapt appropriate EA methodologies, frameworks, and approaches
to address client objectives and drive EA toward business results.
Facilitate stakeholder work sessions focused on making enterprise-wide decisions that
balance and prioritize competing interests of individual stakeholder groups.
Qualifications
Basic Qualifications:
-7+ years of experience with IT
-3+ years of experience in using Enterprise Elements
-3+ years of experience in project management and IT Governance
-3+ years of experience with DODAF methodologies
-3+ years of experience in modeling with structured analysis, UML
-Experience with other EA methodologies and frameworks, including FEA and
TOGAF
Enterprise Architect
• Responsible for providing architectural vision for all IT systems, including those that
support Internet applications, ensuring that architecture conforms to enterprise blueprints.
• Develops architecture, strategy, planning, and problem solving solutions on an
enterprise level.
• Interfaces across several channels, acting as a visionary to proactively assist in defining
direction for future projects.
• Maintains continuous awareness of business, technical, and infrastructure issues and
acts as a sounding board or consultant to aid in the development of creative solutions.
• Depending on project scope, may be accountable for end-to-end results including such
items as: budgeting, policy formulation as well as providing future-state technology
-strategies for an effort. • Interfaces with vendors to assess their technology and to guide
their product roadmap based on Citi requirements.
Qualifications
Perficient, Inc. is seeking an experienced B2B Enterprise Architect for a key role with
our Dallas-based consumer products client. The candidate will have the following
responsibilities:
Enterprise architects use various business methods, analytical techniques and conceptual
tools to understand and document the structure and dynamics of an enterprise. In doing
so, they produce lists, drawings, documents and models, together called "artifacts". These
artifacts describe the logical organization of business functions, business capabilities,
business processes, people organization, information resources, business systems,
software applications, computing capabilities, information exchange and communications
infrastructure within the enterprise.
Normally an EA takes the form of a comprehensive set of cohesive models that describe
the structure and functions of an enterprise.
and continues
The individual models in an EA are arranged in a logical manner that provides an ever-
increasing level of detail about the enterprise: its objectives and goals; its processes and
organisation; its systems and data; the technology used and any other relevant spheres of
interest.
See the related article on enterprise architecture frameworks for further information.
In 1992, Steven Spewak described a process for creating an enterprise architecture that is
widely used in educational courses
The popular TOGAF framework divides the practice into three domains: "Business
Architecture", "Information Systems Architecture" and "Technology Architecture" and
then subdivides the information systems architecture into "Information Architecture and
"Applications Architecture".[10]
The Strategic Architecture Model allows for a flexible division into up to ten domains
covering many aspects of an enterprise from its objectives and goals through its projects
and programmes to its software applications and technology.[11]
The dividing of the practice into a number of domains allows enterprise architects to
describe an enterprise from a number of important perspectives. This practice also
encourages the contributions of many individuals and allows the practice as a whole to
make good use of individual domain-specific expertise and knowledge. By taking this
approach, enterprise architects can ensure a holistic description is produced.
The popular and most common four domains and their component parts look like this:
1. Business:
1. Strategy maps, goals, corporate policies, Operating Model
2. Functional decompositions (e.g. IDEF0, SADT), business capabilities and
organizational models expressed as enterprise / line of business
architecture
3. Business processes, Workflow and Rules that articulate the assigned
authorities, responsibilities and policies
4. Organization cycles, periods and timing
5. Suppliers of hardware, software, and services
2. Information:
1. Information architecture - a holistic view on the flow of information in an
enterprise
2. Metadata - data that describes your enterprise data elements
3. Data models: conceptual expressed as enterprise information architectures,
logical, and physical
3. Applications:
1. Application software inventories and diagrams, expressed as conceptual /
functional or system enterprise / line of business architectures
2. Interfaces between applications - that is: events, messages and data flows
4. Technology:
1. Inter-application mediating software or 'middleware'.
2. Application execution environments and operating frameworks including
applications server environments and operating systems, authentication
and authorisation environments, security systems and operating and
monitoring systems.
3. Hardware, platforms, and hosting: servers, datacentres and computer
rooms
4. Local and wide area networks, Internet connectivity diagrams
5. Intranet, Extranet, Internet, eCommerce, EDI links with parties within and
outside of the organization
6. Operating System
7. Infrastructure software: Application servers, DBMS
8. Programming Languages, etc. expressed as enterprise / line of business
technology architecture.
The three components of the enterprise architecture framework are:[2]
Enterprise Architecture started with the Zachman Framework in 1987. Another early
implementation of an Enterprise Architecture framework was the "Technical Architecture
Framework for Information Management" (TAFIM). The first draft of TAFIM was
completed in 1991 with the TAFIM Technical Reference Model (TAFIM TRM). This
technical reference model wanted to use open systems and new technologies available in
the commercial market, to develop a DoD-wide application.[3] The TOGAF TRM was
originally derived from the Technical Architecture Framework for Information
Management (TAFIM), which in turn was derived from the IEEE model 1003.0[4] or
POSIX Open System Environment: a standard "to construct an information processing
system, including consumers, system integrators, application developers, system
providers, and procurement agencies".[5]
In recent years, it has become apparent that a key benefit to be gained from Enterprise
architecture is the ability to support decision making in changing businesses. Because
Enterprise Architecture brings together business models (e.g. process models,
organizational charts, etc.) and technical models (e.g. systems architectures, data models,
state diagrams, etc.) it is possible to trace the impact of organizational change on the
systems, and also the business impact of changes to the systems.
As this benefit has emerged, many frameworks such as DoDAF, MODAF, or AGATE
have adopted a standard meta model which defines the critical architectural elements and
the dependencies between them. Applications based on these models can then query the
underlying architectural information, providing a simple and strong mechanism for
tracing strategies to organizational and technological impacts.
The Architecture Domains follow a pattern of decomposition as one goes from top to the
bottom of the framework. The ownership can be divided into 4 broad categories:
planner's view, owner's view, designer's view and developer's view in this order. All the
views are mostly hierarchical in nature. For business view the planner and owner's level
is typically called the value chains (which are descriptive by nature). The designer's view
of business is also known as the analytical view and there are various standards for
modeling this view. One mostly commonly used modeling standard is the Business
Process Modeling Notation (BPMN). The designer's view typically represents the
execution level which uses standards like Business Process Execution Language (BPEL).
The Application and Technology Domains (which are not to be confused with business
domains) are characterized by domain capabilities and domain services. The capabilities
are supported by the services. The application services are also referred in Service-
oriented architecture (SOA). The technical services are typically supported by software
products.
The data view starts with the data classes which can be decomposed into data subjects
which can be further decomposed into data entities. The basic data model type which is
most commonly used is called ERD (Entity Relationship Diagrams, see Entity-
relationship model). The Class, subject and entity forms a hierarchical view of data.
Enterprises do have millions of instances of data entities.
The Enterprise Architecture Reference Traditional Model offers clear distinction between
the Architecture Domains (Business, Information/Data, Application/Integration and
Technical/Infrastructure). These domains can be further divided into Sub domain
disciplines. An Example of the EA Domain and Sub Domains is in the image on the right.
Many Enterprise Architecture Teams consist of Individuals with skills aligned with the
Enterprise Architecture Domains and Sub Domain Disciplines. For Example : Enterprise
Business Architect, Enterprise Information Architect, Enterprise Application Architect,
Enterprise Infrastructure Architect, etc.
Consortia-developed frameworks
UML Modeling
Features
• Enterprise Architect 8
o Product Details
o Purchase & Pricing
o Compare Editions
o Video Tour
o Success Stories
o Resources
o Enterprise Architect User Guide
• Sparx Systems Community
• Standards
o UML 2.3
o SysML
o BPMN
o UPDM
o TOGAF
o Zachman
o DDS
• Integration
o Eclipse
o Visual Studio
o TcSE
o DOORS
o Visio
o XMI
o Version Control Tools
• UML Tools for the Enterprise
o UML Tutorial
o Business Process Modeling
o MDA
o SOA
o SOMF
o Software Design
o Profiles and Technologies
• Support
o Trainers
o Resellers
o Forum
o Report a Bug
o More...
With that understanding, the company moved away from building isolated systems that
perform specific jobs and toward sharing and reusing pieces of applications and business
processes to make IT a more coherent whole, Cherukuri says. That ability to persuade
others to change is critical, he adds. The best architects also understand what kind of data
brings the most value to the company and then influence the design and integration of
systems to produce that data faster, in different combinations and for different
constituencies.
You need people who understand business and customer needs, Ericksen adds. They also
should have broad knowledge of technology capabilities, though not necessarily code and
query languages, he says.
Work with representatives from the business side to set up four easily understood
documents; if the business people have a chance to offer input, they should be able to
understand the business value of each phase of your EA program.
This discussion will focus solely on Phase 1 of an enterprise architecture initiative. This
phase should include the following:
If you take the time to fully develop each of those documents, you'll lay the groundwork
for discussing valuable opportunities for improvement.
The Foundation document should state your organization's definition of EA success. You
need to be specific here; avoid big words and esoteric ideas. Ask yourself what criteria
will be important when you're deciding how to balance IT-driven objectives with
companywide interests. You might end up with principles like these:
* We integrate enterprise security into all aspects of technology, from the physical to the
virtual.
Whatever they turn out to be, your principles should be reviewed with all members of the
IT team and the business team. They will be used to drive all future discussions and
decisions.
The first phase of an enterprise architecture project paves the way for the others.
1. The Foundation, the As-Is and To-Be Architecture Models, and the Transition Model.
This phase establishes the criteria used to guide decisions about IT, models the IT
architecture today, identifies where IT should be in three years and then describes how to
get there.
3. Business Alignment and Governance. This phase contains a review of the business
needs and the development of the processes needed to support them. It is interactive with
the business.
4. Deployment, and Portfolio Metrics. The three-year road map is implemented, and
metrics are used to continually track, review and refine the programs.
-- Jennifer Pfaff
Once your Foundation is complete, you can move on to documenting both the As-Is and
To-Be Architecture Models. These documents should graphically represent the
organization's current and desired enterprise architectures. Remember, simple is better.
Try to keep each model to one page. If you're stumped, search the Internet for sample
frameworks and look for examples from parallel industries. Be patient; developing the
best model for your organization will require a few iterations.
In the beginning, there may be a learning curve as the IT team determines the appropriate
level of detail. There will be a temptation to list the hundreds (or thousands) of software
applications that your organization has, but it's the summarized information that is critical
to capture. Keep your EA team focused on developing a model -- the details can be filled
in as the team moves forward.
Once your team defines all the relevant technology domains for your business, the
elements can be prioritized according to the ROI for each element's improvement
opportunity. For example, the elements could be color-coded, with red drawing attention
to a high ROI opportunity, yellow for medium ROI and green for a low ROI element.
Don't be afraid to change the ranking of each element on the To-Be Model as new
information becomes available and corporate strategies change.
The Road Map
Finally, you'll need to explain how you plan to help the business get from the As-Is
Model to the To-Be Model. The best way to do that is to create a graphical road map.
This is the final deliverable in Phase 1, and it's a critical component that will help ease
senior management's angst about the path forward. This key transition moves the project
from an IT focus to a discussion about the business and improvement efforts.
The road map should include deadlines for achieving each part of the To-Be Model, and
it should show the organization's progress toward each goal. The road map should depict
the phased implementation of projects so business people can review the timeline. If
business executives don't agree with the timing in the road map, they can speak up and
make adjustments.
Using color coding, the road map can also demonstrate how the business changes
throughout the process; for example, along a three-year span, a project's priority may
change from green to red based on agreed-upon criteria.
The road map is a great asset that should be used to continually articulate the value of
your EA program to senior management.
These four deliverables will become catalysts for meaningful discussions with your
business counterparts using a common language. They'll provide the business with
insights for determining which IT projects to fund, based on the color-coded priorities.
And you'll have a road map showing how you're going to get from where you are to
where you want to be.
AGILE EA
When project teams work under the assumption that they can do anything that they want,
that they can use any technology that they want, chaos typically results. Functionality and
information will be duplicated and reuse will occur sporadically if at all. Systems will not
integrate well. Systems will conflict with one another and cause each other to fail. Costs
will skyrocket because similar products from different vendors, or even simply different
versions of the same product, will be purchased and then operated within production.
Although each individual project may be very successful, as a portfolio they may have
serious challenges. It doesn’t have to be this way.
The cold reality is that very few software-based systems exist in a vacuum, instead they
must co-exist with several and sometimes hundreds of other systems. Applications must
co-exist effectively with the other systems within your organization. Therefore an
application must minimally be developed so that it doesn’t cause adverse affects on your
other systems and ideally it should be built to take advantage of and to enhance a shared
infrastructure. Every system must be built so it can fit into your existing environment,
better yet so that it reflect s the future vision for your organization. This sort of
information should be captured in your enterprise architecture, in current state and future
state models respectively. One goal for agile enterprise architects is to ensure that this
happens in an effective manner, to ensure that the needs of the business stakeholders are
understood and anticipated, and to support project teams in their development efforts.
Why are enterprise issues an important aspect of the Agile Data (AD) method? Because
data is an enterprise asset. It isn’t your only enterprise asset, but it is an important one.
My philosophy is that to be effective as a developer you must consider enterprise issues,
which is why Agile Data’s 2nd philosophy “development teams must consider and act
appropriately regarding enterprise issues” exists. However, to remain agile your
organization must find a way to streamline their enterprise activities to support agile
software development teams in this endeavor. Hence Agile Data’s 3rd philosophy
“Enterprise groups exist to nurture enterprise assets and to support other groups, such as
development teams, within your organization. These enterprise groups should act in an
agile manner that reflects the expectations of their customers and the ways in which their
customers work.”
1. A few assumptions
2. What is enterprise architecture?
3. Why enterprise architecture?
4. Challenges with current approaches
5. An agile approach
o Focus on people, not technology or techniques
o Keep it simple
o Work iteratively and incrementally
o Roll up your sleeves
o Build it before you talk about it
o Look at the whole picture
6. Introducing an agile approach to enterprise architecture
7. What should your enterprise architecture efforts produce?
8. Potential problems with the agile Enterprise architecture approach
1. A Few Assumptions
• You've read The Philosophies of Agile Data, The Vision of the Agile Data
Method, and The roles on Agile Data Projects
• You're familiar with the values, principles, and practices of Agile Modeling and
Agile Documentation
• Your organization wants to support agile software development teams, perhaps
following eXtreme Programming (XP) or the Agile Unified Process (AUP), with
enterprise architecture efforts
• You're willing to rethink your existing approach to enterprise architecture, if any.
For our purposes, enterprise architecture consists of the various structures and processes
of an organization, including both technical structures and processes as well as
business/domain structures and processes. Following this definition, an enterprise
architecture model is a representation of those structures and processes. A good
enterprise architecture model will depict the organization both as it is today and as it is
envisioned in the future, and will map the various views representing the architecture to
one another. These views include both business-oriented perspectives as well as
technical perspectives. In many ways enterprise architecture models are a
communication bridge between senior business stakeholders and senior IT professionals.
Unfortunately, within the IT industry the terminology isn’t used in quite this way.
Sometimes we use the term “enterprise architecture” to refer to the group of people
responsible for modeling and then documenting the architecture. Other times we use the
term to denote the process of doing this work. More commonly we are referring to the
models, documents, and reusable items (components, frameworks, objects, and so on)
that reflect the actual architecture. Unless otherwise noted, this is the way that I will use
the term at this site.
In the Enterprise Unified Process (EUP) I point out how some organizations choose to
separate the business/domain side of EA from the technical side of it, something which is
reflected in the EUP's enterprise business modeling and enterprise architecture disciplines
respectively. If your organization chooses to think of the EA as encompassing both,
which I recommend, then your EA strategy encompasses the scope of those two EUP
disciplines.
The benefits of enterprise architecture can be summed up using three words: better,
faster, cheaper. It is important to realize that the better, faster, cheaper (BFC) benefits
come at a price. You must be willing to invest in the underlying organizational and
cultural structures to support them. You need to recognize that these costs exist and
ensure that the BFC benefits you achieve outweigh them. Better yet, adopt Agile
Modeling’s principle Maximize Stakeholder ROI and strive for maximal benefit.
5. An Agile Approach
The Agile Data Method's third philosophy is "Enterprise groups exist to nurture
enterprise assets and to support other groups, such as development teams, within your
organization. These enterprise groups should act in an agile manner that reflects the
expectations of their customers and the ways in which their customers work." Let's
explore what that actually means.
First and foremost, the values, principles, and practices of Agile Modeling (AM) should
help to guide your enterprise architecture modeling and documentation efforts. This is
just a good start though. My experience is that to be successful at enterprise architecture
you need to rethink your overall approach and address five fundamental issues. These
issues are connected in a synergistic manner; you must address all of them otherwise you
will put your effort at risk. These issues are:
Fred Brooks (1995) wrote that “The quality of the people on a project, and their
organization and management, are much more important factors in success than are the
tools they use or the technical approaches they take.” The reality is that enterprise
architectures are developed, evolved, and followed by people. All of the arguments over
“which model is right”, “which notation is right”, and “which paradigm is right” are
meaningless if you don’t have a viable strategy for working together effectively. You
could create a perfect enterprise architecture model but it doesn’t matter if project teams
can’t or won’t take advantage of it.
Effective enterprise architects will work with their customers, very often application
developers and agile DBAs, in the most effective manner possible. Sometimes this will
be face-to-face drawing sketches with them at a whiteboard, sometimes they will work
with project teams via video conferencing, sometimes they will answer questions via
email, and sometimes they will publish models and documents. I highly suggest
following the AM practice Display Models Publicly for your architectural models and
documents – publish them online at an internal web site and even consider putting up
paper versions of critical diagrams in their workspaces. A common mistake that I’ve
seen architecture groups make is to put their diagrams on the walls within their work
areas but not the work areas of the application developers. Better yet, as I argue below
there shouldn’t be separate work areas to begin with.
Enterprise architects also work as “boundary spanners” between project teams and the
people within your organization that have the long-range vision – very often senior IT
and senior business executives.
A critical concept is that your enterprise architecture models and documents just need to
be good enough, they don’t need to be perfect. It is naïve to assume that you can produce
perfect artifacts, you’re only human: you will never get it perfectly right and nobody
expects you to anyway. Furthermore, even if you did manage to create perfect artifacts
they’d be out of date the day after you published them because something within your
business or technical environment would change (Embrace Change is also an AM
principle). Why is this important? My experience is that a hand-drawn sketch today on a
plain old whiteboard (POW) can often be far more valuable than a fully documented and
validated document several months from now. Timely guidance from an enterprise
architect who understands the current environment and the future vision for the
enterprise, even when this guidance is imperfect and based on incomplete information, is
often far better than the uneducated guesses that a project team will make on their own
while they wait for the official architecture to be published.
By keeping your enterprise architecture artifacts simple you increase the chances that
your audience will understand them, that project teams will actually read them, and that
you will be able to keep them up to date over time. Overly detailed documents might
look impressive sitting on a shelf, but a simple model that project teams actually use is
what your true goal should be. You might find When is Enough Modeling Enough? to be
interesting.
Agile modelers will also follow the practice Model in Small Increments, modeling just
enough to fulfill the purpose at hand and then moving on to the next task. They don’t try
to create complete models, instead they create models that are just good enough. When
they find that their models are not sufficient they work on them some more. The
advantage of this approach is that they evolve their models incrementally over time,
effectively taking a just-in-time (JIT) model storming approach that enables them to get
the models in the hands of their customers as quickly as possible.
On the preceding advice, some readers may say to themselves “All of this sounds great,
particularly for a project team, but enterprise architecture is different. It’s more
complex. It’s more important. It requires significant modeling up front to get it right.”
Aaarrrrggghhh!!! That’s old-style thinking. Enterprise architects can work in an iterative
and incremental manner if they choose to.
Figure 1 overviews how to take an Agile Model Driven Development (AMDD) approach
to enterprise architecture. The enterprise architecture team would define the initial
architectural vision and models, a process that would likely take several days or even a
week or two. Any longer and you’d be at risk of developing architectural models that
don’t actually reflect something that would work in practice. Remember, your models
need to be just good enough, not perfect. The idea is that your enterprise model(s) start
out small and are fleshed out over time based on the feedback you receive from both the
business community and from project teams.
• You quickly discover whether or not your ideas work, and if so then how well.
• You improve the chance that project teams understand the architecture because
you’re working with them face-to-face.
• You cross-fertilize ideas, particularly technical ones, across teams, quickly
sharing good ideas and strategies.
• You improve the chance that a common infrastructure, both technical and
business, will be built and reused over time because the project teams will be
working towards the enterprise architecture.
• You gain experience in the tools and technologies that the project teams work
with, as well as the business domain itself, improving your own understanding of
what it is that you’re architecting.
• You obtain concrete feedback that you can then act on to improve the
architecture, enabling it to evolve over time to meet the actual needs of your
organization.
• You gain the respect of your primary customers, the application development
teams, because they see that you’re participating and not simply pontificating.
• You actively help to build software-based systems, the primary goal of IT
professionals.
• You can mentor the application developers and agile DBAs on the project teams
in modeling and architecture, improving their skill sets.
• You provide clear benefit to application teams because you’re helping them to
fulfill their immediate goals, forsaking the “do all this extra work because it’s
good for the company” attitude for a more attractive “let me help you achieve
your goals, and by doing so together we’ll do something good for the company”
attitude.
• You work closely with the development teams and enterprise administrators to
ensure that your overall data management (including Master-Data Management
(MDM)), security management, network management, ... efforts support and
enhance the development teams efforts instead of hinder them.
Agile enterprise architects will ensure that their technical ideas actually work before they
advice project teams to try them by writing a small system to validate the idea. This is
called a spike solution in eXtreme Programming and a technical prototype or skeleton in
the Rational Unified Process (RUP). The idea is that you write just enough code to verify
that what you think will work actually does. This helps to reduce technical risk because
you’re making technology decisions based on known facts instead of good guesses.
5.6 Look at the Whole Picture
Agile enterprise architectures, agile modelers in general, believe in the principle Multiple
Models and thus strive to look at the whole picture. They don’t just focus on data
models, or object/component models, or business models, or whatever type of model
might tickle their fancy. Instead they strive to model from several points of view so that
their understanding and description of the architecture is more robust.
Agile enterprise architects realize that they need to make their work, including their
services, attractive to their customers (developers and business stakeholders). If your
customers perceive that you have value to add, that your enterprise architecture efforts
will aid them in their jobs, then they are much more likely to work with you. If, on the
other hand, they think that you’re wasting their time they won’t work with you. They’ll
find ways to avoid you, to cancel or postpone meetings with you, to find ways around
you.
Introducing the techniques and philosophies described in this article will prove difficult
in many organizations, particularly those that have an established enterprise architecture
group that follows a traditional approach. Adoption agile techniques requires a change in
mindset – agile enterprise architects are service oriented, realizing that it is their job to
help project teams to succeed and to work with senior stakeholders to define and evolve
the corporate vision. Agile enterprise architects realize that they need to make it as easy
as possible for other people to work with them and that they must provide perceived
value to the teams that they support. They realize these things, and act accordingly,
because they know that the people they are supposed to serve will ignore them if they
don’t. In the end it’s all about people and the way that you interact with them.
My experience is that the best way to introduce agile architecture techniques into an
organization is to start small at first and grow your strategy over time. This approach
allows you to gain some initial successes, to learn from your experiences (because
everything won’t go perfectly right), and to evolve your strategy based on those
learnings. A common mistake is to try to put an enterprise architecture team in place and
have all teams start to follow the new vision. The typical result is that existing project
teams become confused, the enterprise architecture team becomes swamped trying to
play catch up, and fighting ensues over “which is the best way”. The fundamental
mistake that is made with this approach is that it doesn’t allow the enterprise architects to
build a solid foundation from which to work, to build up the proof that their approach
actually works, and basically to get ahead of the project teams.
If you’re hoping for an exact list of deliverables here then you need to go back and re-
read this article because you haven’t gotten it yet. Sorry for being harsh, but sometimes
you just need to say it as it is. However, it is important to define a set of goals that
should be achieved. In priority order, these goals are:
No approach is perfect, including this one. I would be remiss if I didn’t identify these
known issues:
The approach described in this article works incredibly if you let it. Your most important
take away point is that it’s all about people. Fancy tools based on theoretically sound
frameworks, metamodels, or modeling languages are great to have but they won’t do
anything for you if developers don’t use them. It’s all about people. Sophisticated
models and documents are interesting to create, but they offer little value if nobody reads
them. It’s all about people.