how architects nurture technical excellence
TRANSCRIPT
HOW ARCHITECTS NURTURE TECHNICAL EXCELLENCE@patkua
1
Who is @thoughtworks
Who is @patkua
tiny.cc/retrostiny.cc/twtl
#architect#developer#leader#coach
#lifelong-learner
#author#facilitator
#speaker
WHERE ARE WE GOING?
4
GOALS
Identify what Technical Excellence means Explore how Architects behave in an agile environment New tools and techniques for improving Technical Excellence Examples and stories New connections
OUR PLAN
Define Technical Excellence
Explore the role of an Architect in
Agile environments
Uncover how Architects encourage Technical Excellence
HOW WE WILL WORK
Small presentations Group discussions Individual brainstorming Group work
WHO DO WE HAVE?
8
INTRODUCTIONS
Please introduce yourself to your table
INTRODUCTIONS
10-15 minutes
Name and from which country they are from Current company and role Years of experience working in agile envinornments One interesting fact about your professional life
WHAT IS TECHNICAL EXCELLENCE?
11
WHAT IS *NOT* TECHNICAL EXCELLENCE
12
EXAMPLES OF TECHNICAL EXCELLENCE
The right level of…
automationdesignrefactoring
The appropriate use of…
new technologiesnew tools
NOT CONCRETE ENOUGH
Brainstorm concrete examples
where you have seen Technical Excellence?
(One example per sticky note)
Attempt a definition of Technical Excellence
Technical Excellence
is… (category e.g. noun, verb, adjective)
that … (expanded definition)
Examples include…
Synonyms…
THE ARCHITECT ROLE
17
A SOFTWARE ARCHITECT
a role responsible for Technical Vision
ideally coding focusing on the long term view worried about overall consistency
thinking about system trade-offs guardian of Cross Functional Requirements (CFRs)
Is…
RELEVANT CONCEPTS IN AGILE METHODOLOGIES
Scrum
Kanban
Crystal
FDDFeature Leads
XP System MetaphorCollective Code Ownership
SAFEArchitect/EngineeringEnterprise Architect
Modern AgileMake it safe to fail
ARCHITECTURE
- Grady Booch
“ All architecture is design, but not all design is architecture ”
ARCHITECT ROLELeadership
Coaching
Feedback
Delegating
Facilitating
CommunicationRisk Management
InfluenceRelationship
Building
Team Management
Conflict Resolution
Motivation
NegotiationOO
DevelopmentAutomated testing
RefactoringPairing skills
Design Patterns Knowledge of tools
DB
Iterative and Incremental
Design
Class Design
Writing Code Analysis
Architecture
Technical Risk Management
Release Management
CFRsTechnical Vision and Cohesion
Infrastructure
Build vs Buy Decisions
Evolutionary Architecture
Wide Toolkit
System Design
Whole Lifecycle FocusNon-Technical
Stakeholder Advice
www.thekua.com
WHAT SHOULD AN ARCHITECT DO?
Brainstorm (1 item per sticky)
activities and responsibilities you see successful architects do
ARCHITECTS + TECHNICAL EXCELLENCE
23
What concrete actions/activities have you seen/experienced
where a Software Architect encouraged Technical Excellence?
What concrete actions/activities have you seen/experienced
where a Software Architect failed to encourage/discouraged
Technical Excellence?
Support (Active)
Support (Passive)
Discourage (Active)
Discourage (Passive)
CLASSIFICATION
CAPTURE THE STORIES
TITLEOne line description (challenge + solution)
SUMMARY
28
OUR PLAN
Define Technical Excellence
Explore the role of an Architect in
Agile environments
Uncover how Architects encourage Technical Excellence
GOALS
Identify what Technical Excellence means Explore how Architects behave in an agile environment New tools and techniques for improving Technical Excellence Examples and stories New connections
CLOSING THOUGHTS
@patkua
QUESTIONS OR COMMENTS?