Technical Duties to be performed by Architects

Posted by Abhishek on January 04, 2020

General

Not every architect in every organization will perform every one of these duties on every project. But a competent architect should not surprised to find himself or herself engaged in any of the activities listed below. Broadly, there are 2 categories of duties.

  1. Technical Duties
  2. Non-Technical Duties

Technical Duties

Specific DutyExamples of Duties
Creating an architecture– Design or Select an architecture
– Create a Software Architecture Design Plan
– Building a product line or product architecture
– Making Design Decisions
– Detail out & Refine the Design
– Identifying Patterns & Tactics
– Partitioning the System
– Define how components fit together
Evaluating & Analyzing an Architecture– Evaluating the architecture of a current system
– How many use-cases & quality attribute scenarios does it address – Participate in Design Reviews
– Create Prototypes
– Review the design of components by junior engineers
– Review designs for compliance with architecture
– Compare architecture evaluation techniques
– Coming up with an alternative approach
– Performing trade off analysis
Documenting an Architecture– Prepare Architectural Documents and Presentations for stakeholders
– Document Software Interfaces
– Produce Documentation Standards
– Document Variabilities & Dynamic Behavior
Working with and transforming existing systems– Maintain & Evolve the existing system and its architecture
– Redesign existing architecture for migration to new technologies & platforms
Other Architectural Duties– Sell the vision & keeping the vision alive
– Participate in Product Design Meetings
– Give Technical advice on architecture, design & development
– Provide architectural guidelines for software design activities
– Lead architecture improvement activities
– Participate in Software Process Definition & Improvement
– Define the principles of Global Architecture
– Oversee & Manage the Architecture Definition Process
Managing the Requirements– Analyze Functional & Non Functional Requirements
– Understand Business & Customer Needs and ensure that the requirements meet these needs
– Capture customer, organizational and business requirements on the architecture
– Create Software Specifications from Business Requirements
– Listen to and Understand the Scope of the Project
– Understand the client’s key design needs and expectations
Implementing the Product– Produce Code
– Conduct Code Reviews
– Develop Reusable Software Components
– Analyze, Select & Integrate Software Components
– Set and Ensure Adherence to Coding Guidelines
– Recommend Development Methodologies and Coding Standards – Monitor, Mentor, and Review the work of outside consultants and vendors
Testing the Product– Establish architecture-based testing procedures
– Support System Testers
– Support Field Testers
– Support Bug Fixing and Maintenance
Evaluating Future Technologies– Evaluate and recommend Enterprise’s Software Solutions
– Manage the introduction of New Software Solutions
– Analyze the current IT environment and recommend solutions for deficiencies
– Work with Vendors to represent the organization’s requirements and influence future products
– Develop and Present Technical White Papers
Selecting Tools and Technology– Perform Technical feasibility studies of New Technologies & Architectures
– Evaluate Commercial Tools and Software Components from an architecture perspective
– Develop Internal Technical Standards and Contribute to the Development of External technical Standards

Thanks for reading this post. Enjoy !!
Share on: