SlideShare a Scribd company logo
1 of 57
Download to read offline
Copyright 2024 Joseph Yoder & The Refactory
Being Agile
About Architecture
“Sustainable Architecture”
Joseph W. Yoder
The Refactory
Twitter: @metayoda
joe@refactory.com
http://www.refactory.com
Agile Architecture Practices
“Just enough Architecture”
Collaborated with
Eduardo Guerra
Rebecca Wirfs-Brock
Drive Practices
Patterns!
What is a Pattern?
Patterns can be thought of “Good Practices”
Proven Solutions to Repeating Problems
Proven Practices to Repeating Situations
Embody Experiences of What Works…
…and What Doesn’t Work
Captures or Describes Knowledge of Experts
Embody “Quality” Attributes for
Solutions to specific Designs
Go to hillside.net for more info
What is Agile?
Copyright 2024 Joseph Yoder & The Refactory
Before First Iteration
Machine
Learning
Start the project fast, being agile
Have a sustainable architecture
Climbing on the
Shoulders of Giants
to start the
architecture
Copyright 2024 Joseph Yoder & The Refactory
Climbing on the Shoulders of Giants
Build on a Reference Architecture
IoT Reference Architecture
[Azure IoT]
Microsoft, Azure IoT Reference Architecture, https://aka.ms/iotrefarchitecture ー 2018
Actions
Things Insights
Data
Stream
Data
Stream
IoT
Devices
Cloud
Gateway
(IoT Hub)
Stream
Processing
Warm
Path
Store
UI &
Reporting
Tools
Business
Integration
Device
management
Store data Integrate with
business process
Visualize data and learning
Stream
processing
and rules
evaluation
over data
Data
Stream
Data
Stream
IoT Edge
Devices
Data
Transfor
mation Cold
Path
Store
Machine
Learning
User
Management
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Copyright 2024 Joseph Yoder & The Refactory
Find Where It Hurts
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Copyright 2024 Joseph Yoder & The Refactory
Plan for Responsible Moments
so
Choose the Most
Responsible Moment
Some decisions and actions are too important
to leave until The Last Responsible Moment
Qualify the Roadmap with
Architecture Decisions
“All you need is the plan, the roadmap, and
the courage to press on to your destination”
— Earl Nightingale
Qualify the Roadmap
2017
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018
Jan Feb Mar
DELIVERY
Delays
expected to
Version 1
DEVELOPMENT
DASHBOARD
BUDGET RESOURCE ARCHITECTURE DEPENDENCIES
Budget will
need
bolstering in
Q2 2017
All resources
on track.
Persistence
Framework
Load-
Balancing.
Cloud
Partnerships
and services
all in place
and on track.
RISKS ISSUES ON RADAR
COMPETITOR
E Corp – new
product.
ARCHITECTURE
Performance
Platform stability
DELIVERY
Tech issues
ARCHITECTURE
Migration
Security
AUG 2017
New mobile
opportunity
OCT 2017
Re-evaluate
NO SQL strategy
RICH MOBILE WEB APPS
MOBILE WEB v2
MOBILE WEB v1
PC PLATFORM v1 PC PLATFORM v2 ONGOING RELEASES
MOBILE RESEARCH ANDROID v1 IOS v1 RESPONSIVE DESIGN
ENTEPRISE
ARCHITECTURE
MOBILE GENERIC SERVICES SYBASE TO ORACLE MIGRATION
PERSISTENCE FRAMEWORK
LOAD BALANCING PLATFORM STABILITY
CLOUD RESEARCH MICROSERVICES
TBD
LOW
RISK
HIGH
RISK NORMAL
NO SQL / BIG DATA v1 NO SQL / BIG DATA v2
MOBILE SECURITY
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Copyright 2024 Joseph Yoder & The Refactory
Tracer Bullets
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Copyright 2024 Joseph Yoder & The Refactory
Test Architecture
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Note these can be done throughout the project…
Copyright 2024 Joseph Yoder & The Refactory
During the Project
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Architecture in
the Backlog
to plan
tasks related
to the
architecture
Copyright 2024 Joseph Yoder & The Refactory
Architecture in the Backlog
You can add backlog items for technical debt and
quality-related architecture work… “yes, you can”
Coloring the Backlog
http://philippe.kruchten.com/2013/12/11/the-missing-value-of-software-architecture/
Visible Feature
Invisible Architectural
Feature
Visible Defect Technical Debt
Color your backlog—Phillipe Kruchten
Positive Value
Negative Value
Visible Invisible
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Architecture in
the Backlog
to plan
tasks related
to the
architecture
Copyright 2024 Joseph Yoder & The Refactory
Architectural
Trigger
• Conditions that
cause architecture
investigation/ tasks
• Quality target
no longer met
• Code quality
metrics violations
• …
• Have broad
system impact
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Architecture in
the Backlog
to plan
tasks related
to the
architecture
Architectural
Spike
Architecture Spikes & Explorations
• Answer deep questions /
offers potential
architecture solutions
• Not as tactical as
an XP Design Spike
• Visible and bounded
• Can be a Sprint!!!
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Architecture in
the Backlog
to plan
tasks related
to the
architecture
to be aware of problems
in the architecture
Some dirt becomes
very hard to clean if
you do not clean it
right away!
Technical Debt?
Architecture Debt,
Quality Debt, Test Debt, …
Technical Debt Management
how much do you value reducing technical debt?
Technical Debt Management
Graziela Simone Tonin
Alfredo Goldman
http://www.teses.usp.br/teses/disponiveis/45/45134/tde-30072018-142720/pt-br.php
Tech Debt Evidence
Impact on Business
Tech Debt Monitoring
Tech Debt Measuring
Context and Causes
Metaphor
Payment
Performance
Security
Scalability
Availability
Reliability
Maintainability
Evolvabilty
Testability
Deployability
…
Development Velocity
System “Qualities”
HOW CAN WE IMPROVE
WHAT WE CANNOT SEE?
© 2024 Joseph Yoder & The Refactory
Make things
visible!
Without valuable and timely information, the organization dies.
Therefore:
Collaboratively maintain physical artifacts that keep
information visible to all stakeholders.
¶56 Information Radiator
https://pragprog.com/book/jcscrum/a-scrum-book
Copyright 2024 Joseph Yoder & The Refactory
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Architecture in
the Backlog
to plan
tasks related
to the
architecture
to be aware of problems
in the architecture
to detect problems
in the code and
in the architecture
can use
can be part of
Copyright 2024 Joseph Yoder & The Refactory
others
Continous Inspection
Copyright 2024 Joseph Yoder & The Refactory
Sustaining Your Architecture
Continuous Inspection
Asian PLoP Paper
CODE SMELL DETECTION
METRICS (TEST COVERAGE,
CYCLOMATIC COMPLEXITY,
TECHNICAL DEBT, SIZES, …)
APPLICATION SECURITY CHECKS
ARCHITECTURAL CONFORMANCE
AUTOMATE WHERE YOU CAN!!!
Automate As You Go
“The first rule of any technology used in a business is that
automation applied to an efficient operation will magnify the
efficiency. The second is that automation applied to an
inefficient operation will magnify the inefficiency” — Bill Gates
Climbing on the
Shoulders of Giants
to start the
architecture Find Where
it Hurts
to focus on
relevent issues
Plan for Responsible
Moments
to be prepared for
handling the most
critical issues
Tracer Bullets
to define
low level
architecture
can guide
the choice
Test Architecture
to define
how tests
should
be created
can validate
each other
Architecture in
the Backlog
to plan
tasks related
to the
architecture
to be aware of problems
in the architecture
to detect problems
in the code and
in the architecture
can use
can be part of
Copyright 2024 Joseph Yoder & The Refactory
Start the project fast
Have a sustainable architecture
QA to AQ: Patterns about transitioning from Quality
Assurance to Agile Quality,
AsianPLoP 2014
QA to AQ Part Two: Shifting from Quality Assurance to
Agile Quality, PLoP 2014
QA to AQ Part Three: Shifting from Quality Assurance
to Agile Quality “Tearing Down the Walls”,
SugarLoafPLoP 2014
QA to AQ Part Four: Shifting from Quality Assurance to
Agile Quality “Prioritizing Qualities and Making them
Visible”, PLoP 2015
QA to AQ Part Five: Being Agile At Quality “Growing
Quality Awareness and Expertise”, AsianPLoP 2016
QA to AQ Part Six: Shifting from Quality Assurance to
Agile Quality “Enabling and Infusing Quality”, To
appear at PLoP 2016
Continuous Inspection: A Pattern for Keeping your
Code Healthy and Aligned to the Architecture,
AsianPLoP 2014
Patterns for Initial Architecture Design on Agile Projects
AsianPLoP 2015
Patterns to Develop and Evolve Architecture in an Agile
Project, PLoP 2016
QA to AQ
Patterns about transitioning from
Quality Assurance to Agile Quality
Joseph W. Yoder1
, Rebecca Wirfs-Brock2
, Ademar Aguiar3
1
The Refactory, Inc.,
2
Wirfs-Brock Associates, Inc.
3
FEUP
joe@refactory.com, rebecca@wirfs-brock.com, ademar.aguiar@fe.up.pt
Abstract. As organizations transition from waterfall to agile processes, Quality
Assurance (QA) activities and roles need to evolve. Traditionally, QA activities
have occurred late in the process, after the software is fully functioning. As a
consequence, QA departments have been “quality gatekeepers” rather than actively
engaged in the ongoing development and delivery of quality software. Agile teams
incrementally deliver working software. Incremental delivery provides an
opportunity to engage in QA activities much earlier, ensuring that both
functionality and important system qualities are addressed just in time, rather than
too late. Agile teams embrace a “whole team” approach. Even though special skills
may be required to perform certain development and Quality Assurance tasks,
everyone on the team is focused on the delivery of quality software. This paper
outlines 21 patterns for transitioning from a traditional QA practice to a more agile
process. Six of the patterns are completely presented that focus on where quality is
addressed earlier in the process and QA plays a more integral role.
Categories and Subject Descriptors
D.1.5 [Programming Techniques]: NEED TO ADD HERE
General Terms
Agile, Quality Assurance, Patterns, Testing
Keywords
Agile Quality, Quality Assurance, Testing
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided
that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on
the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission.
Preliminary versions of these papers were presented in a writers' workshop at the 3rd Asian Conference on Pattern Languages of
Programs (AsianPLoP). AsianPLoP'2014, March 5-7, Tokyo, Japan. Copyright 2014 is held by the author(s). ACM 978-1-XXXX-
XXXX-X.
…PATTERNS FOR TRANSITIONING
FROM TRADITIONAL TO AGILE QA
AND AGILE ARCHITECTURE Copies available
off our websites
https://bit.ly/2sDX6FS
tinyurl.com/software-arch-revolution
Details of the patterns
can be found here!!!
3 weeks sprint + a integrated QA week = 4 weeks
“Software Architecture Revolution” at PagSeguro
You might have an agile elephant,
but you want an agile cat.
A few years after, total of hundred different services had
deliveryies to production including new features,
configuration changes and so on, impossible before!!!
© 2024 Joseph Yoder & The Refactory
In Memory to Mike Beedle
© 2019 Joseph Yoder & The Refactory
Architecture and Agility
What do
you Value?
Yoda’s Principles Licensed under CC: https://www.flickr.com/photos/rlei_ki/8587714166/in/album-72157633765455261/
https://bootcamp2024.peatix.com/
【2/28】国際的なパターン・ランゲージ入門レクチャーを日本語で
視聴する(リアルタイム視聴 + アーカイブ視聴可)
joe@refactory.com
yodamann
“You can not fix what you can not see... Visibility is Key! ;-)”
“If you think good architecture is expensive, try bad architecture!"
@metayoda
© 2024 Joseph Yoder & The Refactory
Arigatō
ありがとう
@metayoda

