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