SlideShare a Scribd company logo
AW10	
Session	
6/8/16	2:45	PM	
	
	
	
	
	
	
Architecture	vs.	Design	in	Agile:	What's	
the	Right	Answer?	
	
Presented	by:	
	
Anthony	Crain	
Blue	Agility,	LLC	
	
	
Brought	to	you	by:		
		
	
	
	
	
350	Corporate	Way,	Suite	400,	Orange	Park,	FL	32073		
888---268---8770	··	904---278---0524	-	info@techwell.com	-	http://www.techwell.com/
Anthony	Crain	
Blue	Agility,	LLC	
	
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	including	commercial	
banking,	software	development,	automotive,	healthcare,	finance,	government,	
retail,	automated	controls,	manufacturing,	power,	telecom,	and	home	mortgage.
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
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
Architecture vs DesignArchitecture vs DesignArchitecture vs DesignArchitecture vs Design
• Architecture – Intentional
• 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 – Emergent
• 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
Architecture/Design Activities and DependenciesArchitecture/Design Activities and DependenciesArchitecture/Design Activities and DependenciesArchitecture/Design Activities and Dependencies
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
[implementation model]
[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
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
Architecture Design/Code
Design/Code
Architecture
Traditional/Waterfall Development
Iterative Development
Time
Validates
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
13
A (PIM): Sample Architectural MechanismsA (PIM): Sample Architectural MechanismsA (PIM): Sample Architectural MechanismsA (PIM): Sample 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): Mechanisms and ServicesA (PIM): Mechanisms and ServicesA (PIM): Mechanisms and ServicesA (PIM): Mechanisms 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
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): Mechanism ParametersC (PSM): Mechanism ParametersC (PSM): Mechanism ParametersC (PSM): Mechanism Parameters
Persistence:RDBMS:JDBC
PersistentSubject
PersistentSubjectList
DBPersistentSubject
Distribution:RMI:Java 1.2
RemoteSubject
IRemoteSubject
PassedSubject
A B
C D
Arch Design
PIM
PSM
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
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
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
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
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
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
29
Logical View of ArchitectureLogical View of ArchitectureLogical View of ArchitectureLogical View 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
Process View or ArchitectureProcess View or ArchitectureProcess View or ArchitectureProcess View 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
Combining Deployment View and Process ViewCombining Deployment View and Process ViewCombining Deployment View and Process ViewCombining Deployment 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
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

What's hot

How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
Brad Beiermann
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
Brad Beiermann
 
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
The Hong Kong Institute of Building Information Modelling (HKIBIM)
 
Bentley Structural seminar
Bentley Structural seminarBentley Structural seminar
Bentley Structural seminar
Kareem Sherif
 
Virtual design and construction
Virtual design and constructionVirtual design and construction
Virtual design and construction
Ankit Singhai
 
Autodesk CFD for better building design by ZHU ge
Autodesk CFD for better building design by ZHU geAutodesk CFD for better building design by ZHU ge
Autodesk CFD for better building design by ZHU ge
The Hong Kong Institute of Building Information Modelling (HKIBIM)
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
Jonathan Holloway
 
Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015
Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015
Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015
Rafiq Khadimally PMP
 
Dancing With The Agile Goddess Agile 2008
Dancing With The Agile Goddess Agile 2008Dancing With The Agile Goddess Agile 2008
Dancing With The Agile Goddess Agile 2008
Israel Gat
 
Open bim and collaboration practice
Open bim and collaboration practiceOpen bim and collaboration practice
Open bim and collaboration practice
Omar Selim
 
PJM01_RUC_2003_Presentation
PJM01_RUC_2003_PresentationPJM01_RUC_2003_Presentation
PJM01_RUC_2003_Presentation
Lisa Statland
 
BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...
Ravindra SSK Medicharla
 
System engineering capabilities of 3 dexperience platform for nuclear market ...
System engineering capabilities of 3 dexperience platform for nuclear market ...System engineering capabilities of 3 dexperience platform for nuclear market ...
System engineering capabilities of 3 dexperience platform for nuclear market ...
Capgemini
 
'Form follows function'
'Form follows function''Form follows function'
'Form follows function'
Atul Pathak
 
Symbio BPM your Governance, Compliance, Risk & Transformation Platform
Symbio BPM your Governance, Compliance, Risk & Transformation PlatformSymbio BPM your Governance, Compliance, Risk & Transformation Platform
Symbio BPM your Governance, Compliance, Risk & Transformation Platform
Etienne Venter
 

What's hot (15)

How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
 
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
What does BIM mean to a maintenance technician? Beyond the hype, a practical ...
 
Bentley Structural seminar
Bentley Structural seminarBentley Structural seminar
Bentley Structural seminar
 