More Related Content

What's hot

【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例Kotaro Ogino
 
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査Hironori Washizaki
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specificationsTetsuya Kouno
 
論文紹介: The New New Product Development Game
論文紹介: The New New Product Development Game論文紹介: The New New Product Development Game
論文紹介: The New New Product Development GameHitoshi Otsuki
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOKKotaro Ogino
 
Re-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeYasuharu Nishi
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へHironori Washizaki
 
Kong Enterprise の紹介
Kong Enterprise の紹介Kong Enterprise の紹介
Kong Enterprise の紹介Yoshito Tabuchi
 
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumiItsuki Kuroda
 
人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのかYamaura Kiyoto
 
NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?shibao800
 
「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」大貴 蜂須賀
 
大企業アジャイルの勘所 #devlovex #devlovexd
大企業アジャイルの勘所 #devlovex #devlovexd大企業アジャイルの勘所 #devlovex #devlovexd
大企業アジャイルの勘所 #devlovex #devlovexdItsuki Kuroda
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得Reimi Kuramochi Chiba
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~Hironori Washizaki
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門Preferred Networks
 
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録Taiki Yoshida
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 

What's hot (20)

【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例
 
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specifications
 
論文紹介: The New New Product Development Game
論文紹介: The New New Product Development Game論文紹介: The New New Product Development Game
論文紹介: The New New Product Development Game
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
 
