44
Job description mapping of I/T capabilities to business needs. defining the relationships, flows and implementation of business processes/activities/functions, information), applications, data and technology in the enterprise and the transitional process necessary for implementing technology in response to changing business needs. the technical team lead and the client-facing technical visionary. 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.

Enterprise Architect

Embed Size (px)

Citation preview

Page 1: Enterprise Architect

Job descriptionmapping of I/T capabilities to business needs.

defining the relationships, flows and implementation of business processes/activities/functions, information), applications, data and technology in the enterprise and the transitional process necessary for implementing technology in response to changing business needs.

the technical team lead and the client-facing technical visionary.

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.

Page 2: Enterprise Architect

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.

Communicate the value and relevance of EA to senior business executives or program officials.

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. • Provides thought leadership in subjects that are key to the business.

Page 3: Enterprise Architect

• Requires sophisticated analytical thought to resolve issues in a variety of complex situations.• Impacts the technology function through contribution to technical direction and strategic decisions.• Uses developed communication skills to negotiate and often at higher levels.

Qualifications

 Advanced level experience in an Architecture role.Subject matter expert in overall Architecture field.Both technical breadth and depth.Industry relevant experience capital markets front and back office and other financial transaction offerings.The Architect is a key technical and/or functional leadership role within the segment. The Architect is typically a sub-system, functional or product(s) architect. Architects provide expert guidance and support to the development organization in various technical/functional aspects of research, development and engineering.

* Functional decomposition of system architecture into subsystems* Architectural design of subsystems while adhering to system’s architectural constraints* Leverage Enterprise Design Patterns for architectural excellence* Manage design evolution across multi-generation product releases* Communicate design to development teams and guide implementation* Leveraging technical and clinical depth to work on business initiatives aimed at innovation and quality excellence* Developing subsystem roadmaps applying in-depth knowledge of product related technologies, technology platforms, architectures and engineering design principles and advancements* Leading the subsystems technical teams through the entire design cycle including requirements generation, design and implementation, verification & validation as the key technical mentorQualifications/Requirements* Bachelors degree in Engineering or related field* 7 years relative engineering experience* Practical experience in engineering product development processes on cross-functional programs with a focus on related engineering discipline* Familiarity with Variable Cost Productivity (VCP) and Inventory Carrying Value (ICV)* Demonstrated ability to influence product leadership and product direction through action-oriented recommendations based on technology strategy and risk retirement* Good written and oral skills* Must be willing to work in our Salt Lake City, UT facility full-time * Must submit application for employment through gecareers.com (or COS if internal) to be consideredAdditional Eligibility QualificationsGE will only employ those who are legally authorized to work. Any offer of employment is conditioned upon the successful completion of a background investigation and drug screen.Desired Characteristics* Masters or PhD in Engineering or related field

Page 4: Enterprise Architect

* 8 years relative engineering experience* Demonstrated expertise in specified area of interest with the ability to develop engineering specifications for major sub-systems/sub-assemblies, written reports on technologies, and other product design recommendations* Demonstrated experience on global product releases throughout the entire NPI cycle* In-depth working knowledge of patient/customer product-related clinical applications and scientific/engineering methods/theory with an affinity for technology and clinical solutions* Demonstrated ability to work in a collaborative fashion with cross-function development teams and architects

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:

Accountablility for the quality of the architecture and designs of a solution Review the architectural needs of the project, validating scope, architecture

resource needs, and total cost of ownership Responsible for infrastructure architecture deliverables  including  conceptual,

directional, logical, and physical architecture and design documents  Responsible for growth, performance, flexibility, reliability, scalability, and

security of a solution Responsible for  adherence to architectural standards and compliance

with Enterprise architecture and Security policies Provide technology architecture consultation to development, baseline

(operations), enterprise test, infrastructure, and engineering teams Create and document architecture artifacts when in the role of a project architect,

with a focus on architectural standards, growth, performance, flexibility, reliability, scalability, and security

Participate in RFP’s  (when applicable) and evaluate the solution for adherence to our client's standards

Provide guidance on integration and architecture to third party professional service providers and ISVs

Identify patterns, reusability opportunities, and promote them across the enterprise using the CTO and Enterprise Architecture channels.

