SlideShare a Scribd company logo
1 of 19
Download to read offline
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 ArchitectureBrad Beiermann
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application ArchitectureBrad Beiermann
 
Bentley Structural seminar
Bentley Structural seminarBentley Structural seminar
Bentley Structural seminarKareem Sherif
 
Virtual design and construction
Virtual design and constructionVirtual design and construction
Virtual design and constructionAnkit Singhai
 
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-2015Rafiq 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 2008Israel Gat
 
Open bim and collaboration practice
Open bim and collaboration practiceOpen bim and collaboration practice
Open bim and collaboration practiceOmar Selim
 
PJM01_RUC_2003_Presentation
PJM01_RUC_2003_PresentationPJM01_RUC_2003_Presentation
PJM01_RUC_2003_PresentationLisa 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 PlatformEtienne 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 StrategyTechWell
 
Use Feature Flags for Clean Deployments
Use Feature Flags for Clean DeploymentsUse Feature Flags for Clean Deployments
Use Feature Flags for Clean DeploymentsTechWell
 
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 IssuesTechWell
 
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 FrameworkTechWell
 
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 MoreTechWell
 
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 LifeTechWell
 
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 BeautifulTechWell
 
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 DesignTechWell
 
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 TestingTechWell
 
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 AutomationTechWell
 
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 GrowingTechWell
 
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 StoriesTechWell
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile DevelopmentJosiah 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 TruthsTechWell
 
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 DevelopersTechWell
 
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 TestingTechWell
 

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 lifecycleDhivyaa 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 2131Daniel 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-0399X 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.pptxssuser78ac77
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
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 ArchitectureBrad 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.0Etienne Venter
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software ArchitectureKannan Durairaj
 
NileshJoshi-ProgramManager
NileshJoshi-ProgramManagerNileshJoshi-ProgramManager
NileshJoshi-ProgramManagerNilesh Joshi
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Cc 2009 091202
Cc 2009 091202Cc 2009 091202
Cc 2009 091202apartridge
 
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 managersYaniv 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 RecoveringTechWell
 
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 ArchitectureTechWell
 
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 StartTechWell
 
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 StrategyTechWell
 
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 SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
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 SanityTechWell
 
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 StrategyTechWell
 
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 DevOpsTechWell
 
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—LeadershipTechWell
 
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 TeamsTechWell
 
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 GameTechWell
 
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 TeamsTechWell
 
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 ImplementationTechWell
 
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 ProcessTechWell
 
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 AutomateTechWell
 
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 SuccessTechWell
 
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 TransformationTechWell
 

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

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

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