Re-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decade
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
Kong Enterprise の紹介
Kong Enterprise の紹介Kong Enterprise の紹介
Kong Enterprise の紹介
 
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
 
人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか
 
NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?
 
「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」
 
大企業アジャイルの勘所 #devlovex #devlovexd
大企業アジャイルの勘所 #devlovex #devlovexd大企業アジャイルの勘所 #devlovex #devlovexd
大企業アジャイルの勘所 #devlovex #devlovexd
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 

Similar to Joseph Yoder : Being Agile about Architecture

Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkJoseph Yoder
 
Joseph W. Yoder, Being Agile about Quality
Joseph W. Yoder, Being Agile about QualityJoseph W. Yoder, Being Agile about Quality
Joseph W. Yoder, Being Agile about QualityHironori Washizaki
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Daniel Krook
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)stanbridge
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)stanbridge
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecturecesarioramos
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 
Software Development in Uncertain Times (VoxxedDays Athens 2022)
Software Development in Uncertain Times (VoxxedDays Athens 2022)Software Development in Uncertain Times (VoxxedDays Athens 2022)
Software Development in Uncertain Times (VoxxedDays Athens 2022)Michail Argyriou
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Philipp Leitner
 
OReilly Software Architecture Conference: Architecture as code - objective m...
OReilly Software Architecture Conference:  Architecture as code - objective m...OReilly Software Architecture Conference:  Architecture as code - objective m...
OReilly Software Architecture Conference: Architecture as code - objective m...PaulaPaulSlides
 