Responsible for architecture of IT technical areas across application network, server, database, application integration and virtualization technologies.

Estimate software, labor and hardware costs across multiple IT Technical areas Review other application team or vendor architectures, identifying risks with the

application integration approach, tool choice, information security and sizing.  Consult on production issues and driving root cause analysis and remediation. Build executive level presentations on architectural direction, options and solution

cost benefit analysis

Page 5: Enterprise Architect

The ideal candidate will have the following skills/experience:

Experience with the design, implementation, and operation of B2B Gateways Experience with EDI and other B2B standards Experience in infrastructure, middleware, large data movement, dashboards,

reporting, data marts, security, and application and report development and data marts

Solid technical aptitude, leadership, mentoring, and customer facing skills Experience with solution and application infrastructure including Windows and

Linux, VMWare, Storage Arrays, application server, web servers, networks, load balancers, and firewalls

Experience with Enterprise Application Integration (EAI) based solutions and EAI tools such as TIBCO EMS/BW

Experience with Extract, Transform, and Load (ETL) based solutions and ETL tools such as Informatica PowerCenter, Ab Initio, or large file transfer tools

Experience with databases such as SQL Server, Oracle, or DB2 and data modeling

Experience with capacity planning, sizing, and load balancing in a distributed application environment

Experience with high availability and disaster recover techniques and technologies

Experience in designing and overseeing the implementation of highly fault tolerant solutions using high availability and/or disaster recover techniques and technologies.

Experience with authentication, authorization, and single sign on Solid understanding and experience in virtualization technologies for Windows

and Unix platforms Understands application, third party software,  and database licensing constraints

models and cost implications Experience in the full project life cycle that requires leading teams through

architecture for technology and infrastructure (Servers, Virtualization, Storage) Strong analytical skills, oral and written communication skills Past history of building relationships with a wide range of individuals

including CTOs/CIOs, solution architects, application architects, project architects, development leads,  project and program manager, and enterprise test teams

Strong Leadership and time management skills The ability to communicate complex technical topics and analyses to technical

and not-technical executives

Allstate Architecture Standards and Methods (AASM) BearingPoint Configure To Fit Method BearingPoint Methodology Bredemeyer VAP

Page 6: Enterprise Architect

CA Solution Architecture Methodology CSC Catalyst Capgemini Integrated Architecture Framework (IAF) Credit Suisse IT Solution Framework EDS GSMS/GAD QMS Enterprise Solution Delivery (ESD) GM System Delivery Process (SDP) HP Global Method for IT Strategy and Architecture (HPGM for ITSA) IBM Global Services Method IBM Team Solution Design IMPACT (TCS Architecture Development Methodology) Intel AEPF Intel IT Architecture Development Methodology (Intel IADM) New Zealand Inland Revenue - IR Method Rational Unified Process (RUP) Raytheon Enterprise Architecture Process (REAP) SUN Architect Implement and Manage (AIM) TOGAF 7 TOGAF 8 TOGAF 9 Telstra Technology Delivery Process (TDP) TelstraClear Infrastructure Lifecycle Process (ILP) UPS Solution Architecture Process

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.

A collection of these artifacts, sufficiently complete to describe the enterprise in useful ways, is considered by EA practitioners an 'enterprise' level architectural description, or enterprise architecture, for short. The UK National Computing Centre EA best practice guidance[7] states

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

Page 7: Enterprise Architect

organisation; its systems and data; the technology used and any other relevant spheres of interest.

This is the definition of enterprise architecture implicit in several EA frameworks including the popular TOGAF architectural framework.

An enterprise architecture framework collects together tools, techniques, artifact descriptions, process models, reference models and guidance used by architects in the production of enterprise-specific architectural description.

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

Several enterprise architecture frameworks break down the practice of enterprise architecture into a number of practice areas or "domains". In his book on Enterprise Architecture, Spewak divides the practice into two domains at 'level 2': "Business Modelling" and "Current Systems and Technology" and three subordinate domains at 'level 3': "Data Architecture", "Applications Architecture" and "Technology Architecture". The final level of Spewak's EAP is the "Implementation" or "Methods" level, which deals with "how" to migrate the Enterprise to match the new model.[9]

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

