SlideShare a Scribd company logo
Agile and Architecture: An Oxymoron?
Building robust software in an agile world
● 6+ years fullstack developer
● 3+ years technical architect @ one45 software
What I like to code in:
● iOS (objective-c, swift)
● PHP, Symfony 2,3,4(coming soon)
● AngularJS ??(1,2) ===> (React vs Vu)
Currently working on:
● Data Integration
● ML/AI
● Data visualization
Slido.com #6512
Hi my name is Scott Hsieh
Agile development
Lean Agile
Find the right
product
Building product
and getting the
product to client
MVP
Product
Management
Project
Management
Slido.com #6512
3 Amigos approach
- Plan
- Develop
- Test/Verify
- Ship
Good for getting things out the
door but not so much for putting
out robust code. We will see why
later.
Slido.com #6512
Typical Lifespan of a project (what management expects)
Time
Project
health
Slido.com #6512
Typical Lifespan of a project (What actually happened)
Time
Project
Health
Slido.com #6512
Journey of a software project - the beginning
Time
beginning
coupling
Slido.com #6512
Journey of a software project - the middle
Time coupling
a mistake
occurred
Slido.com #6512
Journey of a software project - the beginning
coupling
compensation
for mistake
Time
Slido.com #6512
Journey of a software project - the end
Time
rewrite
Slido.com #6512
The finished product
● A product that ...
○ That is 100% functional (MVP)
○ Changes made overtime have
reduced the ability to make future
changes as fast original pace
○ Full of software mistakes that are
invisible to Clients and QA aka
“technical debt”
Slido.com #6512
● Code does not moist, rot, degrade
● There are no crap elves that comes out at night and add
bad code
Code does not go bad on its own
Slido.com #6512
Code is bad only if we
put it there.
We are the crap elves.
Slido.com #6512
Most common causes for software mistakes
● Change in product requirements
● Software management
● Compounding existing technical debts
Slido.com #6512
Current Development Process
Lean Agile
Customer
Value
Speed/AgilityMVP
Fastest
way to
deliver
value
Product
Management
Project
Management
Slido.com #6512
The missing link
Lean Agile
Speed/Agility
Product
Management
Structure of
Development
Customer
Value
Architecture
Quality
MVP
Slido.com #6512
Software Architecture in Agile world
Slido.com #6512
Agility in Software Architecture
Adaptation Anticipation
Slido.com #6512
How does Software Architecture help?
Slido.com #6512
Most common causes for software mistakes
● Change in product requirements
● Software management
● Compounding existing technical debts
Slido.com #6512
Change in requirement
● Change in scope of the project
● Adding new functionality to systems that
was not originally designed to support
Slido.com #6512
Most common causes for software mistakes
● Change in product requirements
● Software management
● Compounding existing technical debts
Slido.com #6512
3 Amigos approach
- Plan
- Develop
- Test/Verify
- Ship
Slido.com #6512
Software management
Input Output
100% 85% 60% 45%
Slido.com #6512
Software development is a Relay race
Development as a team is all
about “Momentum transfer”
- Get to the end with minimum
loss in quality
- We spent a lot of time thinking
about how to get started on a
task. If receiver can build
momentum before he/she
receive the task we minimize
“outages”
Slido.com #6512
Software development
I’m done my
lap. Your turn.
K.
Wall of Confusion
Most common causes for software mistakes
● Change in product requirements
● Software management
● Compounding existing technical debts
Slido.com #6512
Dual track Agile
Slido.com #6512
The Zipper model
From product requirements derive:
● Functional requirements
● Architectural requirements
Establish
● Dependencies
● Cost
Plan interleaving:
● Functional increments
● Architectural increments
● Functional Requirement
● Technical Requirement
Slido.com #6512
The Zipper model benefits
● Gradual emergence of architecture
– Deliberate, not accidental
● Validate on architecture with actual
functionality (not mere hypotheses)
● Just enough to support development
● Functional Requirement
● Technical Requirement
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agie
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Product Manager, Technical Lead, UX
Scrum master, Technical Lead, Developers
Dual Track Agile
Balances between the big picture and
now – an agile software architect has
to think about what is happening
during the development together with
aligning it with the big picture of the
entire system.
Hands-on experience – an agile software
architect is also a developer and
works on the implementation of the
system. This gives first-hand
feedback on the taken architectural
decisions.
Produces prototypes to make Focus on
sustainability
Slido.com #6512
Product Manager, Technical Lead, UX
Project Manager, Technical Lead, Developers
Most common causes for software mistakes
● Change in product requirements
● Software management
● Compounding existing technical debts
Slido.com #6512
Technical Debt are software mistakes
- When a mistake
happened, this is pretty
much the only chance
you had to fix it
coupling
a mistake
occurred
Slido.com #6512
Technical Debts are software mistakes
- You cannot build on top of
things you don’t understand
- most of it are compensating flaws
of other mistakes
- most software mistakes can’t be
fixed
- cost/time
- invisible coupling
compensation
for mistake
Slido.com #6512
● when a mistake happens in a N-tier
architecture if a mistake happened. It will
smooth itself out further away the layer is
from the source
● Components with compensation logic is
no longer re-usable or else technical debt
will multiply
● More expensive to fix down the road
more layer the technical debt is seen
regardless how small it is
N-tier architecture compounding debt
Database/
Repository
Service
View
First mistake, had
the chance to fix it
but ignored
compensation
Slido.com #6512
- what we can do is correct the
mistakes at the level where the
mistakes happens
- dev team don’t allow direct access
to the resources with mistakes,
only interfacing through the
correction layer
- dev team has to agree on where
the correction layer lives
N-tier architecture debt correction
Database/R
epository
Service
View
mistake
correction
Slido.com #6512
Conclusion
● Architecture is only as effective if the end goal is clear
● Architecture and Product requirement has to align
● If requirement or the scope of the project change dramatically we don’t
repair/refactor we re-design
● Never access the the resource/logic directly if it has correction to fix the
original mistake
● Dev team should agree upon a standard way on how we should access
those problematic resources in systems going forward
Slido.com #6512

