SlideShare a Scribd company logo
AW15
Concurrent	Session	
11/11/15	4:15pm	
	
	
	
“Architecture vs. Design vs. Agile: What’s the
Answer?”
	
	
Presented by:
Anthony Crain
Blue Agility
	
	
	
	
Brought	to	you	by:	
	
	
	
340	Corporate	Way,	Suite	300,	Orange	Park,	FL	32073	
888-268-8770	·	904-278-0524	·	info@techwell.com	·	www.techwell.com
Anthony Crain
Blue Agility
Since 1999 Anthony Crain has lead enterprise organizational change initiatives for IBM and
now for Blue Agility. He is known for his outstanding mentoring and teaching abilities, clearly
explaining the practical side to theoretical concepts in an exciting and actionable manner. A
dynamic speaker who energizes his audience, Anthony has introduced thousands of people to
agile, portfolio management, requirements, architecture, and numerous other engineering topics.
He has led transformations in diverse industries—commercial banking, software development,
automotive, healthcare, financial, government, retail, automated controls, manufacturing, power,
telecom, home mortgage, and more.
9/28/2015
1
BLUEAGILITYEmpower the Enterprise
Architecture vs Design vs Agile
What’s the Answer?
Anthony Crain
acrain@blue-agility.com
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern
• 4+1 Views of Architecture
• Summary
2
9/28/2015
2
Definition of ArchitectureDefinition of ArchitectureDefinition of ArchitectureDefinition of Architecture
• Maximize Reuse
• Patterns
• Standards
• Separation of Concerns
• Ensure Quality
• Usability
• Reliability
• Performance
• Supportability
3
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern
• 4+1 Views of Architecture
• Summary
4
9/28/2015
3
Architecture vs DesignArchitecture vs DesignArchitecture vs DesignArchitecture vs Design
• Architecture
• Not “high level design”
• Domain free
• Focused on reuse
• Focused on quality
• Architecture ensures we achieve our non-functional requirements
• Quality Requirements: Usability, Reliability, Performance, Supportability
• Design Constraints
• Interface Requirements
• Design
• Focused on functional requirements – domain specific
• Design what the system will actually do
• Constrained by architecture to ensure the quality requirements are met
5
Separation of ConcernsSeparation of ConcernsSeparation of ConcernsSeparation of Concerns
6
Analysis Model
Design Model
Architectural Model
+
functional (epics, stories, terms, rules) non-functional (quality: urps, dc, int)
Behavior
Changes
Quality & Environment
Changes
Requirement Model
Implementation Model
Requirements
Design
Implementation
Architecture
PIMPIM PSM
PSM
PIM: Platform Independent Model
PSM: Platform Specific Model
F
NF
A
C
B
D
Code
9/28/2015
4
Architecture/DesignArchitecture/DesignArchitecture/DesignArchitecture/Design Activities andActivities andActivities andActivities and DependenciesDependenciesDependenciesDependencies
7
A B
C D
Arch Design
PIM
Logical
“Tech-Free”
“Ideal”
PSM
Physical
“Tech-Specific”
“Real”
C depends
on
A and B
D depends
on
C and B
Requirements-driven
Nonfunctional Reqts
[architecture model]
Functional Reqts
[design model]
complete dependency
(start after predecessor)
partial dependency
(start at same time as predecessor)
E
[implementationmodel]
[architecture model] [analysis model]
Summary of Architecture and Design ActivitiesSummary of Architecture and Design ActivitiesSummary of Architecture and Design ActivitiesSummary of Architecture and Design Activities
• A: Architectural Analysis – tech free and domain free
• B: Ideal Design – tech free, specific domain
• C: Architectural Design – tech specific, domain free
• D: Physical Design – tech specific, domain specific
A B
C D
Arch Design
PIM
PSM
8
9/28/2015
5
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern
• 4+1 Views of Architecture
• Summary
9
Architecture up Front vs Agile IterationsArchitecture up Front vs Agile IterationsArchitecture up Front vs Agile IterationsArchitecture up Front vs Agile Iterations
• Traditional Development
• Architect want an “up front” time to work on architecture
• Often ask for many months
• Agile Teams
• Want to begin iterations immediately
• Solutions
• DAD: Inception, Construction, Transition
• Risk Value Lifecycle
• Scrum: value driven lifecycle
• Risk Value Lifecycle: tag stories as architecturally risky, resort for risk and value
• Architects still can have months
• But must prioritize the work immediately needed for the next iteration
• Take all the time you need, but we’ll be building software at the same time
• Focus on the creation of patterns to ensure the highest quality design – ideas ahead!
10
9/28/2015
6
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern
• 4+1 Views of Architecture
• Summary
11
A (PIM): Architectural MechanismsA (PIM): Architectural MechanismsA (PIM): Architectural MechanismsA (PIM): Architectural Mechanisms
• Technically challenging/high risk areas in the architecture
• Encapsulate the “Build vs. Buy vs. Reuse” decision
• Describe how to use a given technology to solve a common architectural
problem
• Significantly increase reuse in an organization
• Constrain designers to a best practice set of approaches and techniques
• Need to be done in multiple places (in one project or many)
12
A B
C D
Arch Design
PIM
PSM
9/28/2015
7
13
A (PIM):A (PIM):A (PIM):A (PIM): Sample Architectural MechanismsSample Architectural MechanismsSample Architectural MechanismsSample Architectural Mechanisms
• Persistence
• Communication (IPC and RPC)
• Message routing
• Distribution
• Transaction management
• Process control and synchronization (resource contention)
• Information exchange, format conversion
• Security
• Error detection / handling / reporting
• Redundancy
• Legacy Interface
A B
C D
Arch Design
PIM
PSM
14
A (PIM):A (PIM):A (PIM):A (PIM): Mechanisms and ServicesMechanisms and ServicesMechanisms and ServicesMechanisms and Services
The services tell us what
the mechanism will allow
us to do when solved
Persistence
create()
read()
update()
delete()
<<mechanism>>
Distribution
getRemoteReference()
<<mechanism>>
Security
authenticate()
canAccess()
canPerform()
<<mechanism>>
LI:CourseCatalogSystem
getCourseOfferings()
getCourses()
<<mechanism>>
LI:BillingSystem
sendBill()
<<mechanism>>
A B
C D
Arch Design
PIM
PSM
9/28/2015
8
C (PSM): Mechanism Design and ImplementationC (PSM): Mechanism Design and ImplementationC (PSM): Mechanism Design and ImplementationC (PSM): Mechanism Design and Implementation
15
Analysis Design Implementation
Remote Method Invocation
(RMI)
Persistence
Analysis
Mechanism
(Conceptual)
Design
Mechanism
(Physical)
Implementation
Mechanism
(Actual)
OODBMS
RDBMS JDBC
ObjectStore
Java 1.2 from Sun
Legacy Data
New Data
Distribution
Persistence
A B
C D
Arch Design
PIM
PSM
16
RegisterForCoursesMgr
IRegisterForCoursesMgr
CourseOfferingList
Schedule
ScheduleList
DBSchedule
C (PSM):C (PSM):C (PSM):C (PSM): Mechanism ParametersMechanism ParametersMechanism ParametersMechanism Parameters
Persistence:RDBMS:JDBC
PersistentSubject
PersistentSubjectList
DBPersistentSubject
Distribution:RMI:Java 1.2
RemoteSubject
IRemoteSubject
PassedSubject
A B
C D
Arch Design
PIM
PSM
9/28/2015
9
C (PSM): Persistence Mechanism DesignC (PSM): Persistence Mechanism DesignC (PSM): Persistence Mechanism DesignC (PSM): Persistence Mechanism Design
ElementsElementsElementsElements• Three parameters
• PersistentSubject, PersistentSubjectList, DBPersistentSubject
• Four technology specific classes from JDBC
• DriverManager, Connection, Statement, ResultSet
• Interaction and class diagrams
• One diagram per service
• Persistence::create
• Persistence::read
• Persistence::update
• Persistence::delete
17
A B
C D
Arch Design
PIM
PSM
C (PSM): Persistence::Read Sequence DiagramC (PSM): Persistence::Read Sequence DiagramC (PSM): Persistence::Read Sequence DiagramC (PSM): Persistence::Read Sequence Diagram
18
Loop
:DBPersistentClass
: Connection : Statement : ResultSet
:PersistentClassList
:PersistentClass
read(criteria :String):PersistentClassList
createStatement( )
executeQuery( )
getString( )
:String
:Statement
:ResultSet
 set attributes 
 add(PersistentClass) 