Page 8: Enterprise Architect

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 timing5. Suppliers of hardware, software, and services

2. Information: 1. Information architecture - a holistic view on the flow of information in an

enterprise2. Metadata - data that describes your enterprise data elements3. Data models : conceptual expressed as enterprise information architectures,

logical, and physical3. 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 flows4. 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 diagrams5. Intranet , Extranet, Internet, eCommerce, EDI links with parties within and

outside of the organization6. Operating System 7. Infrastructure software: Application servers, DBMS8. Programming Languages , etc. expressed as enterprise / line of business

technology architecture.

Page 9: Enterprise Architect
Page 10: Enterprise Architect
Page 11: Enterprise Architect

The three components of the enterprise architecture framework are:[2]

Views : provide the mechanisms for communicating information about the relationships that are important in the architecture

Methods : provide the discipline to gather and organize the data and construct the views in a way that helps ensure integrity, accuracy and completeness

Training/Experience : support the application of method and use of tools

Because the discipline of Enterprise engineering and Enterprise Architecture is so broad, and because enterprises can be large and complex, the models associated with the discipline also tend to be large and complex. To manage this scale and complexity, an Architecture Framework provides tools and methods that can bring the task into focus and allow valuable artifacts to be produced when they are most needed.

Architecture Frameworks are commonly used in Information technology and Information system governance. An organization may wish to mandate that certain models be produced before a system design can be approved. Similarly, they may wish to specify

Page 12: Enterprise Architect

certain views be used in the documentation of procured systems - the U.S. Department of Defense stipulates that specific DoDAF views be provided by equipment suppliers for capital project above a certain value.

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.

Layers of the Enterprise Architecture

Contemporary federal guidance suggests thinking about “layers” of the enterprise architecture:[9]

Business processes and activities Applications such as custom or off-the-shelf software tools Data that must be collected, organized, safeguarded, and distributed Technology such as computer systems and telephone networks

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

Page 13: Enterprise Architect

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).

Enterprise Architecture Domains and Subdomains

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.

An Example of the List of Reference Architecture Architecture Patterns in the Application and Information Architecture Domains are available at Architectural pattern (computer science)

Consortia-developed frameworks

EABOK (The Guide to the Enterprise Architecture Body of Knowledge) - a U.S. Federal-funded guide to EA in the context of legislative and strategic business requirements.

Generalised Enterprise Reference Architecture and Methodology (GERAM) IDEAS Group - a four-nation effort to develop a common ontology for

architecture interoperability RM-ODP - the Reference Model of Open Distributed Processing (ITU-T Rec.

X.901-X.904 | ISO/IEC 10746) defines an enterprise architecture framework for structuring the specifications of open distributed systems.

Page 14: Enterprise Architect

TOGAF - the Open Group Architecture Framework - a widely used framework including an Architectural Development Method and standards for describing various types of architecture.

Good enough architecture methodology - a methodology based on experiences, results and best-practices gathered through real-life implementations of various building blocks that altogether provide a realizable architecture and working solutions.

ARCON - A Reference Architecture for Collaborative Networks - not focused on a single enterprise but rather on networks of enterprises [10] [11]

[edit] Open Source Frameworks

TRAK - a general systems-oriented framework based on MODAF 1.2 and released under GPL/GFDL.

MEGAF is an infrastructure for realizing architecture frameworks that conform to the definition of architecture framework provided in the ISO/IEC 42010 standard.

[edit] Commercial frameworks

Solution Architecting Mechanism (SAM) - A coherent architecture framework consisting of a set of integral modules. [12]

Integrated Architecture Framework (IAF) - from Capgemini company in 1993 CLEAR Framework for Enterprise Architecture - Atos Origin's Enterprise

Architecture Framework OBASHI - the OBASHI Business & IT methodology and framework Information FrameWork (IFW) - conceived by Roger Evernden in 1996 Zachman Framework - an architecture framework, based on the work of John

Zachman at IBM in the 1980s The Enterprise Framework - an architecture framework, developed by Sam

Holcman at the Enterprise Architecture Center of Excellence ([1])

[edit] Defense industry frameworks

DoDAF - the US Department of Defense Architecture Framework MODAF - the UK Ministry of Defence Architecture Framework NATO Architecture Framework AGATE - the France DGA Architecture Framework DNDAF - the DND/CF Architecture Framework (CAN)

[edit] Government frameworks

Government Enterprise Architecture (GEA) - a common framework legislated for use by departments of the Queensland Government

FDIC Enterprise Architecture Framework Federal Enterprise Architecture Framework (FEAF) - a framework produced by

the Office of Management and Budget for use within the U.S. Government

Page 15: Enterprise Architect

NIST Enterprise Architecture Model Treasury Enterprise Architecture Framework (TEAF) - a framework for treasury,

published by the US Department of the Treasury in July 2000.[13]

Nederlandse Overheid Referentie Architectuur (NORA) - a reference framework from the Dutch Government E-overheid NORA

UML Modeling

Features

Latest UML 2.3 specification XMI 2.1 import and export Reporting in HTML and RTF MDA transformations

Page 16: Enterprise Architect

Profiles and Technology support Testing, resource tracking, maintenance Reverse engineer source code in 10+ languages Import database schema Visualize XSD and WSDL source Import .NET and Java binaries From single users to large teams Repository support for major DBMSs Fast to load, fast to use even with large models Shareable files or Repository based models Version control with any SCC compliant tool Role-based security built-in

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

Join the community todaywhite papers • tutorials • resources • case studies

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

Page 17: Enterprise Architect

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...

“It’s a unique personality—negotiation skills as well as technical skills,” says John Ericksen, chief operating officer and leader of technology and corporate services with PNC Financial Services Group (PNC). “They're hard to find.”

Matson Navigation established an enterprise architecture group in 2004. One of its biggest contributions to date has been to spread respect for the company’s architecture and applications standards to application developers and quality testers, says Srini Cherukuri, senior director of IT operations.

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.

Companies usually look for IT professionals with 10 to 15 years of experience in order to find that combination of characteristics. Some companies even want their architects to have a master’s or doctorate degree in computer science or engineering.

Computerworld — A successful enterprise architecture project can help unlock an IT department's true value to the business it supports. EA, as a discipline, allows an organization to compare its near-term business objectives with its current technological capabilities and then make intelligent decisions about what it can reasonably expect to accomplish. Furthermore, the gaps that are identified represent opportunities for future IT investments.

Page 18: Enterprise Architect

Sound like a lofty endeavor? It is, but getting there isn't as difficult as you might think.

Developing a good enterprise architecture program shouldn't require a dedicated full-time staff of specialists. A team led by a strong, focused manager can jump-start an EA program by creating small deliverables that the business stakeholders can understand. (Hint: If your program's objectives can't be described in an elevator speech, have your team step back and simplify.)

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:

* The Foundation (principles and objectives).

* The As-Is Architecture Model.

* The To-Be Architecture Model.

* The Transition Model (i.e., a road map).

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 evaluate solutions based on scalability, extensibility, interoperability and compatibility.

* We use off-the-shelf tools.

* 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 Four Phases of EA

The first phase of an enterprise architecture project paves the way for the others.

Page 19: Enterprise Architect

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.

2. IT Vetting and Communication. This involves an in-depth review of IT projects and the road map, as well as the plan for communicating with the business about the project.

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.

Your model could have a hierarchy like this:

* Enterprise (the complete environment).

* Domains (independent categories, like Infrastructure).

* Categories (logical subsets, like Network/Telecom).

* Elements (the most granular support functions, like Routers).

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.

Page 20: Enterprise Architect

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.

Page 21: Enterprise Architect
Page 22: Enterprise Architect

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.”

In this article, I discuss:

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

Page 23: Enterprise Architect

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

This article has been written with the following 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.

 

2. What is Enterprise Architecture?

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.

 

Page 24: Enterprise Architect

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.

 

3. Why Enterprise Architecture?

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.

 

4. Challenges With Current Approaches

As a consultant I have the privilege of working in a wide range of organizations across the world.  The result is that I get to see and try many different approaches to software development, including enterprise architecture efforts.  Over the years I have observed a common set of problems that organizations seem to experience.  I have yet to see an organization that experiences all of these problems, although I have seen some that experience all but one or two.  These common problems are:

1. There isn’t an enterprise architecture effort.  2. Skewed focus.  3. Project teams don’t know the enterprise architecture exists.  4. Project teams don’t follow the enterprise architecture.   5. Project teams don’t work with the enterprise architects.   6. Outdated architecture.    7. Narrowly focused architecture models. 8. Dysfunctional “charge back” schemes. 9. A “do all this extra work because it’s good for the company” attitude.  

Page 25: Enterprise Architect

A common thread behind these problems is a focus on processes and tools over individuals and interactions, the exact opposite of the Agile Alliance’s first value.  If your organization experiences one or more of these problems then you may want to consider taking an agile approach to enterprise architecture.

 

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:

1. Focus on people, not technology or techniques 2. Keep it simple 3. Work iteratively and incrementally 4. Roll up your sleeves 5. Look at the whole picture

6. Make enterprise architecture attractive to your customers

 

5.1 Focus on People, Not Technology

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

Page 26: Enterprise Architect

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. 

An interesting observation is that enterprises have two organizational structures – the formal one documented by your organization chart and the informal one that people use to get things done.  Within IT departments there are always the “go to guys” that developers work with to get things done, very often other developers that have critical skills or knowledge.  Agile enterprise architects understand this and actively seek to become “go to guys”.

5.2 Keep it Simple

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.

 

5.3 Work Iteratively and Incrementally

Page 27: Enterprise Architect

Agile enterprise architects work in an iterative and incremental manner.  Agile modelers will follow the practice Apply the Right Artifact(s) and use a wide variety of modeling techniques as required (more on this later).  They will also follow the practice Iterate To Another Artifact when they realize that the model that they are working on either isn’t the appropriate one with which to depict a concept or because they are simply stuck and need to break out of their “analysis paralysis”.  They will also follow the practice Create Several Models In Parallel so that it is easy for them to iterate back and forth between artifacts.  Instead of holding a use case modeling session an agile modeler will focus on requirements modeling, or even just modeling, and work on use cases, business rules, change cases, and whatever other artifact they require to get the job done.   The advantage of these practices is that the right model is used for the task at hand.

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. 

Figure 1. Agile Model Driven Development (AMDD) at the enterprise level.

Page 28: Enterprise Architect

 

5.4 Roll Up Your Sleeves

Although an important part of the job of an enterprise architect is modeling and documentation, that should not be your primary focus.  Supporting the architecture within project teams should be, coaching developers in the architecture and architecture skills.  The best way to do this is to get involved with project teams, to work with them to understand the enterprise architecture and to try it out in practice.  In other words, the enterprise architects will often take on the roles of "architecture owners" on the application teams. This approach has several benefits:

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.

Page 29: Enterprise Architect

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.

My experience is that the enterprise architects need to be active members of project teams, and to do that they must be co-located with them.  When architects are in a different location, perhaps a different corner, on another floor, or even in another building, their ability to communicate with and work together effectively with the project team(s) they are trying to support is dramatically diminished.  The implication is that enterprise architects may need to become nomadic, moving between their “home base” to the work areas of the project team(s) that they support.  When you work side by side with someone you pick up more information (often just by overhearing something) and you make yourself easily available to them thus increasing the likelihood that they will take advantage of your expertise.

   

5.5 Build It Before You Talk About It

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.  

Page 30: Enterprise Architect

 

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. 

 

5.7 Make Your Enterprise Architecture Attractive to Your Customers

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. 

 

6. Introducing an Agile Approach to Enterprise Architecture

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

Page 31: Enterprise Architect

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.

 

7. What Should Your Enterprise Efforts Produce?

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:

1. Customer support for the enterprise architecture.  2. A vision and plan to achieve that vision.  3. A collection of models and documentation describing the architecture. 

 

8. Potential Problems With The Agile Enterprise Architecture Approach

No approach is perfect, including this one.  I would be remiss if I didn’t identify these known issues:

1. It does not include an explicit way to ensure compliancy (although having enterprise architects embedded on the teams goes a long way towards this). 

2. It depends on people being responsible.  3. It requires you to actively strive to keep things simple.  4. It requires you to accept an agile approach to modeling and documentation. 

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.