Monday, December 3, 2012

Architect Roles and Responsibilities - in Detail

Architectural Roles

The Architecture team is divided into a number of roles based on an orthogonal “separation of concerns”:
n     Chief Architect
n     Applications Architect
n     Data Architect
n     Information Architect
n     Internet Architect
n     Network Architect
n     Systems Architect
n     Security Architect
n     Process Architect
n     Project Architects (PA)

All but the last role comprise the Enterprise Architects.  Each role (with the exception of the PA) is focused on issues at the enterprise level and across all projects.  Due to the shortage of resources many architects hold more than one of the positions described below.  In some cases there already exists a central department within the company that has an enterprise focus on one of these roles.  In this case the Enterprise Architect may reside in this team and be matrixed into the Architecture team.  By this means all architectural work is coordinated across all dimensions and projects.

Primary Responsibilities of Each Architect

Chief Architect

n     Coordinates and facilitates the activity of the Enterprise Architects and Project Architects with existing projects; removing road-blocks where necessary.
n     Takes proactive escalation of probable system problems or design flaws to upper management before serious impact on ROI.
n     Assures the complementary synthesis of all standards, models, designs and methodologies recommended by the Enterprise Architects.
n     Acts as evangelist of the work and recommendations of the architecture team.

Applications Architect

n     Selects the paradigm and technology for application program-to-program communication (APPC) among the components.
n     Determines the overall priority ranking of each of the possible system qualities (cost, reusability, robustness, etc.) so the other architects can design models that enforce the “balance of concerns”.
n     Responsible for defining the application tiers, frameworks, components types and interfaces.  Also, creates the first-draft graphical template of UML design models used by the Project Architects.
n     Specifies and provides ownership of reusable application components or reusable application code.

Data Architect

n     Sets Data Policy and the technical solution for the management, storage, access, navigation, movement, and transformation of data.
n     Specifies recommended DBMS and ETL tools and technologies for structured and unstructured content.
n     Creates and maintains the Metadata Repository.
n     Creates a semantically rich business model of the enterprise problem domain that:
n     Is independent of any technology solution
n     Defines the Content of the business
n     Compiles and maintains the Enterprise Schema across all applications.
n     Enforces principles of good canonical data design.
n     Examines and enforces opportunities to provide data reuse, balancing the issues of centralization and replication.
n     Ensures the preservation of strategic data assets as applications and technologies de jure come and go.
n     Reviews the policies and work of the Data Base Administrators.

Information Architect

Because there already exists a central Web Hosting team the Information Architect may reside in this team and be matrixed into the Architecture team.
Richard Saul Wurman, the father of information architecture, describes the role in these words: “The individual who organizes the patterns inherent in data, making the complex clear.”  “A person who creates the structure or map of information which allows others to find their personal paths to knowledge.”  “The emerging 21st century professional occupation addressing the needs of the age focused upon clarity, human understanding, and the science of the organization of information”
n     Defines the visual roadmap seen by the customers of the company with emphasis on making it easy for customers to find the needed data to make appropriate decisions regarding their medical care and management.
n     Establishes branding policy and holds the UI templates.
n     Establishes the personalization policy with a goal to building customer loyalty and relationship enrichment.
n     Defines the recommended dialog flow for long-running transactions and “speech acts” in coordination with the Business Process Group.

Internet Architect

n     Monitors the emerging standards for B2B & B2C internet interaction and sets the standards and technologies to be used by the enterprise.  These include the existing HTML, applet & XML standards, and the emerging web services and semantic net standards.
n     Coordinates with the other architects on issues dealing with the quality flaws of the existing standards, especially security, session state and long-running transactions.
n     Builds a composite reference model to be used on internet-based applications, incorporating the models provided by the system architect, network architect, security architect, and applications architect.

Network Architect

Because there already exists a central Network team the Network Architect may reside in this team and be matrixed into the Architecture team.
n     Focuses on the lower-level transport protocols and the standards and technologies for enabling systems qualities via network command-and-control structures.
n     Evaluates and selects the enterprise’s networking hardware.
n     Manages the network topology.
n     Establishes network operation center (NOC) command-and-control structures for auto-discovery, event monitoring, trouble ticketing.
n     Facilitates the upgrade to the Web-Based Enterprise Management (WBEM) standard of the Distributed Management Task Force (DMTF) and select the appropriate Common Information Model Object Manager (CIMOM) for tracking the state of the enterprises assets.

System Architect

n     Focuses on the standards and technologies for enabling systems performance qualities, such as availability, scalability, recoverability, etc.
n     Evaluates and selects the enterprise’s server hardware, operating system, job control.
n     Supports the Applications architect in selecting the application framework.
n     Balances the quality issues cost vs. robustness, and hardware architecture, such as share-nothing n-tier vs. share-all symmetric multi-processing (SMP).
n     Monitors performance benchmarks provided by the Transaction Processing Council (TPC).
n     In conjunction with the Project Architect (PA) sizes the application and selects the hardware and configuration to use.
n     Participates in the drafting of Service Level Agreements (SLA).
n     Establishes a process to monitor existing systems for performance problems and drafts system migration plan if necessary.

Security Architect

n     Monitors security guidelines, such as HIPAA.
n     Establishes and enforces the Security Policy and Trust Model for Administrators to follow in delegating and granting application privileges.
n     Establishes and enforces the Security Model, technologies and standards for system architects and designers.
n     Tracks warnings of new types of security threats and assures that the systems in place guard against these threats.
n     Establishes the systems for discovering, tracking and convicting abusers of security and system integrity.
n     Performs periodic security audits on existing systems.

Process/Methodology Architect

While the other architects are focused on what the system should contain, the process architect is focused on how the application should be designed and built.
n     Reviews and selects the Design Methodology and Modeling Language.  Methodologies may be based on the Zachman, Rational Unified Process (RUP), Catalysis, RM-ODP, Iconix, SAADAM, etc.  The modeling language should incorporate the Business Process Model (BPML) and the Unified Modeling Language (UML).
n     Reviews and selects the Process Management Methodology.  It is recommended that the new iterative methodologies from the Agile Alliance be reviewed for adoption, esp. Feature-Drive Development (FDD).
n     Defines roles & responsibilities and creates a template Project Plan for modification by Project Managers.
n     Selects CASE & IDE tool & Design Repository.
n     Communicates the above to the development teams, and is enforced by the Project Architects (PA).
n     Manages the education of the PAs.

Project Architects (PA)

n     Responsible for translating application requirements and business process models (BPM) into component and interface specifications.
n     Ensures that the Technology Partners and development teams adhere to the principles established by the Enterprise Architects.
n     Designs first-draft graphical UML & ER models that are delivered to the software development & DBA teams.

The activities of the Project Architect (PA) can be contrasted with the Project Manager (PM) as shown in the following table:
Topic
Project Manager
Project Architect
Software Development
Organize project; manage resources, budgets, schedules
Organizes team or technology partner around design; manages dependencies
Requirements
Negotiate with marketing; emphasis on business process and user interface
Review requirements; emphasis on functionality and system qualities
Personnel issues
Handle hiring; performance appraisals, salary; motivate employees
Interview candidates; provide input on technical capabilities of staff; motivate development team
Technology
Introduce new technologies per architect’s recommendations
Recommend technology, standards, training, tools
Quality
Ensure quality of product
Ensure quality of design and operational control characteristics
Metrics
Measure productivity, size, quality
Ensure design goals are met, volumetrics do not exceed scale


Hope this is helpful. Do come back for more details.

Wednesday, January 11, 2012