:PersistentClassList
sd Persistence::Read
A B
C D
Arch Design
PIM
PSM
9/28/2015
10
C (PSM):C (PSM):C (PSM):C (PSM): Persistence:RDBMS:JDBCPersistence:RDBMS:JDBCPersistence:RDBMS:JDBCPersistence:RDBMS:JDBC Class DiagramClass DiagramClass DiagramClass Diagram
19
Statement
executeQuery(sql : String) : ResultSet
executeUpdate(sql : String) : int
(from java.sql)ResultSet
getString() : string
(from java.sql)
Connection
createStatement() : Statement
(from java.sql)
DriverManager
getConnection(url, user, pass) : Connection
(from java.sql)
DBPersistentClass
create() : PersistentClass
read(searchCriteria : string) : PersistentClassList
update(c : PersistentClass)
delete(c : PersistentClass)
<<parameter>>
1
1
PersistencyClient
(from SamplePersistency Client)
<<parameter>>
PersistentClass
getAttributes()
setAttributes()
(from SamplePersistentClass)
<<parameter>>
PersistentClassList
add(c: PersistentClass)
(from SamplePersistentClass)
<<parameter>>
0..*
1
0..*
1
Roles to be filled by the designer
applying the mechanism
DBGeneric
A B
C D
Arch Design
PIM
PSM
C (PSM): Distribution Mechanism DesignC (PSM): Distribution Mechanism DesignC (PSM): Distribution Mechanism DesignC (PSM): Distribution Mechanism Design
ElementsElementsElementsElements• Three parameters
• RemoteSubject, <<interface>> IRemoteSubject, PassedSubject
• Four technology specific classes
• Naming, Remote, UnicastRemote, Serializable
• Interaction and class diagrams
• One diagram per service
• Distribution::sendMessage
20
A B
C D
Arch Design
PIM
PSM
9/28/2015
11
First Step: Set up an Architectural LibraryFirst Step: Set up an Architectural LibraryFirst Step: Set up an Architectural LibraryFirst Step: Set up an Architectural Library
• Mechanisms
• Overview – growing list of mechanisms and their services
• Persistence
• C# Flat Files
• JDBC
• Reusable non-functional requirements
• Sequence diagrams for each service
• Class diagram(s)
• Resuable code samples
• Reusable test cases
• Additional guidance
• ODBC
• Distribution
• RMI
21
Note: Each technology implements the same
services within a single mechanism folder:
Ex: Persistence: create, read, update, delete
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern – A, B, C, or D?
• 4+1 Views of Architecture
• Summary
22
9/28/2015
12
BoundaryBoundaryBoundaryBoundary----ControlControlControlControl----Entity (BCE) PatternEntity (BCE) PatternEntity (BCE) PatternEntity (BCE) Pattern
• Boundaries
• Know the details of an “outside” human or system
• Pull the data from that outside system
• Create an instance of a “business entity” object and sets the attributes
• Other classes that use the entity are isolated from knowing the internal structure
• For example: the order of the records in a database that could change one day
• The boundary is coupled to the entities they specialize in and the “outsider” technology
• Entities
• Represent business elements
• Encapsulate the business rules for the entity type
• Are very reusuable as they are not dependant on other classes
• Controls
• Are coupled to anything they want
• We purposefully increase the coupling of a control class to spare the entities
23
A B
C D
Arch Design
PIM
PSM
Example Sequence Diagram using BCE PatternExample Sequence Diagram using BCE PatternExample Sequence Diagram using BCE PatternExample Sequence Diagram using BCE Pattern
24
: Employee :MaintainTimecardMgr
1:  select maintain timecard
:MaintainTimecardForm
2:  get timecard 
:Timecard
1
3a
: Employee
8:  get attributes 
charge number attributes
: ChargeNumber
:Timecard
9:  display timecard and charge numbers 
7:  get attributes 
timecard attributes
: Timecard
Timecard Rules
:Timecard
4:
5:  get charge numbers 
:ChargeNumbers
loop
: PMDB Bridge
6:  get charge numbers 
:ChargeNumbers
LI:PMDB:GetChargeNumbers
sd
Persistence:Read
sdalt2
alt1
3:  get current timecard 
A B
C D
Arch Design
PIM
PSM
9/28/2015
13
Example Class Diagram using BCE PatternExample Class Diagram using BCE PatternExample Class Diagram using BCE PatternExample Class Diagram using BCE Pattern
25
PMDB Bridge
<<boundary>>
Timecard
<<entity>>
MaintainTimecardForm
<<boundary>>
*
*
*
Employee
<<entity>>
 get current timecard 
 select maintain timecard 
 display timecard and charge numbers 
 get attributes 
 get charge numbers 