Virtual design and construction
Virtual design and constructionVirtual design and construction
Virtual design and construction
 
Autodesk CFD for better building design by ZHU ge
Autodesk CFD for better building design by ZHU geAutodesk CFD for better building design by ZHU ge
Autodesk CFD for better building design by ZHU ge
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015
Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015
Rice Global Forum_IM_CE_Rick Khadimally PMP_9-Jan-2015
 
Dancing With The Agile Goddess Agile 2008
Dancing With The Agile Goddess Agile 2008Dancing With The Agile Goddess Agile 2008
Dancing With The Agile Goddess Agile 2008
 
Open bim and collaboration practice
Open bim and collaboration practiceOpen bim and collaboration practice
Open bim and collaboration practice
 
PJM01_RUC_2003_Presentation
PJM01_RUC_2003_PresentationPJM01_RUC_2003_Presentation
PJM01_RUC_2003_Presentation
 
BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...
 
System engineering capabilities of 3 dexperience platform for nuclear market ...
System engineering capabilities of 3 dexperience platform for nuclear market ...System engineering capabilities of 3 dexperience platform for nuclear market ...
System engineering capabilities of 3 dexperience platform for nuclear market ...
 
'Form follows function'
'Form follows function''Form follows function'
'Form follows function'
 
Symbio BPM your Governance, Compliance, Risk & Transformation Platform
Symbio BPM your Governance, Compliance, Risk & Transformation PlatformSymbio BPM your Governance, Compliance, Risk & Transformation Platform
Symbio BPM your Governance, Compliance, Risk & Transformation Platform
 

Viewers also liked

The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing Strategy
TechWell
 
Use Feature Flags for Clean Deployments
Use Feature Flags for Clean DeploymentsUse Feature Flags for Clean Deployments
Use Feature Flags for Clean Deployments
TechWell
 
Agile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile IssuesAgile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile Issues
TechWell
 
Scaling Scrum with Scrum™ (SSwS): A Universal Framework
Scaling Scrum with Scrum™ (SSwS): A Universal FrameworkScaling Scrum with Scrum™ (SSwS): A Universal Framework
Scaling Scrum with Scrum™ (SSwS): A Universal Framework
TechWell
 
How Far Can You Go with Agile for Embedded Software?
How Far Can You Go with Agile for Embedded Software?How Far Can You Go with Agile for Embedded Software?
How Far Can You Go with Agile for Embedded Software?
TechWell
 
White Box Testing: It’s Not Just for Developers Any More
White Box Testing: It’s Not Just for Developers Any MoreWhite Box Testing: It’s Not Just for Developers Any More
White Box Testing: It’s Not Just for Developers Any More
TechWell
 
Continuous Integration as a Development Team’s Way of Life
Continuous Integration as a Development Team’s Way of LifeContinuous Integration as a Development Team’s Way of Life
Continuous Integration as a Development Team’s Way of Life
TechWell
 
Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!
TechWell
 
Experiments: The Good, the Bad, and the Beautiful
Experiments: The Good, the Bad, and the BeautifulExperiments: The Good, the Bad, and the Beautiful
Experiments: The Good, the Bad, and the Beautiful
TechWell
 
Use Business Analysts for User Interface Design
Use Business Analysts for User Interface DesignUse Business Analysts for User Interface Design
Use Business Analysts for User Interface Design
TechWell
 
Your User Stories Are Too Big: Yes, They Are!
Your User Stories Are Too Big: Yes, They Are!Your User Stories Are Too Big: Yes, They Are!
Your User Stories Are Too Big: Yes, They Are!
TechWell
 
What Hollywood Can Teach Us about Software Testing
What Hollywood Can Teach Us about Software TestingWhat Hollywood Can Teach Us about Software Testing
What Hollywood Can Teach Us about Software Testing
TechWell
 
What Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test AutomationWhat Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test Automation
TechWell
 
Continuous Discovery: The Path to Learning and Growing
Continuous Discovery: The Path to Learning and GrowingContinuous Discovery: The Path to Learning and Growing
Continuous Discovery: The Path to Learning and Growing
TechWell
 
From Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User StoriesFrom Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User Stories
TechWell
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile Development
Josiah Renaudin
 
Project Estimation: Myths, Taboos, and Inconvenient Truths
Project Estimation: Myths, Taboos, and Inconvenient TruthsProject Estimation: Myths, Taboos, and Inconvenient Truths
Project Estimation: Myths, Taboos, and Inconvenient Truths
TechWell
 
Which Agile Scaling Framework Is Best?
Which Agile Scaling Framework Is Best?Which Agile Scaling Framework Is Best?
Which Agile Scaling Framework Is Best?
TechWell
 
The Soft Skills of Great Software Developers
The Soft Skills of Great Software DevelopersThe Soft Skills of Great Software Developers
The Soft Skills of Great Software Developers
TechWell
 
Identify and Exploit Behavioral Boundaries for Unit Testing
Identify and Exploit Behavioral Boundaries for Unit TestingIdentify and Exploit Behavioral Boundaries for Unit Testing
Identify and Exploit Behavioral Boundaries for Unit Testing
TechWell
 

Viewers also liked (20)

The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing Strategy
 
Use Feature Flags for Clean Deployments
Use Feature Flags for Clean DeploymentsUse Feature Flags for Clean Deployments
Use Feature Flags for Clean Deployments
 
Agile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile IssuesAgile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile Issues
 
Scaling Scrum with Scrum™ (SSwS): A Universal Framework
Scaling Scrum with Scrum™ (SSwS): A Universal FrameworkScaling Scrum with Scrum™ (SSwS): A Universal Framework
Scaling Scrum with Scrum™ (SSwS): A Universal Framework
 
How Far Can You Go with Agile for Embedded Software?
How Far Can You Go with Agile for Embedded Software?How Far Can You Go with Agile for Embedded Software?
How Far Can You Go with Agile for Embedded Software?
 
White Box Testing: It’s Not Just for Developers Any More
White Box Testing: It’s Not Just for Developers Any MoreWhite Box Testing: It’s Not Just for Developers Any More
White Box Testing: It’s Not Just for Developers Any More
 
Continuous Integration as a Development Team’s Way of Life
Continuous Integration as a Development Team’s Way of LifeContinuous Integration as a Development Team’s Way of Life
Continuous Integration as a Development Team’s Way of Life
 
Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!
 
Experiments: The Good, the Bad, and the Beautiful
Experiments: The Good, the Bad, and the BeautifulExperiments: The Good, the Bad, and the Beautiful
Experiments: The Good, the Bad, and the Beautiful
 
Use Business Analysts for User Interface Design
Use Business Analysts for User Interface DesignUse Business Analysts for User Interface Design
Use Business Analysts for User Interface Design
 
Your User Stories Are Too Big: Yes, They Are!
Your User Stories Are Too Big: Yes, They Are!Your User Stories Are Too Big: Yes, They Are!
Your User Stories Are Too Big: Yes, They Are!
 
What Hollywood Can Teach Us about Software Testing
What Hollywood Can Teach Us about Software TestingWhat Hollywood Can Teach Us about Software Testing
What Hollywood Can Teach Us about Software Testing
 
What Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test AutomationWhat Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test Automation
 
Continuous Discovery: The Path to Learning and Growing
Continuous Discovery: The Path to Learning and GrowingContinuous Discovery: The Path to Learning and Growing
Continuous Discovery: The Path to Learning and Growing
 
From Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User StoriesFrom Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User Stories
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile Development
 
Project Estimation: Myths, Taboos, and Inconvenient Truths
Project Estimation: Myths, Taboos, and Inconvenient TruthsProject Estimation: Myths, Taboos, and Inconvenient Truths
Project Estimation: Myths, Taboos, and Inconvenient Truths
 
Which Agile Scaling Framework Is Best?
Which Agile Scaling Framework Is Best?Which Agile Scaling Framework Is Best?
Which Agile Scaling Framework Is Best?
 
The Soft Skills of Great Software Developers
The Soft Skills of Great Software DevelopersThe Soft Skills of Great Software Developers
The Soft Skills of Great Software Developers
 
Identify and Exploit Behavioral Boundaries for Unit Testing
Identify and Exploit Behavioral Boundaries for Unit TestingIdentify and Exploit Behavioral Boundaries for Unit Testing
Identify and Exploit Behavioral Boundaries for Unit Testing
 

Similar to Architecture vs. Design in Agile: What’s the Right Answer?

CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable
Alexander Doré
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
Dhivyaa C.R
 
Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131
Daniel Leroux
 
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
99X Technology
 
Ibrahim Naeem BIM Projects Portfolio
Ibrahim Naeem BIM Projects Portfolio Ibrahim Naeem BIM Projects Portfolio
Ibrahim Naeem BIM Projects Portfolio
Ibrahem Naeem
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
NUS-ISS
 
JavaBeer_Clean architecture_update.v2.pptx
JavaBeer_Clean architecture_update.v2.pptxJavaBeer_Clean architecture_update.v2.pptx
JavaBeer_Clean architecture_update.v2.pptx
ssuser78ac77
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
wweinmeyer79
 
Agile Architecture (MAE slides)
Agile Architecture (MAE slides)Agile Architecture (MAE slides)
Agile Architecture (MAE slides)
Richard Green
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile Architecture
Brad Appleton
 
NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...
NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...
NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...
NRB
 
Business solution delivery capability v4.0
Business solution delivery capability v4.0Business solution delivery capability v4.0
Business solution delivery capability v4.0
Etienne Venter
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software Architecture
Kannan Durairaj
 
NileshJoshi-ProgramManager
NileshJoshi-ProgramManagerNileshJoshi-ProgramManager
NileshJoshi-ProgramManager
Nilesh Joshi
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
Cc 2009 091202
Cc 2009 091202Cc 2009 091202
Cc 2009 091202
apartridge
 
Same Patterns, Different Architectures
Same Patterns, Different Architectures Same Patterns, Different Architectures
Same Patterns, Different Architectures
ColomboArchitectureMeetup
 
CMAD Group Workbook 3.3 Op Model Enable
CMAD Group Workbook 3.3 Op Model Enable CMAD Group Workbook 3.3 Op Model Enable
CMAD Group Workbook 3.3 Op Model Enable
Alexander Doré
 
Working with software architects - advice to project managers
Working with software architects - advice to project managersWorking with software architects - advice to project managers
Working with software architects - advice to project managers
Yaniv Pessach
 
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
 

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

CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 
Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131Innovate 2013 Design on a Diet - session 2131
Innovate 2013 Design on a Diet - session 2131
 
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
Same Patterns Different Architectures - Colombo Architecture Meetup - Session-03
 
Ibrahim Naeem BIM Projects Portfolio
Ibrahim Naeem BIM Projects Portfolio Ibrahim Naeem BIM Projects Portfolio
Ibrahim Naeem BIM Projects Portfolio
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
 
JavaBeer_Clean architecture_update.v2.pptx
JavaBeer_Clean architecture_update.v2.pptxJavaBeer_Clean architecture_update.v2.pptx
JavaBeer_Clean architecture_update.v2.pptx
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Agile Architecture (MAE slides)
Agile Architecture (MAE slides)Agile Architecture (MAE slides)
Agile Architecture (MAE slides)
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile Architecture
 
NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...
NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...
NRB MAINFRAME DAY 06 - Linda De Bruyn - A realistic and pragmatic approach to...
 
Business solution delivery capability v4.0
Business solution delivery capability v4.0Business solution delivery capability v4.0
Business solution delivery capability v4.0
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software Architecture
 
NileshJoshi-ProgramManager
NileshJoshi-ProgramManagerNileshJoshi-ProgramManager
NileshJoshi-ProgramManager
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Cc 2009 091202
Cc 2009 091202Cc 2009 091202
Cc 2009 091202
 
Same Patterns, Different Architectures
Same Patterns, Different Architectures Same Patterns, Different Architectures
Same Patterns, Different Architectures
 
CMAD Group Workbook 3.3 Op Model Enable
CMAD Group Workbook 3.3 Op Model Enable CMAD Group Workbook 3.3 Op Model Enable
CMAD Group Workbook 3.3 Op Model Enable
 
Working with software architects - advice to project managers
Working with software architects - advice to project managersWorking with software architects - advice to project managers
Working with software architects - advice to project managers
 
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)
 

More from TechWell

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

More from TechWell (20)

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

Recently uploaded

Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 

Recently uploaded (20)

Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 

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

  • 3. 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. 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. Architecture vs DesignArchitecture vs DesignArchitecture vs DesignArchitecture vs Design • Architecture – Intentional • 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 – Emergent • 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. Architecture/Design Activities and DependenciesArchitecture/Design Activities and DependenciesArchitecture/Design Activities and DependenciesArchitecture/Design Activities and Dependencies 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 [implementation model] [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. 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 Architecture Design/Code Design/Code Architecture Traditional/Waterfall Development Iterative Development Time Validates
  • 8. 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. 13 A (PIM): Sample Architectural MechanismsA (PIM): Sample Architectural MechanismsA (PIM): Sample Architectural MechanismsA (PIM): Sample 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): Mechanisms and ServicesA (PIM): Mechanisms and ServicesA (PIM): Mechanisms and ServicesA (PIM): Mechanisms 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. 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): Mechanism ParametersC (PSM): Mechanism ParametersC (PSM): Mechanism ParametersC (PSM): Mechanism Parameters Persistence:RDBMS:JDBC PersistentSubject PersistentSubjectList DBPersistentSubject Distribution:RMI:Java 1.2 RemoteSubject IRemoteSubject PassedSubject A B C D Arch Design PIM PSM
  • 11. 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. 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. 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. 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. 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. 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. 29 Logical View of ArchitectureLogical View of ArchitectureLogical View of ArchitectureLogical View 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. Process View or ArchitectureProcess View or ArchitectureProcess View or ArchitectureProcess View 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 Combining Deployment View and Process ViewCombining Deployment View and Process ViewCombining Deployment View and Process ViewCombining Deployment 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. 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