Sunteți pe pagina 1din 14

Role of an Architect in

Software Engineering
Arpan Darivemula
CSC 532
Research Paper
Introduction
• Vast majority of people can define a builder,
architect, engineer but are confused when it
comes to software
• Probable reasons?
– No major for Software Architects
– Present Architects do not fulfill role
– Lack of a common standard point of view
Bigger picture
• Commonly used – meaning lost
• Each product requires 3 things
– Client, Architect, Plan
• Client - Architect - Builder
• Gives blueprint
• Client can look and blueprint and decide
• Building analogy
Architects v/s Engineers
• Architects think top down – come up with a
global solution
• Engineers thing bottom up – analyze data and
come up with best solution
• Software Architects go through both educations
as an Architect and as an Engineer
• Therefore can conceptualize AND analyze
The Role
• PRIMARY GOAL
• Client Advocacy
• Client needs and expectations
• Client requirements
• Client understanding blueprint
• Client finalizing
• Client satisfaction
Cont.
• Architects create architectures
• They do not guide development
• They oversee construction
• Need experience, well rounded, adaptability
• Plethora of choices
• Should not minimize choices to customer
• Personal preference based on refinement
Cont.
• Articulate architectural vision
• Create blueprints
• Models if needed
• Explore alternative architectural approaches
• Validate against customer reqs.
Cont.
• Not just technical activities
• Strategic activities
• Consultant
• Distaste for organizational politics
• Actively interact to sell the architecture to
stakeholders
• Communicate extensively to ensure success
World wide Inst. For SA
• 8 key areas for an Architect
• Pre-design – listen to client reqs, explore solu.
• Domain analysis – Understand reqs in detail.
Identifies the domain, outlines the desired
behavior of system. Evaluates client environ.
• Schematic design – architectural lvl designs, UI,
prototype, migration and risk assessment
• Design development – converge and finalize
design
Cont.
• Projects document – reqs of builders, document
team members and roles, const. guide, UI guide,
test guide, tools and methodologies
• Staffing – identify actual builders, outsource
• Construction – supervise, design reviews,
analyze problems, document change in design
• Post construction – assist client in merging
system or migrate, user training
Duties
• Define, document, communicate architecture
• Comes out in stages in timely manner
• Software and system architecture are in sync
• Make sure mngmt. Understands
• Make sure client understands
• Input on tools and environment
• Make sure architecture is not only right for
operations but also deployment and sustain
Cont.
• Resolve technical problems
• Maintain morale within and outside
• Presentations on progress of project
• Plan for new technology insertion
• Manage risk identification and assessment
Conclusion
• Well rounded, mature, adaptable, vision,
experience to make critical judgment in absence
of complete information
• Oversee construction, do not guide
development
• Interact with client and fulfill needs and
expectations without narrowing choices
Cont.
• Role changes throughout
• Visionary – early stages
• Translator, Designer, Critic – creation of
architecture
• Consultant – deployment
• Vital Leadership role maintained throughout