More Related Content

What's hot

It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...
Luca Minudel
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
Yassine ELQANDILI ☁
 
A Crash Course in Rapid Application Development
A Crash Course in Rapid Application DevelopmentA Crash Course in Rapid Application Development
A Crash Course in Rapid Application Development
Progress
 
Embedding a Shift Left Culture in your Enterprise
Embedding a Shift Left Culture in your EnterpriseEmbedding a Shift Left Culture in your Enterprise
Embedding a Shift Left Culture in your Enterprise
Gerald Bachlmayr
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
STX Next
 
What is quality, and how do we build it in
What is quality, and how do we build it in What is quality, and how do we build it in
What is quality, and how do we build it in
Maryam Umar
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
tranquynh93
 
Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...
Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...
Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...
JJ Sutherland
 
Go Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationGo Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid Innovation
Fred George
 
The Phoenix Project DevOps Simulation - Paul Wilkinson
The Phoenix Project DevOps Simulation - Paul WilkinsonThe Phoenix Project DevOps Simulation - Paul Wilkinson
The Phoenix Project DevOps Simulation - Paul Wilkinson
Pink Elephant
 
Forget about Agile
Forget about AgileForget about Agile
Forget about Agile
Software Guru
 
Agile Workshop: Releasing Quality Software
Agile Workshop: Releasing Quality SoftwareAgile Workshop: Releasing Quality Software
Agile Workshop: Releasing Quality SoftwareSiddhi
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
DicodingEvent
 
Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4
Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4
Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4
AgileSparks
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware
Cprime
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
IBM UrbanCode Products
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
AgileSparks
 
Project management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specificProject management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specific
Luca Minudel
 