MaintainTimecardMgr
<<control>>
 get timecard 
 get charge numbers 
ChargeNumber
<<entity>>
 get attributes 
Application Layer
Application Layer Business Layer
Business Layer
Business Layer
Business Layer
currentTimecard
A B
C D
Arch Design
PIM
PSM
26
BoundaryBoundaryBoundaryBoundary, Entity and Control Transformations, Entity and Control Transformations, Entity and Control Transformations, Entity and Control Transformations
• J2EE Web Application Example
• Control classes could implement the Front Controller and Session Façade patterns
• Front controller (Servlet or JSP)
• Web controller
• EJB controller (Session bean)
• Replace “Controller” with your control class name
• For example: RegisterForCoursesMgr (RFCMgr for space)
FrontController
<<Server Page>>
WebController
<<control>>
EJBControllerEJB
S
Front Controller pattern
Session Facade pattern
FrontRFCMgr
<<Server Page>>
WebRFCMgr
<<control>>
EJBRFCMgrEJB
S
A B
C D
Arch Design
PIM
PSM C
9/28/2015
14
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern
• 4+1 Views of Architecture – A, B, C or D?
• Summary
27
4+1 Views of Architecture4+1 Views of Architecture4+1 Views of Architecture4+1 Views of Architecture
28
Process View Deployment View
Logical View Implementation View
Software management
Performance
Scalability
Throughput
System topology
Delivery, installation
communication
Structure
Requirement View
End-user
Functionality
A B
C D
Arch Design
PIM
PSM
9/28/2015
15
29
LogicalLogicalLogicalLogical View of ArchitectureView of ArchitectureView of ArchitectureView of Architecture
Boundaries to primary actors
and use case controllers
Elements that existed in the problem
domain before we automated it
Software technology specific items that
are completely problem domain free
(solutions to our mechanisms!)
Software dedicated to communication with
the development platform and its utilities
Application
<<layer>>
Business
<<layer>>
Middleware
<<layer>>
System
<<layer>>
A B
C D
Arch Design
PIM
PSM
Deployment View of ArchitectureDeployment View of ArchitectureDeployment View of ArchitectureDeployment View of Architecture
30
<<legacy>>
Course Catalog
<<Campus LAN>>
<<Campus LAN>><<Campus LAN>>
<<processor>>
Registration Server
<<processor>>
Desktop PC
CourseCatalogSystemAccess
CourseRegistrationProcess
Billing
System
<<legacy>>
0..2000
1
1
1
1
1
Student Application
A B
C D
Arch Design
PIM
PSM
9/28/2015
16
ProcessProcessProcessProcess View or ArchitectureView or ArchitectureView or ArchitectureView or Architecture
31
CourseRegistrationProcess
<<process>>
StudentApplication
<<process>>
CourseCatalogSystemAccess
<<process>>
RegistrationController
(from Registration)
<<control>>
1
1
11
1
1
0..1
1
RegisterForCoursesForm
(from Registration)
<<boundary>>
MainStudentForm
(from Registration)
1
0..*
+courseCatalog
1
1
ICourseCatalogSystem
(from External System Interfaces)
<<Interface>>
Dependencies
Needed to support
class diagram
relationships
A B
C D
Arch Design
PIM
PSM
CombiningCombiningCombiningCombining Deployment View and Process ViewDeployment View and Process ViewDeployment View and Process ViewDeployment View and Process View
32
<<client workstation>>
PC
<<process>>
StudentApplication
<<deploy>>
MainStudentForm
<<manifest>>
<<header>>
MainStudentForm
<<source>>
MainStudentForm
<<manifest>>
<<manifest>>
A B
C D
Arch Design
PIM
PSM
9/28/2015
17
AgendaAgendaAgendaAgenda
• Definition of Architecture
• Architecture vs Design: a Separation of Concerns
• Architecture up Front vs Agile Iterations
• Architectural Mechanisms
• Boundary Entity Control Pattern
• 4+1 Views of Architecture – A, B, C or D?
• Summary
33
Summary: Mechanisms are a Game ChangerSummary: Mechanisms are a Game ChangerSummary: Mechanisms are a Game ChangerSummary: Mechanisms are a Game Changer
• Reduce cycle time
• Stop re-inventing the wheel for complex areas in software development
• A mechanism library will level the playing field for teams new to a technology
• Reuse of requirements, design, code and test will save time in all of these areas
• Use PIM and PSM for both architecture and design to speed response to changes
• Do architecture in parallel with your iterations
• Improve quality
• If a team improves the quality of a mechanism implementation, EVERYONE using
the same technology can benefit
• Reuse of requirements, design, code and test will improve quality of the solution
• A mechanism library will allow best in class designs to become reusable
34

More Related Content

PDF
Architecture vs. Design in Agile: What’s the Right Answer?
ODP
Agile Architecture
PPTX
2009 scrum & architecture
PPTX
BIM Implementation in a Lean Operating System
PDF
Agile Architecture Agile Dev Practices 2013 Keynote
PDF
Future Role of the Architect
PDF
Building information modeling & value to the AEC industry Part 1 v1
PDF
Building information modeling
Architecture vs. Design in Agile: What’s the Right Answer?
Agile Architecture
2009 scrum & architecture
BIM Implementation in a Lean Operating System
Agile Architecture Agile Dev Practices 2013 Keynote
Future Role of the Architect
Building information modeling & value to the AEC industry Part 1 v1
Building information modeling

What's hot (20)

PPTX
Why We Need Architects (and Architecture) on Agile Projects
PDF
Evolution of cadcamcae techonology and value to the industry v1.compressed
PDF
Adam boczek 2015 agile architecture in 10 steps v1.0
PPTX
Refactoring, Emergent Design & Evolutionary Architecture
PDF
Modern Agile Software Architecture
PPT
Dancing With The Agile Goddess Agile 2008
PDF
Digital construction for Integrated Project Delivery
PDF
Bim and project management
PPTX
Introduction to Modern Software Architecture
PDF
bim and project controls
PDF
Ptc creo manikin sales presentation
PDF
Evolution of pdm plm technology &amp; value to the industry
PDF
2D to 3D modeling and why you need BIM
PDF
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
PDF
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
PPTX
Building Information Modeling (BIM)
PDF
Designing with the 3DExperience – First Look at SOLIDWORKS Industrial Designer
PDF
Open bim and collaboration practice
PDF
PDF
081204 Virtual Design & Construction
Why We Need Architects (and Architecture) on Agile Projects
Evolution of cadcamcae techonology and value to the industry v1.compressed
Adam boczek 2015 agile architecture in 10 steps v1.0
Refactoring, Emergent Design & Evolutionary Architecture
Modern Agile Software Architecture
Dancing With The Agile Goddess Agile 2008
Digital construction for Integrated Project Delivery
Bim and project management
Introduction to Modern Software Architecture
bim and project controls
Ptc creo manikin sales presentation
Evolution of pdm plm technology &amp; value to the industry
2D to 3D modeling and why you need BIM
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Building Information Modeling (BIM)
Designing with the 3DExperience – First Look at SOLIDWORKS Industrial Designer
Open bim and collaboration practice
081204 Virtual Design & Construction
Ad

Viewers also liked (16)

