Application Architect Information Methodologies, Inc. Application Architect Given the complexity of Stanford’s applications, and the broad set of technologies support and define the application environment, we recommend that an Application Architect be designated for each major Stanford application. At best, the role of application architect is provided unevenly and with inconsistent standards across Stanford applications and projects. The application architect will be responsible for the detailed architectural and environmental documentation of each application environment. The application architect will coordinate with the TSS enterprise architect to ensure that a common and broad-based understanding of the architectural components exists and that ITSS standards are employed to describe them. Lack of an application architect has slowed crisis-level response to application software events, limited early troubleshooting and decision-making capabilities, and generally hindered problem analysis. It has also resulted in architectural misunderstandings between application technical staff and TSS staff. Applications: Persona Axess (Shared with Persona?) Delphi ReportMart Hyperion Data Warehouse (Shared with ReportMart?) Registry Others? Workload: Varies by size/complexity of application – Rough guideline: During development & implementation & upgrade projects: Full-time role During operations & maintenance: < ¼ time role Staffing: Ideally an existing technical team member used to working with some or all of the architectural components, e.g., technical manager, or lead developer. For new projects, this role should be identified and filled early. Training: Application architects should be familiarized with the various types of architectures they are expected to document and maintain (technical, data, application, network, etc.). They should also be familiarized with best practices for completing proofs of concept, defining and testing technical environments, etc. Support and standards should come from the TSS enterprise architect, especially as a QA and validation exercise. 3/6/2016 9:41:00 AM imi Proprietary and Confidential Page 1 of 3 Application Architect Information Methodologies, Inc. Role: Application Architect Senior technologist, with a fundamental understanding of the application business processes, responsible for planning, documenting, defining and evaluating technical integration information for a major application and across application components. Will assist with definition and will document technology platforms and dependencies for multiple environments (development, test, production, etc.). Responsibilities include: Understand, document, and monitor application layering dependencies (User-Interface, Deployment, Public Interface, Application Domain, Application Infrastructure, Technical Frameworks, and Platforms) and application component dependencies. Understand and monitor impacts to and dependencies between existing technical and network environments. Define and direct proof-of-concept tasks for proposed architectural interactions. Monitor software product, supporting tool, and platform licensing taxonomies for compliance and readiness. Define, plan, propose, and select enabling technologies to support packaged or custom applications. Prepare approach papers listing technology options, risks, and impacts of various architectural options. Define data dependencies within, between, and among various applications and application components. Define and direct coordination among database instances between, and across, various applications and application components. Document and maintain technical architecture, network architecture, application architecture, and technical application architecture diagrams and descriptions, including releases and versions of software. Document and maintain context diagrams, functional architectures, data architecture, and messaging architecture diagrams and descriptions. Ensure that architectural components optimally address business requirements. Lead / Participate in technical and infrastructure requirements engineering initiatives. Coordinate with other architects, project managers, and team leads to ensure the development matches the system model. Coordinate activities with the TSS enterprise architect to ensure broad understanding of architectural approaches and standards across ITSS. Define architecture risk mitigation plans. Monitor emerging technologies and technical releases from product vendors to evaluate applicability toward current efforts. Experience: Three or more years of experience as an application developer or application technical designer, plus two or more years of experience managing technical teams as a development manager, project manager, or team lead plus one to two years of experience as a junior architect, software architect, technical architect or data architect plus a deep knowledge and understanding of information technology approaches, applications, and architectures, tools, and methodologies. 3/6/2016 9:41:00 AM imi Proprietary and Confidential Page 2 of 3 Application Architect Information Methodologies, Inc. Recommended Application Architect Deliverables Application Context Diagram: Depicts and describes the application’s interaction with other systems and directionally describes the data or messages that flow into or away from the application. Functional (Business) Architecture: Depicts and describes logical components of the application and describes the basic domain functionality managed by that component. Technical Architecture: Depicts and describes the physical layout of the application across hardware platforms including servers and clients with embedded application architectures. Network Architecture: Depicts and describes the physical layout of the application across hardware and network devices. Protocols and client access methods are depicted. Application Architecture: Depicts and describes logical layering of application software across all physical or logical platforms. Data Architecture: Depicts and describes data movement between application components and between external entities and application components. Describes messaging formats and timing of data interactions. Instance Map: Depicts the use and purpose of application database instances over time. 3/6/2016 9:41:00 AM imi Proprietary and Confidential Page 3 of 3