CI/CD - A strategy for success (North Africa Dreamin' Prez)
CI/CD - A strategy for success (North Africa Dreamin' Prez)CI/CD - A strategy for success (North Africa Dreamin' Prez)
CI/CD - A strategy for success (North Africa Dreamin' Prez)
Yassine ELQANDILI ☁
 

What's hot (20)

Shifting Left Webinar Slideshow
Shifting Left Webinar SlideshowShifting Left Webinar Slideshow
Shifting Left Webinar Slideshow
 
It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
 
A Crash Course in Rapid Application Development
A Crash Course in Rapid Application DevelopmentA Crash Course in Rapid Application Development
A Crash Course in Rapid Application Development
 
Embedding a Shift Left Culture in your Enterprise
Embedding a Shift Left Culture in your EnterpriseEmbedding a Shift Left Culture in your Enterprise
Embedding a Shift Left Culture in your Enterprise
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
What is quality, and how do we build it in
What is quality, and how do we build it in What is quality, and how do we build it in
What is quality, and how do we build it in
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
 
Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...
Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...
Agile Defense - Changing the Way Wars Are Fought, Logistics Delivered, and Ho...
 
Go Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationGo Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid Innovation
 
The Phoenix Project DevOps Simulation - Paul Wilkinson
The Phoenix Project DevOps Simulation - Paul WilkinsonThe Phoenix Project DevOps Simulation - Paul Wilkinson
The Phoenix Project DevOps Simulation - Paul Wilkinson
 
Forget about Agile
Forget about AgileForget about Agile
Forget about Agile
 
Agile Workshop: Releasing Quality Software
Agile Workshop: Releasing Quality SoftwareAgile Workshop: Releasing Quality Software
Agile Workshop: Releasing Quality Software
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
 
Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4
Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4
Harmonic's Journey Scaled-Agile In The New Generation of Cable OS v4
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
 
Project management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specificProject management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specific
 
CI/CD - A strategy for success (North Africa Dreamin' Prez)
CI/CD - A strategy for success (North Africa Dreamin' Prez)CI/CD - A strategy for success (North Africa Dreamin' Prez)
CI/CD - A strategy for success (North Africa Dreamin' Prez)
 

Similar to Agile software architecture

Way to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayWay to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile Way
Ramadevi Lakshmanan
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
Brad Beiermann
 
Upmc tpdev1
Upmc tpdev1Upmc tpdev1
Upmc tpdev1
Jean-Yves Rigolet
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 
Agile – The New Kid in the Block?
Agile – The New Kid in the Block?Agile – The New Kid in the Block?
Agile – The New Kid in the Block?
Michael Tarnowski
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
YashrajNayak4
 
Scrum Framework in Agile
Scrum Framework in AgileScrum Framework in Agile
Scrum Framework in Agile
Wipro
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
Oracle Development Cloud Service
Oracle Development Cloud ServiceOracle Development Cloud Service
Oracle Development Cloud Service
andrejusb
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...
Vadym Kazulkin
 
Grails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloudGrails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloud
GR8Conf
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
DevOpsDaysJKT
 
technical debt management strategies
technical debt management strategiestechnical debt management strategies
technical debt management strategies
Raquel Pau
 
EVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM Team
EVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM TeamEVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM Team
EVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM Team
Evolve The Adobe Digital Marketing Community
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
SSW
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
Vernon Stinebaker
 

Similar to Agile software architecture (20)

Way to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayWay to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile Way
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
 
Upmc tpdev1
Upmc tpdev1Upmc tpdev1
Upmc tpdev1
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Agile – The New Kid in the Block?
Agile – The New Kid in the Block?Agile – The New Kid in the Block?
Agile – The New Kid in the Block?
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 
Scrum Framework in Agile
Scrum Framework in AgileScrum Framework in Agile
Scrum Framework in Agile
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Oracle Development Cloud Service
Oracle Development Cloud ServiceOracle Development Cloud Service
Oracle Development Cloud Service
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...
 
Grails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloudGrails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloud
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
VinodKulkarni_Resume
VinodKulkarni_ResumeVinodKulkarni_Resume
VinodKulkarni_Resume
 
technical debt management strategies
technical debt management strategiestechnical debt management strategies
technical debt management strategies
 
EVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM Team
EVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM TeamEVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM Team
EVOLVE'14 | Keynote | Cat Reusswig | Building a Great AEM Team
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Reducing Cost With Agile
Reducing Cost With AgileReducing Cost With Agile
Reducing Cost With Agile
 

Recently uploaded

Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 

Recently uploaded (20)

Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 

Agile software architecture

  • 1. Agile and Architecture: An Oxymoron? Building robust software in an agile world
  • 2.
  • 3. ● 6+ years fullstack developer ● 3+ years technical architect @ one45 software What I like to code in: ● iOS (objective-c, swift) ● PHP, Symfony 2,3,4(coming soon) ● AngularJS ??(1,2) ===> (React vs Vu) Currently working on: ● Data Integration ● ML/AI ● Data visualization Slido.com #6512 Hi my name is Scott Hsieh
  • 4. Agile development Lean Agile Find the right product Building product and getting the product to client MVP Product Management Project Management Slido.com #6512
  • 5. 3 Amigos approach - Plan - Develop - Test/Verify - Ship Good for getting things out the door but not so much for putting out robust code. We will see why later. Slido.com #6512
  • 6. Typical Lifespan of a project (what management expects) Time Project health Slido.com #6512
  • 7. Typical Lifespan of a project (What actually happened) Time Project Health Slido.com #6512
  • 8. Journey of a software project - the beginning Time beginning coupling Slido.com #6512
  • 9. Journey of a software project - the middle Time coupling a mistake occurred Slido.com #6512
  • 10. Journey of a software project - the beginning coupling compensation for mistake Time Slido.com #6512
  • 11. Journey of a software project - the end Time rewrite Slido.com #6512
  • 12. The finished product ● A product that ... ○ That is 100% functional (MVP) ○ Changes made overtime have reduced the ability to make future changes as fast original pace ○ Full of software mistakes that are invisible to Clients and QA aka “technical debt” Slido.com #6512
  • 13. ● Code does not moist, rot, degrade ● There are no crap elves that comes out at night and add bad code Code does not go bad on its own Slido.com #6512
  • 14. Code is bad only if we put it there. We are the crap elves. Slido.com #6512
  • 15. Most common causes for software mistakes ● Change in product requirements ● Software management ● Compounding existing technical debts Slido.com #6512
  • 16. Current Development Process Lean Agile Customer Value Speed/AgilityMVP Fastest way to deliver value Product Management Project Management Slido.com #6512
  • 17. The missing link Lean Agile Speed/Agility Product Management Structure of Development Customer Value Architecture Quality MVP Slido.com #6512
  • 18. Software Architecture in Agile world Slido.com #6512
  • 19. Agility in Software Architecture Adaptation Anticipation Slido.com #6512
  • 20. How does Software Architecture help? Slido.com #6512
  • 21. Most common causes for software mistakes ● Change in product requirements ● Software management ● Compounding existing technical debts Slido.com #6512
  • 22. Change in requirement ● Change in scope of the project ● Adding new functionality to systems that was not originally designed to support Slido.com #6512
  • 23. Most common causes for software mistakes ● Change in product requirements ● Software management ● Compounding existing technical debts Slido.com #6512
  • 24. 3 Amigos approach - Plan - Develop - Test/Verify - Ship Slido.com #6512
  • 25. Software management Input Output 100% 85% 60% 45% Slido.com #6512
  • 26. Software development is a Relay race Development as a team is all about “Momentum transfer” - Get to the end with minimum loss in quality - We spent a lot of time thinking about how to get started on a task. If receiver can build momentum before he/she receive the task we minimize “outages” Slido.com #6512
  • 27. Software development I’m done my lap. Your turn. K. Wall of Confusion
  • 28. Most common causes for software mistakes ● Change in product requirements ● Software management ● Compounding existing technical debts Slido.com #6512
  • 30. The Zipper model From product requirements derive: ● Functional requirements ● Architectural requirements Establish ● Dependencies ● Cost Plan interleaving: ● Functional increments ● Architectural increments ● Functional Requirement ● Technical Requirement Slido.com #6512
  • 31. The Zipper model benefits ● Gradual emergence of architecture – Deliberate, not accidental ● Validate on architecture with actual functionality (not mere hypotheses) ● Just enough to support development ● Functional Requirement ● Technical Requirement
  • 32. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 33. Dual Track Agie Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 34. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 35. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 36. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 37. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 39. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 40. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 41. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 42. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 43. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 44. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 45. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 46. Dual Track Agile Product Manager, Technical Lead, UX Scrum master, Technical Lead, Developers
  • 47. Dual Track Agile Balances between the big picture and now – an agile software architect has to think about what is happening during the development together with aligning it with the big picture of the entire system. Hands-on experience – an agile software architect is also a developer and works on the implementation of the system. This gives first-hand feedback on the taken architectural decisions. Produces prototypes to make Focus on sustainability Slido.com #6512 Product Manager, Technical Lead, UX Project Manager, Technical Lead, Developers
  • 48. Most common causes for software mistakes ● Change in product requirements ● Software management ● Compounding existing technical debts Slido.com #6512
  • 49. Technical Debt are software mistakes - When a mistake happened, this is pretty much the only chance you had to fix it coupling a mistake occurred Slido.com #6512
  • 50. Technical Debts are software mistakes - You cannot build on top of things you don’t understand - most of it are compensating flaws of other mistakes - most software mistakes can’t be fixed - cost/time - invisible coupling compensation for mistake Slido.com #6512
  • 51. ● when a mistake happens in a N-tier architecture if a mistake happened. It will smooth itself out further away the layer is from the source ● Components with compensation logic is no longer re-usable or else technical debt will multiply ● More expensive to fix down the road more layer the technical debt is seen regardless how small it is N-tier architecture compounding debt Database/ Repository Service View First mistake, had the chance to fix it but ignored compensation Slido.com #6512
  • 52. - what we can do is correct the mistakes at the level where the mistakes happens - dev team don’t allow direct access to the resources with mistakes, only interfacing through the correction layer - dev team has to agree on where the correction layer lives N-tier architecture debt correction Database/R epository Service View mistake correction Slido.com #6512
  • 53. Conclusion ● Architecture is only as effective if the end goal is clear ● Architecture and Product requirement has to align ● If requirement or the scope of the project change dramatically we don’t repair/refactor we re-design ● Never access the the resource/logic directly if it has correction to fix the original mistake ● Dev team should agree upon a standard way on how we should access those problematic resources in systems going forward Slido.com #6512

Editor's Notes

  1. This graph here is what agile process promises if we follow its step to do scrum, retrospective, continuous delivery, gather feedback and repeat
  2. It is not just a diagram with lines and dots,
  3. But rather a complete set of decisions that govern the development of the system, including the code itself. Every decision made is a trade-off and should be carefully considered. The agile mindset requires to be open to changes, even late in the project
  4. What architecture offers is guide the project to a safe and smooth path towards the destination Layout what tools/resources we need for the project Identify and avoid potential pitfalls Not making any sharp turns (dramatic changes) or backtrack too much if a mistake is found