SlideShare a Scribd company logo
1 of 27
Become More Agile By Building The
Right Software Architecture
WEBINAR
Speakers
Uzi Mamani Fernández
Dev Lead at Belatrix Software
Charles Green
Director of Thought Leadership
Architecture connects what we build with
our business strategy
Your architecture is your business strategy translated into technology
QUESTIONS
#ArchitectureBSF
Software architecture is
about making choices
Languages and frameworks
Design patterns
Standards
Platforms
Cloud solutions
Hardware
QUESTIONS
#ArchitectureBSF
Agenda
• How building the right software architecture
impacts business results
• The different choices for software architecture
and case studies:
• SOA
• CQRS
• Event-driven architecture
• Q&A
6
“Big design up front
is dumb.
Doing no design up front
is even dumber.”
(Dave Thomas)
QUESTIONS
#ArchitectureBSF
7Uzi Mamani Creative Commons (@uzigula)
(Gregory Young)
QUESTIONS
#ArchitectureBSF
There is only one architecture.
It is the one of the system you are talking about.
8
Garlan and Shaw
Working at Carnegie-Mellon in the ‘90s Shaw and
Garlan begin identifying architectural styles.
Shaw and Garlan propose that the journey from
craft to engineering is the creation of a body of
knowledge that allows repeatable large scale
production. Science provides the insights here
that drive engineering.
Similar goal to the Design Patterns community –
but at a different scale, capture knowledge on
patterns of component interaction.
QUESTIONS
#ArchitectureBSF
What is an Architectural Style?
9
QUESTIONS
#ArchitectureBSF
A component is a basic architectural
computational component – clients, servers,
filters, layers, a database etc.
A connector provides the interaction between
components.
A style is a vocabulary of possible components and
connector types, and constraints on how they can
be applied.
Given the above we can classify architectures:
o What is the design vocabulary?
o What are the allowed structural patterns?
o What is the underlying computational model?
o What are the essential invariants?
Software Architecture
10
QUESTIONS
#ArchitectureBSF
Architectural Styles
• Service Oriented Architecture (SOA)
• Event Driven Architecture (EDA)
Architectural Patterns
• Hexagonal Pattern
• Layered Pattern
• CQRS Pattern
• Event Sourcing Pattern
11Uzi Mamani Creative Commons (@uzigula)
QUESTIONS
#ArchitectureBSF
Service-Oriented Architecture (SOA)
SOA
12
• Autonomous services
• Boundaries between services
• Contract and schema shared
• Service interaction controlled by
policy
Source: SOA 2.0 (http://www.slideshare.net/jeppec/soa-and-event-driven-architecture-soa-20)
QUESTIONS
#ArchitectureBSF
13
QUESTIONS
#ArchitectureBSF
Event-Driven Architecture
Event-Driven Architecture
14
• Produces non-blocking, highly scalable
applications
• Adaptable
• Used for small and large complex
applications
QUESTIONS
#ArchitectureBSF
Event-Driven Architecture
15
Event-driven architecture mediator topology
Source: http://radar.oreilly.com/2015/02/variations-in-event-driven-architecture.html
QUESTIONS
#ArchitectureBSF
Event-Driven Architecture
16
Event-driven architecture broker topology
Source: http://radar.oreilly.com/2015/02/variations-in-event-driven-architecture.html
QUESTIONS
#ArchitectureBSF
17
QUESTIONS
#ArchitectureBSF
Command & Query
Responsibility Segregation
Architectural Pattern
(CQRS)
CQRS Pattern
18
Components are either query-side components
or command-side components.
The path of a request through the system only
passes through command-side or query-side
components depending on whether it is
querying or modifying the state of the system.
Only command-side components can update a
repository, query-side components just read
from it.
Commands and queries are usually explicit
components on their respective sides.
Both the command-side and the query-side are
layered, but there are usually far fewer layers
on the query-side.
Martin Fowler, http://martinfowler.com/bliki/CQRS.html
QUESTIONS
#ArchitectureBSF
CQRS Pattern - Real Example
19
QUESTIONS
#ArchitectureBSF
CQRS Pattern - Real Example
20
QUESTIONS
#ArchitectureBSF
21
But the business
needs to be flexible
2222
When things can go wrong
High Contention Domains
“Real Time”
• Updates
• Notifications
• Transactions, etc
232323
What about if…..
24Uzi Mamani Creative Commons (@uzigula)
Grady Booch
QUESTIONS
#ArchitectureBSF
« All architecture is design but not all design is
architecture. »
25
«Architecture represents the significant design
decisions that shape a system, where significance is
measured by cost of change... »
Grady Booch
QUESTIONS
#ArchitectureBSF
26Uzi Mamani Creative Commons (@uzigula)
(Simon Brown)
QUESTIONS
#ArchitectureBSF
Just enough up front
design to
understand the structure
of the software and
create a shared vision
for the team.
Thank you!
Charles Green
Director of Thought Leadership
Belatrix Software
cgreen@belatrixsf.com
Uzi Mamani Fernández
Dev Lead at Belatrix Software
umamani@belatrixsf.com
@uzigula
theagileroad.blogspot.com

More Related Content

Similar to Become More Agile By Building The Right Software Architecture

Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
Mike Walker
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
marksimpsongw
 
SOA_CJIB_Marc_Govers
SOA_CJIB_Marc_GoversSOA_CJIB_Marc_Govers
SOA_CJIB_Marc_Govers
Marc Govers
 

Similar to Become More Agile By Building The Right Software Architecture (20)

Build, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldBuild, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the World
 
Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Inte...
Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Inte...Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Inte...
Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Inte...
 
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
Sergii Bielskyi "Azure Logic App and building modern cloud native apps"
 
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
 
Cloud expo 2018: From Apollo 13 to Google SRE - When DevOps meets SRE
Cloud expo 2018: From Apollo 13 to Google SRE - When DevOps meets SRECloud expo 2018: From Apollo 13 to Google SRE - When DevOps meets SRE
Cloud expo 2018: From Apollo 13 to Google SRE - When DevOps meets SRE
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
 
Cloud native
Cloud nativeCloud native
Cloud native
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise Architecture
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff Session
 
EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS
 
Program Management in MBSE
Program Management in MBSEProgram Management in MBSE
Program Management in MBSE
 
Soa e book-informit
Soa e book-informitSoa e book-informit
Soa e book-informit
 
SOA Methodology - Strategy (as of 2010)
SOA Methodology - Strategy (as of 2010)SOA Methodology - Strategy (as of 2010)
SOA Methodology - Strategy (as of 2010)
 
GHC 2019 Abstract - Building a Service Delivery Infrastructure
GHC 2019 Abstract - Building a Service Delivery InfrastructureGHC 2019 Abstract - Building a Service Delivery Infrastructure
GHC 2019 Abstract - Building a Service Delivery Infrastructure
 
SOA for SSME 2009
SOA for SSME 2009SOA for SSME 2009
SOA for SSME 2009
 
SOA_CJIB_Marc_Govers
SOA_CJIB_Marc_GoversSOA_CJIB_Marc_Govers
SOA_CJIB_Marc_Govers
 
A Business Perspective on Building SharePoint 2013 Solutions on Windows Azure
A Business Perspective on Building SharePoint 2013 Solutions on Windows AzureA Business Perspective on Building SharePoint 2013 Solutions on Windows Azure
A Business Perspective on Building SharePoint 2013 Solutions on Windows Azure
 
Iterative Architecture: Your Path to on-time Delivery
Iterative Architecture: Your Path to on-time DeliveryIterative Architecture: Your Path to on-time Delivery
Iterative Architecture: Your Path to on-time Delivery
 

More from Belatrix Software

More from Belatrix Software (20)

Top 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móvilesTop 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móviles
 
Pruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOpsPruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOps
 
Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19
 
Multitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de DatosMultitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de Datos
 
Desarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con JavaDesarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con Java
 
Creando Animaciones en React Native
Creando Animaciones en React NativeCreando Animaciones en React Native
Creando Animaciones en React Native
 
Microservicios con spring
Microservicios con springMicroservicios con spring
Microservicios con spring
 
RPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negociosRPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negocios
 
Estrategias para alcanzar la Transformación Digital
Estrategias para alcanzar la Transformación DigitalEstrategias para alcanzar la Transformación Digital
Estrategias para alcanzar la Transformación Digital
 
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasTesting de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
 
Api NodeJS con PureScript
Api NodeJS con PureScriptApi NodeJS con PureScript
Api NodeJS con PureScript
 
Machine Learning vs. Deep Learning
Machine Learning vs. Deep LearningMachine Learning vs. Deep Learning
Machine Learning vs. Deep Learning
 
Metodologías de CSS
Metodologías de CSSMetodologías de CSS
Metodologías de CSS
 
Los retos de un tester ágil
Los retos de un tester ágilLos retos de un tester ágil
Los retos de un tester ágil
 
IoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitasIoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitas
 
Lleva tus aplicaciones móviles a otro nivel con Flutter
Lleva tus aplicaciones móviles a otro nivel con FlutterLleva tus aplicaciones móviles a otro nivel con Flutter
Lleva tus aplicaciones móviles a otro nivel con Flutter
 
Microservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricMicroservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service Fabric
 
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
Micro Frontends: Rompiendo el monolito en las aplicaciones WebMicro Frontends: Rompiendo el monolito en las aplicaciones Web
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
 
Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way
 
Integrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones ReactIntegrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones React
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Become More Agile By Building The Right Software Architecture

  • 1. Become More Agile By Building The Right Software Architecture WEBINAR
  • 2. Speakers Uzi Mamani Fernández Dev Lead at Belatrix Software Charles Green Director of Thought Leadership
  • 3. Architecture connects what we build with our business strategy Your architecture is your business strategy translated into technology QUESTIONS #ArchitectureBSF
  • 4. Software architecture is about making choices Languages and frameworks Design patterns Standards Platforms Cloud solutions Hardware QUESTIONS #ArchitectureBSF
  • 5. Agenda • How building the right software architecture impacts business results • The different choices for software architecture and case studies: • SOA • CQRS • Event-driven architecture • Q&A
  • 6. 6 “Big design up front is dumb. Doing no design up front is even dumber.” (Dave Thomas) QUESTIONS #ArchitectureBSF
  • 7. 7Uzi Mamani Creative Commons (@uzigula) (Gregory Young) QUESTIONS #ArchitectureBSF There is only one architecture. It is the one of the system you are talking about.
  • 8. 8 Garlan and Shaw Working at Carnegie-Mellon in the ‘90s Shaw and Garlan begin identifying architectural styles. Shaw and Garlan propose that the journey from craft to engineering is the creation of a body of knowledge that allows repeatable large scale production. Science provides the insights here that drive engineering. Similar goal to the Design Patterns community – but at a different scale, capture knowledge on patterns of component interaction. QUESTIONS #ArchitectureBSF
  • 9. What is an Architectural Style? 9 QUESTIONS #ArchitectureBSF A component is a basic architectural computational component – clients, servers, filters, layers, a database etc. A connector provides the interaction between components. A style is a vocabulary of possible components and connector types, and constraints on how they can be applied. Given the above we can classify architectures: o What is the design vocabulary? o What are the allowed structural patterns? o What is the underlying computational model? o What are the essential invariants?
  • 10. Software Architecture 10 QUESTIONS #ArchitectureBSF Architectural Styles • Service Oriented Architecture (SOA) • Event Driven Architecture (EDA) Architectural Patterns • Hexagonal Pattern • Layered Pattern • CQRS Pattern • Event Sourcing Pattern
  • 11. 11Uzi Mamani Creative Commons (@uzigula) QUESTIONS #ArchitectureBSF Service-Oriented Architecture (SOA)
  • 12. SOA 12 • Autonomous services • Boundaries between services • Contract and schema shared • Service interaction controlled by policy Source: SOA 2.0 (http://www.slideshare.net/jeppec/soa-and-event-driven-architecture-soa-20) QUESTIONS #ArchitectureBSF
  • 14. Event-Driven Architecture 14 • Produces non-blocking, highly scalable applications • Adaptable • Used for small and large complex applications QUESTIONS #ArchitectureBSF
  • 15. Event-Driven Architecture 15 Event-driven architecture mediator topology Source: http://radar.oreilly.com/2015/02/variations-in-event-driven-architecture.html QUESTIONS #ArchitectureBSF
  • 16. Event-Driven Architecture 16 Event-driven architecture broker topology Source: http://radar.oreilly.com/2015/02/variations-in-event-driven-architecture.html QUESTIONS #ArchitectureBSF
  • 17. 17 QUESTIONS #ArchitectureBSF Command & Query Responsibility Segregation Architectural Pattern (CQRS)
  • 18. CQRS Pattern 18 Components are either query-side components or command-side components. The path of a request through the system only passes through command-side or query-side components depending on whether it is querying or modifying the state of the system. Only command-side components can update a repository, query-side components just read from it. Commands and queries are usually explicit components on their respective sides. Both the command-side and the query-side are layered, but there are usually far fewer layers on the query-side. Martin Fowler, http://martinfowler.com/bliki/CQRS.html QUESTIONS #ArchitectureBSF
  • 19. CQRS Pattern - Real Example 19 QUESTIONS #ArchitectureBSF
  • 20. CQRS Pattern - Real Example 20 QUESTIONS #ArchitectureBSF
  • 21. 21 But the business needs to be flexible
  • 22. 2222 When things can go wrong High Contention Domains “Real Time” • Updates • Notifications • Transactions, etc
  • 24. 24Uzi Mamani Creative Commons (@uzigula) Grady Booch QUESTIONS #ArchitectureBSF « All architecture is design but not all design is architecture. »
  • 25. 25 «Architecture represents the significant design decisions that shape a system, where significance is measured by cost of change... » Grady Booch QUESTIONS #ArchitectureBSF
  • 26. 26Uzi Mamani Creative Commons (@uzigula) (Simon Brown) QUESTIONS #ArchitectureBSF Just enough up front design to understand the structure of the software and create a shared vision for the team.
  • 27. Thank you! Charles Green Director of Thought Leadership Belatrix Software cgreen@belatrixsf.com Uzi Mamani Fernández Dev Lead at Belatrix Software umamani@belatrixsf.com @uzigula theagileroad.blogspot.com