Pivotal APJ Security Chaos Engineering
Pivotal APJ Security Chaos EngineeringPivotal APJ Security Chaos Engineering
Pivotal APJ Security Chaos EngineeringAaron Rinehart
 
When Architecture Meets Data
When Architecture Meets DataWhen Architecture Meets Data
When Architecture Meets DataEoin Woods
 
Challenging The Role Of The Architect
Challenging The Role Of The ArchitectChallenging The Role Of The Architect
Challenging The Role Of The ArchitectKevin Francis
 
Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?CAST
 
Making Decisions - From Software Architecture Theory to Practice
Making Decisions - From Software Architecture Theory to PracticeMaking Decisions - From Software Architecture Theory to Practice
Making Decisions - From Software Architecture Theory to PracticeParis Avgeriou
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureBrad Appleton
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2bmercer
 

Similar to Joseph Yoder : Being Agile about Architecture (20)

Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
 
Joseph W. Yoder, Being Agile about Quality
Joseph W. Yoder, Being Agile about QualityJoseph W. Yoder, Being Agile about Quality
Joseph W. Yoder, Being Agile about Quality
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 
Agile Architecture
Agile ArchitectureAgile Architecture
Agile Architecture
 
Software Architecture in an Agile World
Software Architecture in an Agile WorldSoftware Architecture in an Agile World
Software Architecture in an Agile World
 
Software Development in Uncertain Times (VoxxedDays Athens 2022)
Software Development in Uncertain Times (VoxxedDays Athens 2022)Software Development in Uncertain Times (VoxxedDays Athens 2022)
Software Development in Uncertain Times (VoxxedDays Athens 2022)
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
OReilly Software Architecture Conference: Architecture as code - objective m...
OReilly Software Architecture Conference:  Architecture as code - objective m...OReilly Software Architecture Conference:  Architecture as code - objective m...
OReilly Software Architecture Conference: Architecture as code - objective m...
 
Pivotal APJ Security Chaos Engineering
Pivotal APJ Security Chaos EngineeringPivotal APJ Security Chaos Engineering
Pivotal APJ Security Chaos Engineering
 
When Architecture Meets Data
When Architecture Meets DataWhen Architecture Meets Data
When Architecture Meets Data
 
Challenging The Role Of The Architect
Challenging The Role Of The ArchitectChallenging The Role Of The Architect
Challenging The Role Of The Architect
 
Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?
 
Making Decisions - From Software Architecture Theory to Practice
Making Decisions - From Software Architecture Theory to PracticeMaking Decisions - From Software Architecture Theory to Practice
Making Decisions - From Software Architecture Theory to Practice
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile Architecture
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2
 

More from Hironori Washizaki

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateHironori Washizaki
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会Hironori Washizaki
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用Hironori Washizaki
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデートHironori Washizaki
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...Hironori Washizaki
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向Hironori Washizaki
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集Hironori Washizaki
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介Hironori Washizaki
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方Hironori Washizaki
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターンHironori Washizaki
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターンHironori Washizaki
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度Hironori Washizaki
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターンHironori Washizaki
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクルHironori Washizaki
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)Hironori Washizaki
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組みHironori Washizaki
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
 

More from Hironori Washizaki (20)

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning Applications
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
 

Recently uploaded

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 

