1. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 1
Joseph W. Yoder
The Refactory
Teams That Innovate
Copyright 2020 Joseph Yoder & The Refactory
Twitter: @metayoda
joe@refactory.com
http://refactory.com
http://teamsthatinnovate.com
Being Agile
about Quality
“Values, Practices, and Patterns”
Agile/Lean Practices???
2. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 2
Agile Teams Focus
on Functional Requirements
Linda Northrop
Performance
Security
Scalability
Availability
Reliability
Maintainability
Evolvabilty
Testability
Deployability
…
Development Velocity
System “Qualities”
3. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 3
Agile/Lean Myths
KISS
Simple
is Best
www.agilemyths.com
Values Drive Practices
4. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 4
What makes a practice a pattern?
• Repeatable
• Useful (solves problems)
• Positive consequences
• Potentially negative
consequences, too
– awareness / attention
can reduce or mitigate courtesy Jordan Wirfs-Brock
So 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
5. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 5
BECOMING AGILE AT QUALITY
“Quality is not an act,
it is a habit…”
—Aristotle
品質面でアジャイルになる
「(品)質は、行為ではなく、
習慣 habit である...」
—アリストテレス
障壁の解体
別名 "障壁を打破する"
物理的な障壁、文化的相違
言語/コミュニケーション, 背景
専門知識、時間の欠如、
私たちと彼らの考え方・・・
ベルリンの壁
Tearing Down the Walls
aka “Breaking Down Barriers”
7. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 7
Agile Quality Teams
“Whole Team”
Architects and QA work closely with
the product or program teams
Whole team works at understanding, defining,
delivering, and verifying system qualities
だから
MOST RESPONSIBLE MOMENT
最も決定すべき時点、責任を負える時点
を選択する
幾つかの決定や行為は、最終責任時点Last
Responsible Moment(訳注: 追加リスクを引き
起こさずに最大限まで決定や行為を遅らせら
れる時点、最終的に判断が必要な時点)まで、
捨て去るにはあまりにも重要
8. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 8
Plan for Responsible Moments
責任時点Responsible Momentを計画する
“All you need is the plan, the roadmap, and
the courage to press on to your destination”
— Earl Nightingale
品質およびアーキテクチャ決定を伴う形での
ロードマップの見極め(品質検討)
Qualify the Roadmap with Qualities
and Architecture Decisions…
「必要なのは目的地に向かって前進するための
計画、ロードマップ、そして勇気」
-アール・ナイチンゲール
9. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 9
2017
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018
Jan Feb Mar
DELIVERY
Delays
expected to
Version 1
DEVELOPMENTDASHBOARD
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 APPSMOBILE WEB v2MOBILE WEB v1
PC PLATFORM v1 PC PLATFORM v2 ONGOING RELEASES
MOBILE RESEARCH ANDROID v1 IOS v1 RESPONSIVE DESIGN
ENTEPRISEARCHITECTURE
MOBILE GENERIC SERVICES SYBASE TO ORACLE MIGRATIONPERSISTENCE 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
ロードマップの見極め(品質検討)
Qualify the Roadmap
Visibility is Important
10. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 10
バックログの見極め(品質検討)
Qualify the Backlog
品質シナリオのバックログ項目を追加することができます。
システムの品質に関連するアーキテクチャの作業... はい、追加できます
You can add backlog items for quality scenarios,
system quality-related architecture work… yes, you can
アーキテクチャ作業の可視化と明示
http://philippe.kruchten.com/2013/12/11/the-missing-value-of-software-architecture/
見えるフィーチャ
Visible Feature
見えないアーキテク
チャフィーチャ
Invisible Architectural
Feature
見える欠陥
Visible Defect
技術的負債
Technical Debt
バックログの色付け-フィリップ・クルテン
正のバリュー
負のバリュー
可視 不可視
Make Architecture Work Visible and Explicit
Positive Value
Negative Value
Visible Invisible
Color your backlog—Phillipe Kruchten
11. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 11
Sustaining Your Architecture
Continuous Inspection
Asian PLoP 2014 Paper
CODE SMELL DETECTION
METRICS (TEST COVERAGE,
CYCLOMATIC COMPLEXITY,
TECHNICAL DEBT, SIZES, …)
APPLICATION SECURITY CHECKS
ARCHITECTURAL CONFORMANCE
AUTOMATE WHERE YOU CAN!!!
Sustaining Your Architecture
Continuous Inspection
others
12. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 12
Plan a Sprint
Product
Envisioning
/
Roadmap
Deploy to
Stakeholders
Functional
Acceptance
Testing
Develop
and Manage
the Backlog
Run a Sprint
Daily Review
Incorporate Feedback
How Quality Fits
Into An Agile Process
Identify:
Architecture Risks
Key Quality Scenarios
Fold Out Qualities
Can
Include
Quality
Items
Quality
Testing
Include
relevant
quality
tasks
作業が進むにつれ自動化しなさい
Automate As You Go
“ビジネスで使用されるすべての技術の最初のルールは、効率
的なオペレーションの自動化により、効率性が向上するとい
うことです。2つ目は、非効率的なオペレーションの自動化に
より、より非効率になるということです。—ビル・ゲイツ
13. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 13
Patterns for Being Agile at Quality
Core Patterns
Breaking Down Barriers
Integrate Quality
Identifying Qualities
Finding the Qualities
Agile Quality Scenarios
Quality Stories
Measureable
System Qualities
Fold-out Qualities
Agile Landing Zone
Recalibrate the
Landing Zone
Agree on Quality Targets
Making Qualities
Visible
System Quality
Dashboard
System Quality Radiator
Qualify the Roadmap
Qualify the Backlog
Automate As You Go
Quality Checklists
Becoming Agile at Quality
Whole Team
Quality Focused Sprints
Product Quality Champion
Agile Quality Specialist
Spread the
Quality Workload
Shadow the Quality Expert
Pair with a
Quality Advocate
品質面でアジャイルであるためのパターン
コアパターン
障壁の解体
品質の組み入れ
品質の識別
品質の発見
アジャイル品質シナリ
オ
品質ストーリー
測定可能なシステム品
質
折り込み品質
アジャイルな着陸点
着地点の再調整
品質目標の合意
品質の可視化
システム品質ダッシュ
ボード
システム品質ラジエー
タ
ロードマップ上の品質
検討
バックログ上の品質検
討
進むにつれ自動化
品質チェックリスト
品質面でアジャイルに
チーム全体
品質に焦点をあてたスプ
リント
品質保証チャンピオン
アジャイル品質の専門家
品質に関する作業負荷の
展開
品質熟練者への寄添い
品質主導者とのペア
14. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 14
Patterns for Evolving
Agile Architecture
Asian PLoP
USA PLoP
Patterns for Evolving
Agile Architecture
15. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 15
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.
...従来のあり方から、アジャイルな
品質保証およびアーキテクチャ
への移行パターン 利用可能なコピー
当社のウェブサイトから
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 to Develop and Evolve Architecture in an
Agile Project, PLoP 2016
https://bit.ly/2sDX6FS
VALUES DRIVE PRACTICE
“CALL TO ACTION”
Incremental
Delivery with
Qualities
Whole Team
Daily Practices Sustainable Development
(CC) by muffinn on Flickr
チーム全体
バリューがプラクティスを駆動する
“アクションの喚起"
デイリープラクティス
持続的開発
16. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 16
PAUSE POINTS HELP
Slack Time
Need Slack time to improve
Ways to get slack time…
Monitor and Make Visible
Reduce Waste (Muda)
Inject time into process
(retros, daily cleanup, …)
Try little experiments…
(c) Can Stock Photo / AntonioGuillem
17. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 17
Slack Time
3X Model by Kent Beck
• More Architecture,
QA, Testing & Docs
https://twitter.com/AntonyMarcano
19. 8/20/2020
Copyright 2020 Joseph Yoder & The Refactory 19
Joe’s cool photo goes here!!!joe@refactory.com
Twitter: @metayoda
www.joeyoder.com
www.refactory.com
Arigatō
"If you think good architecture is expensive, try bad architecture" ... Joe