PDF
The Golden Rules for Managing Large Testing Initiatives
PDF
Testers and Testing: A Product Owner’s Perspective
PDF
Things That Go Bump: Product Risk Assessment in Agile
PDF
PDF
Strategies for Mobile Web Application Testing
PDF
Agile and DevOps Transformations in Large Organizations
PDF
How Metrics Programs Can Destroy Your Soul
PDF
Cloud-Based, Automated Mobile App Testing for the Enterprise
PDF
Getting the Most Value from Feedback Systems: Daily, Every Sprint, and Every ...
PDF
Exploratory Testing Explained
PDF
Mobile App Testing Secrets
PDF
Well Begun Is Half Done: Creating Dynamic and Living Team Charters
PDF
Continuous Delivery in a Legacy Shop—One Step at a Time
PDF
Next-Generation Performance Testing with Lifecycle Monitoring
PDF
Advance ALM and DevOps Practices with Continuous Improvement
PDF
Project Management Tips to Improve Test Planning
The Golden Rules for Managing Large Testing Initiatives
Testers and Testing: A Product Owner’s Perspective
Things That Go Bump: Product Risk Assessment in Agile
Strategies for Mobile Web Application Testing
Agile and DevOps Transformations in Large Organizations
How Metrics Programs Can Destroy Your Soul
Cloud-Based, Automated Mobile App Testing for the Enterprise
Getting the Most Value from Feedback Systems: Daily, Every Sprint, and Every ...
Exploratory Testing Explained
Mobile App Testing Secrets
Well Begun Is Half Done: Creating Dynamic and Living Team Charters
Continuous Delivery in a Legacy Shop—One Step at a Time
Next-Generation Performance Testing with Lifecycle Monitoring
Advance ALM and DevOps Practices with Continuous Improvement
Project Management Tips to Improve Test Planning
Ad

Similar to Architecture vs. Design vs. Agile: What’s the Answer? (20)

PPTX
Continuous Delivery of Agile Architecture
PPTX
Unit iii-Architecture in the lifecycle
PDF
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
PPT
Innovate 2013 Design on a Diet - session 2131
PDF
Are You an Accidental or Intentional Architect?
PPTX
Pattern driven Enterprise Architecture
PPTX
Re-Platforming Applications for the Cloud
PDF
Bridging the Validation Gap: Next-Level Model Governance in Digital-Twin Engi...
PPTX
When Architecture Meets Data
PDF
CMAD Group Workbook 3.1 Op Model Enable
PPTX
Agile Architecture Belfast Software Architecture User Group
PDF
Agile Software Architecture
PDF
ilide.info-togaf-10-intro-pr_6111643464a17943244f6fc5b2f08f16.pdf
PDF
Windchill 11 - Smart Connected PLM
PDF
Pivoting event streaming, from PROJECTS to a PLATFORM
PPTX
Cc 2009 091202
PDF
Lean Construction – Construction Process Integration framework, London Novemb...
PPTX
Integrating Advanced Analytics with Autodesk Solutions
PPTX
The Role Of The Architect In Turbulent Times
PDF
Thinking "Cloud-Native"
Continuous Delivery of Agile Architecture
Unit iii-Architecture in the lifecycle
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Innovate 2013 Design on a Diet - session 2131
Are You an Accidental or Intentional Architect?
Pattern driven Enterprise Architecture
Re-Platforming Applications for the Cloud
Bridging the Validation Gap: Next-Level Model Governance in Digital-Twin Engi...
When Architecture Meets Data
CMAD Group Workbook 3.1 Op Model Enable
Agile Architecture Belfast Software Architecture User Group
Agile Software Architecture
ilide.info-togaf-10-intro-pr_6111643464a17943244f6fc5b2f08f16.pdf
Windchill 11 - Smart Connected PLM
Pivoting event streaming, from PROJECTS to a PLATFORM
Cc 2009 091202
Lean Construction – Construction Process Integration framework, London Novemb...
Integrating Advanced Analytics with Autodesk Solutions
The Role Of The Architect In Turbulent Times
Thinking "Cloud-Native"

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
System and Network Administration Chapter 2
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
L1 - Introduction to python Backend.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
System and Network Administraation Chapter 3
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
medical staffing services at VALiNTRY
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Transform Your Business with a Software ERP System
PTS Company Brochure 2025 (1).pdf.......
System and Network Administration Chapter 2
CHAPTER 2 - PM Management and IT Context
Operating system designcfffgfgggggggvggggggggg
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Online Work Permit System for Fast Permit Processing
Understanding Forklifts - TECH EHS Solution
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
How to Migrate SBCGlobal Email to Yahoo Easily
L1 - Introduction to python Backend.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
Nekopoi APK 2025 free lastest update
System and Network Administraation Chapter 3
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
medical staffing services at VALiNTRY
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Softaken Excel to vCard Converter Software.pdf
Transform Your Business with a Software ERP System