Joseph Yoder : Being Agile about Architecture

  • 1. Copyright 2024 Joseph Yoder & The Refactory Being Agile About Architecture “Sustainable Architecture” Joseph W. Yoder The Refactory Twitter: @metayoda joe@refactory.com http://www.refactory.com
  • 2. Agile Architecture Practices “Just enough Architecture” Collaborated with Eduardo Guerra Rebecca Wirfs-Brock
  • 5. What is a Pattern? Patterns can be thought of “Good Practices” Proven Solutions to Repeating Problems Proven Practices to Repeating Situations Embody Experiences of What Works… …and What Doesn’t Work Captures or Describes Knowledge of Experts Embody “Quality” Attributes for Solutions to specific Designs Go to hillside.net for more info
  • 6. What is Agile? Copyright 2024 Joseph Yoder & The Refactory
  • 9. Start the project fast, being agile Have a sustainable architecture
  • 10. Climbing on the Shoulders of Giants to start the architecture Copyright 2024 Joseph Yoder & The Refactory
  • 11. Climbing on the Shoulders of Giants Build on a Reference Architecture
  • 12. IoT Reference Architecture [Azure IoT] Microsoft, Azure IoT Reference Architecture, https://aka.ms/iotrefarchitecture ー 2018 Actions Things Insights Data Stream Data Stream IoT Devices Cloud Gateway (IoT Hub) Stream Processing Warm Path Store UI & Reporting Tools Business Integration Device management Store data Integrate with business process Visualize data and learning Stream processing and rules evaluation over data Data Stream Data Stream IoT Edge Devices Data Transfor mation Cold Path Store Machine Learning User Management
  • 13. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Copyright 2024 Joseph Yoder & The Refactory
  • 14. Find Where It Hurts
  • 15. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Copyright 2024 Joseph Yoder & The Refactory
  • 17. so Choose the Most Responsible Moment Some decisions and actions are too important to leave until The Last Responsible Moment
  • 18. Qualify the Roadmap with Architecture Decisions “All you need is the plan, the roadmap, and the courage to press on to your destination” — Earl Nightingale
  • 19. Qualify the Roadmap 2017 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2018 Jan Feb Mar DELIVERY Delays expected to Version 1 DEVELOPMENT DASHBOARD BUDGET RESOURCE ARCHITECTURE DEPENDENCIES Budget will need bolstering in Q2 2017 All resources on track. Persistence Framework Load- Balancing. Cloud Partnerships and services all in place and on track. RISKS ISSUES ON RADAR COMPETITOR E Corp – new product. ARCHITECTURE Performance Platform stability DELIVERY Tech issues ARCHITECTURE Migration Security AUG 2017 New mobile opportunity OCT 2017 Re-evaluate NO SQL strategy RICH MOBILE WEB APPS MOBILE WEB v2 MOBILE WEB v1 PC PLATFORM v1 PC PLATFORM v2 ONGOING RELEASES MOBILE RESEARCH ANDROID v1 IOS v1 RESPONSIVE DESIGN ENTEPRISE ARCHITECTURE MOBILE GENERIC SERVICES SYBASE TO ORACLE MIGRATION PERSISTENCE FRAMEWORK LOAD BALANCING PLATFORM STABILITY CLOUD RESEARCH MICROSERVICES TBD LOW RISK HIGH RISK NORMAL NO SQL / BIG DATA v1 NO SQL / BIG DATA v2 MOBILE SECURITY
  • 20. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Copyright 2024 Joseph Yoder & The Refactory
  • 22. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Copyright 2024 Joseph Yoder & The Refactory
  • 24. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Note these can be done throughout the project… Copyright 2024 Joseph Yoder & The Refactory
  • 26. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Architecture in the Backlog to plan tasks related to the architecture Copyright 2024 Joseph Yoder & The Refactory
  • 27. Architecture in the Backlog You can add backlog items for technical debt and quality-related architecture work… “yes, you can”
  • 28. Coloring the Backlog http://philippe.kruchten.com/2013/12/11/the-missing-value-of-software-architecture/ Visible Feature Invisible Architectural Feature Visible Defect Technical Debt Color your backlog—Phillipe Kruchten Positive Value Negative Value Visible Invisible
  • 29. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Architecture in the Backlog to plan tasks related to the architecture Copyright 2024 Joseph Yoder & The Refactory
  • 30. Architectural Trigger • Conditions that cause architecture investigation/ tasks • Quality target no longer met • Code quality metrics violations • … • Have broad system impact
  • 31. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Architecture in the Backlog to plan tasks related to the architecture
  • 33. Architecture Spikes & Explorations • Answer deep questions / offers potential architecture solutions • Not as tactical as an XP Design Spike • Visible and bounded • Can be a Sprint!!!
  • 34. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Architecture in the Backlog to plan tasks related to the architecture to be aware of problems in the architecture
  • 35. Some dirt becomes very hard to clean if you do not clean it right away! Technical Debt? Architecture Debt, Quality Debt, Test Debt, …
  • 36. Technical Debt Management how much do you value reducing technical debt?
  • 37. Technical Debt Management Graziela Simone Tonin Alfredo Goldman http://www.teses.usp.br/teses/disponiveis/45/45134/tde-30072018-142720/pt-br.php Tech Debt Evidence Impact on Business Tech Debt Monitoring Tech Debt Measuring Context and Causes Metaphor Payment
  • 39. HOW CAN WE IMPROVE WHAT WE CANNOT SEE? © 2024 Joseph Yoder & The Refactory
  • 41. Without valuable and timely information, the organization dies. Therefore: Collaboratively maintain physical artifacts that keep information visible to all stakeholders. ¶56 Information Radiator https://pragprog.com/book/jcscrum/a-scrum-book Copyright 2024 Joseph Yoder & The Refactory
  • 42. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Architecture in the Backlog to plan tasks related to the architecture to be aware of problems in the architecture to detect problems in the code and in the architecture can use can be part of Copyright 2024 Joseph Yoder & The Refactory
  • 43. others Continous Inspection Copyright 2024 Joseph Yoder & The Refactory
  • 44. Sustaining Your Architecture Continuous Inspection Asian PLoP Paper CODE SMELL DETECTION METRICS (TEST COVERAGE, CYCLOMATIC COMPLEXITY, TECHNICAL DEBT, SIZES, …) APPLICATION SECURITY CHECKS ARCHITECTURAL CONFORMANCE AUTOMATE WHERE YOU CAN!!!
  • 45. Automate As You Go “The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency” — Bill Gates
  • 46. Climbing on the Shoulders of Giants to start the architecture Find Where it Hurts to focus on relevent issues Plan for Responsible Moments to be prepared for handling the most critical issues Tracer Bullets to define low level architecture can guide the choice Test Architecture to define how tests should be created can validate each other Architecture in the Backlog to plan tasks related to the architecture to be aware of problems in the architecture to detect problems in the code and in the architecture can use can be part of Copyright 2024 Joseph Yoder & The Refactory
  • 47. Start the project fast Have a sustainable architecture
  • 48. QA to AQ: Patterns about transitioning from Quality Assurance to Agile Quality, AsianPLoP 2014 QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality, PLoP 2014 QA to AQ Part Three: Shifting from Quality Assurance to Agile Quality “Tearing Down the Walls”, SugarLoafPLoP 2014 QA to AQ Part Four: Shifting from Quality Assurance to Agile Quality “Prioritizing Qualities and Making them Visible”, PLoP 2015 QA to AQ Part Five: Being Agile At Quality “Growing Quality Awareness and Expertise”, AsianPLoP 2016 QA to AQ Part Six: Shifting from Quality Assurance to Agile Quality “Enabling and Infusing Quality”, To appear at PLoP 2016 Continuous Inspection: A Pattern for Keeping your Code Healthy and Aligned to the Architecture, AsianPLoP 2014 Patterns for Initial Architecture Design on Agile Projects AsianPLoP 2015 Patterns to Develop and Evolve Architecture in an Agile Project, PLoP 2016 QA to AQ Patterns about transitioning from Quality Assurance to Agile Quality Joseph W. Yoder1 , Rebecca Wirfs-Brock2 , Ademar Aguiar3 1 The Refactory, Inc., 2 Wirfs-Brock Associates, Inc. 3 FEUP joe@refactory.com, rebecca@wirfs-brock.com, ademar.aguiar@fe.up.pt Abstract. As organizations transition from waterfall to agile processes, Quality Assurance (QA) activities and roles need to evolve. Traditionally, QA activities have occurred late in the process, after the software is fully functioning. As a consequence, QA departments have been “quality gatekeepers” rather than actively engaged in the ongoing development and delivery of quality software. Agile teams incrementally deliver working software. Incremental delivery provides an opportunity to engage in QA activities much earlier, ensuring that both functionality and important system qualities are addressed just in time, rather than too late. Agile teams embrace a “whole team” approach. Even though special skills may be required to perform certain development and Quality Assurance tasks, everyone on the team is focused on the delivery of quality software. This paper outlines 21 patterns for transitioning from a traditional QA practice to a more agile process. Six of the patterns are completely presented that focus on where quality is addressed earlier in the process and QA plays a more integral role. Categories and Subject Descriptors D.1.5 [Programming Techniques]: NEED TO ADD HERE General Terms Agile, Quality Assurance, Patterns, Testing Keywords Agile Quality, Quality Assurance, Testing Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Preliminary versions of these papers were presented in a writers' workshop at the 3rd Asian Conference on Pattern Languages of Programs (AsianPLoP). AsianPLoP'2014, March 5-7, Tokyo, Japan. Copyright 2014 is held by the author(s). ACM 978-1-XXXX- XXXX-X. …PATTERNS FOR TRANSITIONING FROM TRADITIONAL TO AGILE QA AND AGILE ARCHITECTURE Copies available off our websites https://bit.ly/2sDX6FS
  • 49.
  • 51. 3 weeks sprint + a integrated QA week = 4 weeks “Software Architecture Revolution” at PagSeguro You might have an agile elephant, but you want an agile cat. A few years after, total of hundred different services had deliveryies to production including new features, configuration changes and so on, impossible before!!! © 2024 Joseph Yoder & The Refactory
  • 52. In Memory to Mike Beedle © 2019 Joseph Yoder & The Refactory
  • 54. What do you Value? Yoda’s Principles Licensed under CC: https://www.flickr.com/photos/rlei_ki/8587714166/in/album-72157633765455261/
  • 56.
  • 57. joe@refactory.com yodamann “You can not fix what you can not see... Visibility is Key! ;-)” “If you think good architecture is expensive, try bad architecture!" @metayoda © 2024 Joseph Yoder & The Refactory Arigatō ありがとう @metayoda