Architecture vs. Design vs. Agile: What’s the Answer?

  • 1. AW15 Concurrent Session 11/11/15 4:15pm “Architecture vs. Design vs. Agile: What’s the Answer?” Presented by: Anthony Crain Blue Agility Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 · 904-278-0524 · info@techwell.com · www.techwell.com
  • 2. Anthony Crain Blue Agility Since 1999 Anthony Crain has lead enterprise organizational change initiatives for IBM and now for Blue Agility. He is known for his outstanding mentoring and teaching abilities, clearly explaining the practical side to theoretical concepts in an exciting and actionable manner. A dynamic speaker who energizes his audience, Anthony has introduced thousands of people to agile, portfolio management, requirements, architecture, and numerous other engineering topics. He has led transformations in diverse industries—commercial banking, software development, automotive, healthcare, financial, government, retail, automated controls, manufacturing, power, telecom, home mortgage, and more.
  • 3. 9/28/2015 1 BLUEAGILITYEmpower the Enterprise Architecture vs Design vs Agile What’s the Answer? Anthony Crain acrain@blue-agility.com AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern • 4+1 Views of Architecture • Summary 2
  • 4. 9/28/2015 2 Definition of ArchitectureDefinition of ArchitectureDefinition of ArchitectureDefinition of Architecture • Maximize Reuse • Patterns • Standards • Separation of Concerns • Ensure Quality • Usability • Reliability • Performance • Supportability 3 AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern • 4+1 Views of Architecture • Summary 4
  • 5. 9/28/2015 3 Architecture vs DesignArchitecture vs DesignArchitecture vs DesignArchitecture vs Design • Architecture • Not “high level design” • Domain free • Focused on reuse • Focused on quality • Architecture ensures we achieve our non-functional requirements • Quality Requirements: Usability, Reliability, Performance, Supportability • Design Constraints • Interface Requirements • Design • Focused on functional requirements – domain specific • Design what the system will actually do • Constrained by architecture to ensure the quality requirements are met 5 Separation of ConcernsSeparation of ConcernsSeparation of ConcernsSeparation of Concerns 6 Analysis Model Design Model Architectural Model + functional (epics, stories, terms, rules) non-functional (quality: urps, dc, int) Behavior Changes Quality & Environment Changes Requirement Model Implementation Model Requirements Design Implementation Architecture PIMPIM PSM PSM PIM: Platform Independent Model PSM: Platform Specific Model F NF A C B D Code
  • 6. 9/28/2015 4 Architecture/DesignArchitecture/DesignArchitecture/DesignArchitecture/Design Activities andActivities andActivities andActivities and DependenciesDependenciesDependenciesDependencies 7 A B C D Arch Design PIM Logical “Tech-Free” “Ideal” PSM Physical “Tech-Specific” “Real” C depends on A and B D depends on C and B Requirements-driven Nonfunctional Reqts [architecture model] Functional Reqts [design model] complete dependency (start after predecessor) partial dependency (start at same time as predecessor) E [implementationmodel] [architecture model] [analysis model] Summary of Architecture and Design ActivitiesSummary of Architecture and Design ActivitiesSummary of Architecture and Design ActivitiesSummary of Architecture and Design Activities • A: Architectural Analysis – tech free and domain free • B: Ideal Design – tech free, specific domain • C: Architectural Design – tech specific, domain free • D: Physical Design – tech specific, domain specific A B C D Arch Design PIM PSM 8
  • 7. 9/28/2015 5 AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern • 4+1 Views of Architecture • Summary 9 Architecture up Front vs Agile IterationsArchitecture up Front vs Agile IterationsArchitecture up Front vs Agile IterationsArchitecture up Front vs Agile Iterations • Traditional Development • Architect want an “up front” time to work on architecture • Often ask for many months • Agile Teams • Want to begin iterations immediately • Solutions • DAD: Inception, Construction, Transition • Risk Value Lifecycle • Scrum: value driven lifecycle • Risk Value Lifecycle: tag stories as architecturally risky, resort for risk and value • Architects still can have months • But must prioritize the work immediately needed for the next iteration • Take all the time you need, but we’ll be building software at the same time • Focus on the creation of patterns to ensure the highest quality design – ideas ahead! 10
  • 8. 9/28/2015 6 AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern • 4+1 Views of Architecture • Summary 11 A (PIM): Architectural MechanismsA (PIM): Architectural MechanismsA (PIM): Architectural MechanismsA (PIM): Architectural Mechanisms • Technically challenging/high risk areas in the architecture • Encapsulate the “Build vs. Buy vs. Reuse” decision • Describe how to use a given technology to solve a common architectural problem • Significantly increase reuse in an organization • Constrain designers to a best practice set of approaches and techniques • Need to be done in multiple places (in one project or many) 12 A B C D Arch Design PIM PSM
  • 9. 9/28/2015 7 13 A (PIM):A (PIM):A (PIM):A (PIM): Sample Architectural MechanismsSample Architectural MechanismsSample Architectural MechanismsSample Architectural Mechanisms • Persistence • Communication (IPC and RPC) • Message routing • Distribution • Transaction management • Process control and synchronization (resource contention) • Information exchange, format conversion • Security • Error detection / handling / reporting • Redundancy • Legacy Interface A B C D Arch Design PIM PSM 14 A (PIM):A (PIM):A (PIM):A (PIM): Mechanisms and ServicesMechanisms and ServicesMechanisms and ServicesMechanisms and Services The services tell us what the mechanism will allow us to do when solved Persistence create() read() update() delete() <<mechanism>> Distribution getRemoteReference() <<mechanism>> Security authenticate() canAccess() canPerform() <<mechanism>> LI:CourseCatalogSystem getCourseOfferings() getCourses() <<mechanism>> LI:BillingSystem sendBill() <<mechanism>> A B C D Arch Design PIM PSM
  • 10. 9/28/2015 8 C (PSM): Mechanism Design and ImplementationC (PSM): Mechanism Design and ImplementationC (PSM): Mechanism Design and ImplementationC (PSM): Mechanism Design and Implementation 15 Analysis Design Implementation Remote Method Invocation (RMI) Persistence Analysis Mechanism (Conceptual) Design Mechanism (Physical) Implementation Mechanism (Actual) OODBMS RDBMS JDBC ObjectStore Java 1.2 from Sun Legacy Data New Data Distribution Persistence A B C D Arch Design PIM PSM 16 RegisterForCoursesMgr IRegisterForCoursesMgr CourseOfferingList Schedule ScheduleList DBSchedule C (PSM):C (PSM):C (PSM):C (PSM): Mechanism ParametersMechanism ParametersMechanism ParametersMechanism Parameters Persistence:RDBMS:JDBC PersistentSubject PersistentSubjectList DBPersistentSubject Distribution:RMI:Java 1.2 RemoteSubject IRemoteSubject PassedSubject A B C D Arch Design PIM PSM
  • 11. 9/28/2015 9 C (PSM): Persistence Mechanism DesignC (PSM): Persistence Mechanism DesignC (PSM): Persistence Mechanism DesignC (PSM): Persistence Mechanism Design ElementsElementsElementsElements• Three parameters • PersistentSubject, PersistentSubjectList, DBPersistentSubject • Four technology specific classes from JDBC • DriverManager, Connection, Statement, ResultSet • Interaction and class diagrams • One diagram per service • Persistence::create • Persistence::read • Persistence::update • Persistence::delete 17 A B C D Arch Design PIM PSM C (PSM): Persistence::Read Sequence DiagramC (PSM): Persistence::Read Sequence DiagramC (PSM): Persistence::Read Sequence DiagramC (PSM): Persistence::Read Sequence Diagram 18 Loop :DBPersistentClass : Connection : Statement : ResultSet :PersistentClassList :PersistentClass read(criteria :String):PersistentClassList createStatement( ) executeQuery( ) getString( ) :String :Statement :ResultSet set attributes add(PersistentClass) :PersistentClassList sd Persistence::Read A B C D Arch Design PIM PSM
  • 12. 9/28/2015 10 C (PSM):C (PSM):C (PSM):C (PSM): Persistence:RDBMS:JDBCPersistence:RDBMS:JDBCPersistence:RDBMS:JDBCPersistence:RDBMS:JDBC Class DiagramClass DiagramClass DiagramClass Diagram 19 Statement executeQuery(sql : String) : ResultSet executeUpdate(sql : String) : int (from java.sql)ResultSet getString() : string (from java.sql) Connection createStatement() : Statement (from java.sql) DriverManager getConnection(url, user, pass) : Connection (from java.sql) DBPersistentClass create() : PersistentClass read(searchCriteria : string) : PersistentClassList update(c : PersistentClass) delete(c : PersistentClass) <<parameter>> 1 1 PersistencyClient (from SamplePersistency Client) <<parameter>> PersistentClass getAttributes() setAttributes() (from SamplePersistentClass) <<parameter>> PersistentClassList add(c: PersistentClass) (from SamplePersistentClass) <<parameter>> 0..* 1 0..* 1 Roles to be filled by the designer applying the mechanism DBGeneric A B C D Arch Design PIM PSM C (PSM): Distribution Mechanism DesignC (PSM): Distribution Mechanism DesignC (PSM): Distribution Mechanism DesignC (PSM): Distribution Mechanism Design ElementsElementsElementsElements• Three parameters • RemoteSubject, <<interface>> IRemoteSubject, PassedSubject • Four technology specific classes • Naming, Remote, UnicastRemote, Serializable • Interaction and class diagrams • One diagram per service • Distribution::sendMessage 20 A B C D Arch Design PIM PSM
  • 13. 9/28/2015 11 First Step: Set up an Architectural LibraryFirst Step: Set up an Architectural LibraryFirst Step: Set up an Architectural LibraryFirst Step: Set up an Architectural Library • Mechanisms • Overview – growing list of mechanisms and their services • Persistence • C# Flat Files • JDBC • Reusable non-functional requirements • Sequence diagrams for each service • Class diagram(s) • Resuable code samples • Reusable test cases • Additional guidance • ODBC • Distribution • RMI 21 Note: Each technology implements the same services within a single mechanism folder: Ex: Persistence: create, read, update, delete AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern – A, B, C, or D? • 4+1 Views of Architecture • Summary 22
  • 14. 9/28/2015 12 BoundaryBoundaryBoundaryBoundary----ControlControlControlControl----Entity (BCE) PatternEntity (BCE) PatternEntity (BCE) PatternEntity (BCE) Pattern • Boundaries • Know the details of an “outside” human or system • Pull the data from that outside system • Create an instance of a “business entity” object and sets the attributes • Other classes that use the entity are isolated from knowing the internal structure • For example: the order of the records in a database that could change one day • The boundary is coupled to the entities they specialize in and the “outsider” technology • Entities • Represent business elements • Encapsulate the business rules for the entity type • Are very reusuable as they are not dependant on other classes • Controls • Are coupled to anything they want • We purposefully increase the coupling of a control class to spare the entities 23 A B C D Arch Design PIM PSM Example Sequence Diagram using BCE PatternExample Sequence Diagram using BCE PatternExample Sequence Diagram using BCE PatternExample Sequence Diagram using BCE Pattern 24 : Employee :MaintainTimecardMgr 1: select maintain timecard :MaintainTimecardForm 2: get timecard :Timecard 1 3a : Employee 8: get attributes charge number attributes : ChargeNumber :Timecard 9: display timecard and charge numbers 7: get attributes timecard attributes : Timecard Timecard Rules :Timecard 4: 5: get charge numbers :ChargeNumbers loop : PMDB Bridge 6: get charge numbers :ChargeNumbers LI:PMDB:GetChargeNumbers sd Persistence:Read sdalt2 alt1 3: get current timecard A B C D Arch Design PIM PSM
  • 15. 9/28/2015 13 Example Class Diagram using BCE PatternExample Class Diagram using BCE PatternExample Class Diagram using BCE PatternExample Class Diagram using BCE Pattern 25 PMDB Bridge <<boundary>> Timecard <<entity>> MaintainTimecardForm <<boundary>> * * * Employee <<entity>> get current timecard select maintain timecard display timecard and charge numbers get attributes get charge numbers MaintainTimecardMgr <<control>> get timecard get charge numbers ChargeNumber <<entity>> get attributes Application Layer Application Layer Business Layer Business Layer Business Layer Business Layer currentTimecard A B C D Arch Design PIM PSM 26 BoundaryBoundaryBoundaryBoundary, Entity and Control Transformations, Entity and Control Transformations, Entity and Control Transformations, Entity and Control Transformations • J2EE Web Application Example • Control classes could implement the Front Controller and Session Façade patterns • Front controller (Servlet or JSP) • Web controller • EJB controller (Session bean) • Replace “Controller” with your control class name • For example: RegisterForCoursesMgr (RFCMgr for space) FrontController <<Server Page>> WebController <<control>> EJBControllerEJB S Front Controller pattern Session Facade pattern FrontRFCMgr <<Server Page>> WebRFCMgr <<control>> EJBRFCMgrEJB S A B C D Arch Design PIM PSM C
  • 16. 9/28/2015 14 AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern • 4+1 Views of Architecture – A, B, C or D? • Summary 27 4+1 Views of Architecture4+1 Views of Architecture4+1 Views of Architecture4+1 Views of Architecture 28 Process View Deployment View Logical View Implementation View Software management Performance Scalability Throughput System topology Delivery, installation communication Structure Requirement View End-user Functionality A B C D Arch Design PIM PSM
  • 17. 9/28/2015 15 29 LogicalLogicalLogicalLogical View of ArchitectureView of ArchitectureView of ArchitectureView of Architecture Boundaries to primary actors and use case controllers Elements that existed in the problem domain before we automated it Software technology specific items that are completely problem domain free (solutions to our mechanisms!) Software dedicated to communication with the development platform and its utilities Application <<layer>> Business <<layer>> Middleware <<layer>> System <<layer>> A B C D Arch Design PIM PSM Deployment View of ArchitectureDeployment View of ArchitectureDeployment View of ArchitectureDeployment View of Architecture 30 <<legacy>> Course Catalog <<Campus LAN>> <<Campus LAN>><<Campus LAN>> <<processor>> Registration Server <<processor>> Desktop PC CourseCatalogSystemAccess CourseRegistrationProcess Billing System <<legacy>> 0..2000 1 1 1 1 1 Student Application A B C D Arch Design PIM PSM
  • 18. 9/28/2015 16 ProcessProcessProcessProcess View or ArchitectureView or ArchitectureView or ArchitectureView or Architecture 31 CourseRegistrationProcess <<process>> StudentApplication <<process>> CourseCatalogSystemAccess <<process>> RegistrationController (from Registration) <<control>> 1 1 11 1 1 0..1 1 RegisterForCoursesForm (from Registration) <<boundary>> MainStudentForm (from Registration) 1 0..* +courseCatalog 1 1 ICourseCatalogSystem (from External System Interfaces) <<Interface>> Dependencies Needed to support class diagram relationships A B C D Arch Design PIM PSM CombiningCombiningCombiningCombining Deployment View and Process ViewDeployment View and Process ViewDeployment View and Process ViewDeployment View and Process View 32 <<client workstation>> PC <<process>> StudentApplication <<deploy>> MainStudentForm <<manifest>> <<header>> MainStudentForm <<source>> MainStudentForm <<manifest>> <<manifest>> A B C D Arch Design PIM PSM
  • 19. 9/28/2015 17 AgendaAgendaAgendaAgenda • Definition of Architecture • Architecture vs Design: a Separation of Concerns • Architecture up Front vs Agile Iterations • Architectural Mechanisms • Boundary Entity Control Pattern • 4+1 Views of Architecture – A, B, C or D? • Summary 33 Summary: Mechanisms are a Game ChangerSummary: Mechanisms are a Game ChangerSummary: Mechanisms are a Game ChangerSummary: Mechanisms are a Game Changer • Reduce cycle time • Stop re-inventing the wheel for complex areas in software development • A mechanism library will level the playing field for teams new to a technology • Reuse of requirements, design, code and test will save time in all of these areas • Use PIM and PSM for both architecture and design to speed response to changes • Do architecture in parallel with your iterations • Improve quality • If a team improves the quality of a mechanism implementation, EVERYONE using the same technology can benefit • Reuse of requirements, design, code and test will improve quality of the solution • A mechanism library will allow best in class designs to become reusable 34