SlideShare a Scribd company logo
1 of 56
©2012 Improving Enterprises, Inc. www.synerzip.com
Architecture in an
Agile World
don.mcgreal@ImprovingEnterprises.com
Don McGreal
@donmcgreal
linkedin.com/in/donmcgreal
©2012 Improving Enterprises, Inc. www.synerzip.com
©2012 Improving Enterprises, Inc. www.synerzip.com
Agenda
Agile and Architecture
Reducing Technical Risks
Team Makeup & Roles
Architecture Anti-Patterns
©2012 Improving Enterprises, Inc. www.synerzip.com
5
What is Software Architecture?
©2012 Improving Enterprises, Inc. www.synerzip.com
6
Business Goals
What business goals could affect our
Architectural decisions?
©2012 Improving Enterprises, Inc. www.synerzip.com
7
Non-Functional Requirements
Usability
Scalability
Portability
Maintainability
Availability
Accessibility
Supportability
Security
Performance
Cost
Legal
Cultural
...
©2012 Improving Enterprises, Inc. www.synerzip.com
Does it compare to building this?
House
©2012 Improving Enterprises, Inc. www.synerzip.com
… or this?
???
©2012 Improving Enterprises, Inc. www.synerzip.com
Level of Complexity
Simple
Everything is known
Complicated
More is known than unknown
Complex
More is unknown than known
Chaotic
Very little is know
Source: Ralph Stacey, University of
Hertfordshire
©2012 Improving Enterprises, Inc. www.synerzip.com
Empirical vs Defined Processes
Defined Empirical
Predict the Future
Initial information and assumptions
are valid throughout the planning
horizon.
Adapt to the Future
Frequent inspection/adaptation
rather than predictive planning
Examples:
assembly line, construction,
accounting, orchestra
Examples:
sales, marketing, creative writing,
band
Plan Do P D P D P D P D
©2012 Improving Enterprises, Inc. www.synerzip.com
•Business Case
• Financing
• Scope & Approach
• Contracts
• Initial Release Plan
• Assemble Team
Sprint Planning
1 day
• Acceptance
Defined
• Team commits
• Tasks created
Product Owner
establishes vision and
prioritizes Product Backlog
Sprint
1 to 4 weeks
Team (BA, QA, Dev, etc.) creates
and estimates Sprint Backlog (tasks)
Releasable
Increment
Daily Scrum
< 15 minutes
Burn down
Sprint Review
1/2 day
Sprint Retrospective
1/2 day
Burn up
velocity
Scrum
©2012 Improving Enterprises, Inc. www.synerzip.com
BigDUF or LittleDUF?
Monday Tuesday Wednesday Thursday Friday
Sprint
1
Sprint
2
Sprint Planning
Sprint Planning
LDUF
PB Grooming
PB Creation
PB Sizing
Release Planning
PB Grooming
Retrospective
Sprint Review
Retrospective
Sprint Review
©2012 Improving Enterprises, Inc. www.synerzip.com
14
Non-Functional Requirements
Usability
Scalability
Portability
Maintainability
Availability
Accessibility
Supportability
Security
Performance
Cost
Legal
Cultural
...
©2012 Improving Enterprises, Inc. www.synerzip.com
15
Non-Functional Requirements
Usability
Scalability
Portability
Maintainability
Availability
Accessibility
Supportability
Security
Performance
Cost
Legal
Cultural
...
Captured as:
• Acceptance
Criteria
• Definition of
Done
• Stories
©2012 Improving Enterprises, Inc. www.synerzip.com
Sprint Capacity over Time
©2012 Improving Enterprises, Inc. www.synerzip.com
… but one is different
Usability
Scalability
Portability
Maintainability
Availability
Accessibility
Supportability
Security
Performance
Cost
Legal
Cultural
...
©2012 Improving Enterprises, Inc. www.synerzip.com
Most Important Architecture Goal?
Maintainability
©2012 Improving Enterprises, Inc. www.synerzip.com
Agenda
Agile and Architecture
Reducing Technical Risks
Team Makeup & Roles
Architecture Anti-Patterns
©2012 Improving Enterprises, Inc. www.synerzip.com
Technical Debt in an Unhealthy Team
Time available for
new feature
development
Time struggling with
complexity and debt
*From Scrum.org’s
Professional Scrum Master
certification course
©2012 Improving Enterprises, Inc. www.synerzip.com
Yuck.
*From Scrum.org’s
Professional Scrum Master
certification course
©2012 Improving Enterprises, Inc. www.synerzip.com
How do you get out of debt?
*From Scrum.org’s
Professional Scrum Master
certification course
1. Stop creating debt
2. Make a small payment each Sprint
3. Repeat from 2
©2012 Improving Enterprises, Inc. www.synerzip.com
Sprint Planning
1 day
• Acceptance
Defined
• Team commits
• Tasks created
Product Owner
establishes vision and
prioritizes Product Backlog
Sprint
1 to 4 weeks
Team (BA, QA, Dev, etc.) creates
and estimates Sprint Backlog (tasks)
Releasable
Increment
Daily Scrum
< 15 minutes
Sprint Retrospective
1/2 day
Sprint Review
1/2 day
Done Task?
Unit Tested
Code Reviewed
Checked-in
others?
Done Feature?
Acceptance Tested
On Test Server
Performance Tested
others?
Sprint Review
1/2 day
Done Sprint?
Versioned
In UAT
Integrated
others?
Releasable
Increment
Done Release?
Compliance
Labeled
Training
others?
Definition of Done
©2012 Improving Enterprises, Inc. www.synerzip.com
Paying off Debt
Feature
Name
Scheduled Active Blocked Closed
Feature 1
Task1.4 Task1.2 Task1.3 Task1.1
Feature 2 Task2.3 Task2.1
Task2.2
Feature 3 Task3.3 Task3.1
Task3.2
Task3.4
©2012 Improving Enterprises, Inc. www.synerzip.com
Paying off Debt
Feature
Name
Scheduled Active Blocked Closed
Feature 1
Task1.4 Task1.2 Task1.3 Task1.1
Design Task
Feature 2 Task2.3
Upgrade Task
Task2.1
Task2.2
ENGINEERING
&
MAINTENANCE
Eng. Task 1
Bug
Eng. Task 2 Upgrade Task
©2012 Improving Enterprises, Inc. www.synerzip.com
Design Patterns
!=
Good Design
©2012 Improving Enterprises, Inc. www.synerzip.com
Core Aspects of Good Design
Good
Design
✓ Low Coupling
✓ High Cohesion
©2012 Improving Enterprises, Inc. www.synerzip.com
Coupling vs. Cohesion
©2012 Improving Enterprises, Inc. www.synerzip.com
Core Aspects of Bad Design
.
Bad
Design
• Duplication
• Ambiguity .
• Complexity
©2012 Improving Enterprises, Inc. www.synerzip.com
Bad Smells
The Bloaters
The OO Abusers
The Change Preventers
The Dispensables
The Couplers
Long Method, Large Class, Data Clumps
Type Attribute, State Attribute, Indecent Exposure
Lazy Class, Dead Code, Data Class
Feature Envy, Message Chains, Middleman
Divergent Change, Shotgun Surgery, Non-localized Logic
©2012 Improving Enterprises, Inc. www.synerzip.com
How do we get there?
Good
Design➔Bad
Design
©2012 Improving Enterprises, Inc. www.synerzip.com
Refactoring
✓Good
Design
➔XBad
Design
Refactoring
to / towards / away from
Design
Patterns
Bad
Smells
©2012 Improving Enterprises, Inc. www.synerzip.com
Refactoring
✓Good
Design
➔XBad
Design
Refactoring
to / towards / away from
Design
Patterns
Bad
Smells
Encapsulate Field
Extract Method
Generalize Type
Pull Up
Push Down
Rename Method
...
©2012 Improving Enterprises, Inc. www.synerzip.com
Agenda
Agile and Architecture
Reducing Technical Risks
Team Makeup & Roles
Architecture Anti-Patterns
©2012 Improving Enterprises, Inc. www.synerzip.com
Vertical Teams
Business
Presentation
DBPersistence
TEAM 1 TEAM 2 TEAM 3 TEAM 4
©2012 Improving Enterprises, Inc. www.synerzip.com
Vertical Features
Business
Presentation
DBPersistence
TEAM 1 TEAM 2 TEAM 3 TEAM 4
Features Features Features Features
©2012 Improving Enterprises, Inc. www.synerzip.com
Ideal Team Composition
VP
QA
Manager
QA
QA
QA
Product
Manager
Dev
Dev
Dev
Dev
Architecture
Manager
Architect
Architect
Architect
DBA
Manager
DBA
DBA
Team A
Team B
©2012 Improving Enterprises, Inc. www.synerzip.com
Realistic Team Composition
VP
QA
Manager
QA
QA
QA
Product
Manager
Dev
Dev
Dev
Dev
Architecture
Manager
Architect
Architect
Architect
DBA
Manager
DBA
DBA
Team A
Team B
What
now?
What
now?
©2012 Improving Enterprises, Inc. www.synerzip.com
Specialists
1. IDEAL: Specialists are dedicated to a team and
participate throughout the sprint.
2. REALISTIC: Specialists service multiple teams
and participate as needed.
3. WORST CASE: Specialists do not participate in
a sprint, but someone on the team takes
responsibility for working with them.
©2012 Improving Enterprises, Inc. www.synerzip.com
Architect Roles
Enterprise Architect
(policies & standards)
Infrastructure Architect
(systems & network design)
Solution Architect
(advisory & governance)
Application Architect
(on teams)
©2012 Improving Enterprises, Inc. www.synerzip.com
Where to Plug In?
Monday Tuesday Wednesday Thursday Friday
Sprint
1
Sprint
2
Sprint Planning
Sprint Planning
LDUF
PB Grooming
PB Creation
PB Sizing
Release Planning
PB Grooming
Retrospective
Sprint Review
Retrospective
Sprint Review
©2012 Improving Enterprises, Inc. www.synerzip.com
Agenda
Agile and Architecture
Reducing Technical Risks
Team Makeup & Roles
Architecture Anti-Patterns
©2012 Improving Enterprises, Inc. www.synerzip.com
Logic in Wrong Layer
Think about what would need to change in other
layers if one was swapped out or modified.
Business
Presentation
Persistence
Controller Façade
Integration
S
h
a
r
e
d
©2012 Improving Enterprises, Inc. www.synerzip.com
No Architectural Vision
A single architecture vision should be well
defined and communicated across the team
and organization.
The vision should map to business goals and
objectives.
All decisions should be made with this vision in
mind.
©2012 Improving Enterprises, Inc. www.synerzip.com
Swiss Army Knife
Do not try to anticipate every possible use of the
system and over-design the interfaces - this will
lead to needless complexity.
Do the simplest thing that works, within
the Architectural Vision.
©2012 Improving Enterprises, Inc. www.synerzip.com
Threading
Do your homework!
✓ Typically not necessary
✓ Adds massive complexity
✓ Hard to maintain, test, and debug
✓ Rely on the application frameworks
threads
©2012 Improving Enterprises, Inc. www.synerzip.com
Caching
Do your homework!
✓ Do you even need a cache?
✓ Can you keep everything in memory?
✓ Rely on persistence framework’s caching
©2012 Improving Enterprises, Inc. www.synerzip.com
Ivory Tower Architect
It is very hard to truly know the best
solutions for design problems if you are
not working (coding) on the project.
It takes many iterations of a solution
before it finally works - so you can’t
suggest a solution then leave.
©2012 Improving Enterprises, Inc. www.synerzip.com
Custom Frameworks
May seem like a good idea at first. But...
Who will maintain it?
Who will upgrade it when it’s depended upon libraries
are upgraded? Java version?
How long will your new hires need to learn it? Who
will teach them?
Look for an off-the-shelf solution first.
You can hire/train people on it easier.
It will be upgraded for you.
©2012 Improving Enterprises, Inc. www.synerzip.com
So, to sum up…
©2012 Improving Enterprises, Inc. www.synerzip.com
Emergent Architecture
Agile architects build plans
and foundations that
embrace change
Today’s technologies
and enterprise
frameworks give us
this flexibility
We just need to
take advantage
of them.
©2012 Improving Enterprises, Inc. www.synerzip.com
Questions?
don.mcgreal@ImprovingEnterprises.com
Don McGreal
@donmcgreal
linkedin.com/in/donmcgreal
©2012 Improving Enterprises, Inc. www.synerzip.com
Thank You!
don.mcgreal@ImprovingEnterprises.com
Don McGreal
@donmcgreal
linkedin.com/in/donmcgreal
©2012 Improving Enterprises, Inc. www.synerzip.com
Questions?
www.synerzip.com
Hemant Elhence
hemant@synerzip.com
469.322.0349
©2012 Improving Enterprises, Inc. www.synerzip.comConfidential
Synerzip in a Nut-shell
1. Software product development partner for small/mid-
sized technology companies
Exclusive focus on small/mid-sized technology companies, typically
venture-backed companies in growth phase
By definition, all Synerzip work is the IP of its respective clients
Deep experience in full SDLC – design, dev, QA/testing, deployment
2. Dedicated team of high caliber software professionals
for each client
Seamlessly extends client’s local team, offering full transparency
Stable teams with very low turn-over
NOT just “staff augmentation”, but provide full mgmt support
3. Actually reduces risk of development/delivery
Experienced team - uses appropriate level of engineering discipline
Practices Agile development – responsive, yet disciplined
4. Reduces cost – dual-shore team, 50% cost advantage
5. Offers long term flexibility – allows (facilitates) taking
offshore team captive – aka “BOT” option
©2012 Improving Enterprises, Inc. www.synerzip.com
Our Clients
©2012 Improving Enterprises, Inc. www.synerzip.com60
Call Us for a Free Consultation!
www.synerzip.com
Hemant Elhence
hemant@synerzip.com
469.322.0349
Thanks!

More Related Content

Similar to Architecture in an Agile World

GGS Overview Fall 2012
GGS Overview Fall 2012GGS Overview Fall 2012
GGS Overview Fall 2012grapecityuser
 
Lean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise AgileLean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise AgileTechWell
 
Managing product development flow across an IT organization
Managing product development flow across an IT organizationManaging product development flow across an IT organization
Managing product development flow across an IT organizationInstitut Lean France
 
IBM Impact 2012 - Social Business Bootcamp
IBM Impact 2012 - Social Business BootcampIBM Impact 2012 - Social Business Bootcamp
IBM Impact 2012 - Social Business BootcampPerficient, Inc.
 
From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...
From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...
From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...Adobe
 
Applied tactics for your transformation
Applied tactics for your transformationApplied tactics for your transformation
Applied tactics for your transformationStuart Charlton
 
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?Edunomica
 
Unleash your potential final
Unleash your potential finalUnleash your potential final
Unleash your potential finalVineet Sood
 
QAT Global Overview 2013
QAT Global Overview 2013QAT Global Overview 2013
QAT Global Overview 2013QAT Global
 
Business Design Concepts
Business Design ConceptsBusiness Design Concepts
Business Design ConceptsStan Kirkwood
 
Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...
Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...
Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...Jaemi Bremner
 
L2 P Company Overview V4.10.09
L2 P Company Overview V4.10.09L2 P Company Overview V4.10.09
L2 P Company Overview V4.10.09scbradleymd
 
CREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate OverviewCREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate OverviewCREATIVEHOPE
 
Corporate Presentation R3
Corporate Presentation R3Corporate Presentation R3
Corporate Presentation R3Troy Baker
 
GLANSA SOLUTIONS- Digital marketing agency
GLANSA SOLUTIONS- Digital marketing agencyGLANSA SOLUTIONS- Digital marketing agency
GLANSA SOLUTIONS- Digital marketing agencyglansadigital1
 
GLANSA SOLUTIONs- Branding
GLANSA SOLUTIONs- BrandingGLANSA SOLUTIONs- Branding
GLANSA SOLUTIONs- Brandingglansadigital1
 
GLANSA SOLUTIONS.Digital marketing
GLANSA SOLUTIONS.Digital marketingGLANSA SOLUTIONS.Digital marketing
GLANSA SOLUTIONS.Digital marketingglansadigital1
 
GLANSA SOLUTIONS Software company in hyderabad
GLANSA SOLUTIONS Software company in hyderabadGLANSA SOLUTIONS Software company in hyderabad
GLANSA SOLUTIONS Software company in hyderabadglansadigital1
 

Similar to Architecture in an Agile World (20)

GGS Overview Fall 2012
GGS Overview Fall 2012GGS Overview Fall 2012
GGS Overview Fall 2012
 
Lean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise AgileLean Development Practices for Enterprise Agile
Lean Development Practices for Enterprise Agile
 
Managing product development flow across an IT organization
Managing product development flow across an IT organizationManaging product development flow across an IT organization
Managing product development flow across an IT organization
 
IBM Impact 2012 - Social Business Bootcamp
IBM Impact 2012 - Social Business BootcampIBM Impact 2012 - Social Business Bootcamp
IBM Impact 2012 - Social Business Bootcamp
 
From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...
From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...
From Gold Rush to Online Gold Mine: How Brooks Brothers Used Analytics to Dri...
 
Applied tactics for your transformation
Applied tactics for your transformationApplied tactics for your transformation
Applied tactics for your transformation
 
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
 
Unleash your potential final
Unleash your potential finalUnleash your potential final
Unleash your potential final
 
QAT Global Overview 2013
QAT Global Overview 2013QAT Global Overview 2013
QAT Global Overview 2013
 
Business Design Concepts
Business Design ConceptsBusiness Design Concepts
Business Design Concepts
 
Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...
Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...
Speaking engagement disney lucaspixar women in tech-career growth mindset-jae...
 
Foundation intro 2013-bu
Foundation intro 2013-buFoundation intro 2013-bu
Foundation intro 2013-bu
 
L2 P Company Overview V4.10.09
L2 P Company Overview V4.10.09L2 P Company Overview V4.10.09
L2 P Company Overview V4.10.09
 
CREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate OverviewCREATIVEHOPE, INC. Corporate Overview
CREATIVEHOPE, INC. Corporate Overview
 
Corporate Presentation R3
Corporate Presentation R3Corporate Presentation R3
Corporate Presentation R3
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
GLANSA SOLUTIONS- Digital marketing agency
GLANSA SOLUTIONS- Digital marketing agencyGLANSA SOLUTIONS- Digital marketing agency
GLANSA SOLUTIONS- Digital marketing agency
 
GLANSA SOLUTIONs- Branding
GLANSA SOLUTIONs- BrandingGLANSA SOLUTIONs- Branding
GLANSA SOLUTIONs- Branding
 
GLANSA SOLUTIONS.Digital marketing
GLANSA SOLUTIONS.Digital marketingGLANSA SOLUTIONS.Digital marketing
GLANSA SOLUTIONS.Digital marketing
 
GLANSA SOLUTIONS Software company in hyderabad
GLANSA SOLUTIONS Software company in hyderabadGLANSA SOLUTIONS Software company in hyderabad
GLANSA SOLUTIONS Software company in hyderabad
 

More from Synerzip

HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...Synerzip
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Synerzip
 
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?Synerzip
 
Using Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget ProjectsUsing Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget ProjectsSynerzip
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams Synerzip
 
Agile For Mobile App Development
Agile For Mobile App Development Agile For Mobile App Development
Agile For Mobile App Development Synerzip
 
Using Agile in Non-Ideal Situations
Using Agile in Non-Ideal SituationsUsing Agile in Non-Ideal Situations
Using Agile in Non-Ideal SituationsSynerzip
 
Accelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi VermaAccelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi VermaSynerzip
 
Agile Product Management Basics
Agile Product Management BasicsAgile Product Management Basics
Agile Product Management BasicsSynerzip
 
Product Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik HuddlestonProduct Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik HuddlestonSynerzip
 
Modern Software Practices - by Damon Poole
Modern Software Practices - by Damon PooleModern Software Practices - by Damon Poole
Modern Software Practices - by Damon PooleSynerzip
 
Context Driven Agile Leadership
Context Driven Agile LeadershipContext Driven Agile Leadership
Context Driven Agile LeadershipSynerzip
 
Adopting TDD - by Don McGreal
Adopting TDD - by Don McGrealAdopting TDD - by Don McGreal
Adopting TDD - by Don McGrealSynerzip
 
Pragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat SubramaniamPragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat SubramaniamSynerzip
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentSynerzip
 
Agile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysAgile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysSynerzip
 
Performance Evaluation in Agile
Performance Evaluation in AgilePerformance Evaluation in Agile
Performance Evaluation in AgileSynerzip
 
Scrum And Kanban (for better agile teams)
Scrum And Kanban (for better agile teams)Scrum And Kanban (for better agile teams)
Scrum And Kanban (for better agile teams)Synerzip
 
Managing Technical Debt - by Michael Hall
Managing Technical Debt - by Michael HallManaging Technical Debt - by Michael Hall
Managing Technical Debt - by Michael HallSynerzip
 

More from Synerzip (20)

HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t
 
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?
 
Using Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget ProjectsUsing Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget Projects
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Agile For Mobile App Development
Agile For Mobile App Development Agile For Mobile App Development
Agile For Mobile App Development
 
Using Agile in Non-Ideal Situations
Using Agile in Non-Ideal SituationsUsing Agile in Non-Ideal Situations
Using Agile in Non-Ideal Situations
 
Accelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi VermaAccelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi Verma
 
Agile Product Management Basics
Agile Product Management BasicsAgile Product Management Basics
Agile Product Management Basics
 
Product Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik HuddlestonProduct Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik Huddleston
 
Modern Software Practices - by Damon Poole
Modern Software Practices - by Damon PooleModern Software Practices - by Damon Poole
Modern Software Practices - by Damon Poole
 
Context Driven Agile Leadership
Context Driven Agile LeadershipContext Driven Agile Leadership
Context Driven Agile Leadership
 
Adopting TDD - by Don McGreal
Adopting TDD - by Don McGrealAdopting TDD - by Don McGreal
Adopting TDD - by Don McGreal
 
Pragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat SubramaniamPragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat Subramaniam
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Agile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysAgile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take Aways
 
Performance Evaluation in Agile
Performance Evaluation in AgilePerformance Evaluation in Agile
Performance Evaluation in Agile
 
Scrum And Kanban (for better agile teams)
Scrum And Kanban (for better agile teams)Scrum And Kanban (for better agile teams)
Scrum And Kanban (for better agile teams)
 
Managing Technical Debt - by Michael Hall
Managing Technical Debt - by Michael HallManaging Technical Debt - by Michael Hall
Managing Technical Debt - by Michael Hall
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
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
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
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
 
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.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
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...
 
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
 
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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Architecture in an Agile World

  • 1. ©2012 Improving Enterprises, Inc. www.synerzip.com Architecture in an Agile World don.mcgreal@ImprovingEnterprises.com Don McGreal @donmcgreal linkedin.com/in/donmcgreal
  • 2. ©2012 Improving Enterprises, Inc. www.synerzip.com
  • 3. ©2012 Improving Enterprises, Inc. www.synerzip.com Agenda Agile and Architecture Reducing Technical Risks Team Makeup & Roles Architecture Anti-Patterns
  • 4. ©2012 Improving Enterprises, Inc. www.synerzip.com 5 What is Software Architecture?
  • 5. ©2012 Improving Enterprises, Inc. www.synerzip.com 6 Business Goals What business goals could affect our Architectural decisions?
  • 6. ©2012 Improving Enterprises, Inc. www.synerzip.com 7 Non-Functional Requirements Usability Scalability Portability Maintainability Availability Accessibility Supportability Security Performance Cost Legal Cultural ...
  • 7. ©2012 Improving Enterprises, Inc. www.synerzip.com Does it compare to building this? House
  • 8. ©2012 Improving Enterprises, Inc. www.synerzip.com … or this? ???
  • 9. ©2012 Improving Enterprises, Inc. www.synerzip.com Level of Complexity Simple Everything is known Complicated More is known than unknown Complex More is unknown than known Chaotic Very little is know Source: Ralph Stacey, University of Hertfordshire
  • 10. ©2012 Improving Enterprises, Inc. www.synerzip.com Empirical vs Defined Processes Defined Empirical Predict the Future Initial information and assumptions are valid throughout the planning horizon. Adapt to the Future Frequent inspection/adaptation rather than predictive planning Examples: assembly line, construction, accounting, orchestra Examples: sales, marketing, creative writing, band Plan Do P D P D P D P D
  • 11. ©2012 Improving Enterprises, Inc. www.synerzip.com •Business Case • Financing • Scope & Approach • Contracts • Initial Release Plan • Assemble Team Sprint Planning 1 day • Acceptance Defined • Team commits • Tasks created Product Owner establishes vision and prioritizes Product Backlog Sprint 1 to 4 weeks Team (BA, QA, Dev, etc.) creates and estimates Sprint Backlog (tasks) Releasable Increment Daily Scrum < 15 minutes Burn down Sprint Review 1/2 day Sprint Retrospective 1/2 day Burn up velocity Scrum
  • 12. ©2012 Improving Enterprises, Inc. www.synerzip.com BigDUF or LittleDUF? Monday Tuesday Wednesday Thursday Friday Sprint 1 Sprint 2 Sprint Planning Sprint Planning LDUF PB Grooming PB Creation PB Sizing Release Planning PB Grooming Retrospective Sprint Review Retrospective Sprint Review
  • 13. ©2012 Improving Enterprises, Inc. www.synerzip.com 14 Non-Functional Requirements Usability Scalability Portability Maintainability Availability Accessibility Supportability Security Performance Cost Legal Cultural ...
  • 14. ©2012 Improving Enterprises, Inc. www.synerzip.com 15 Non-Functional Requirements Usability Scalability Portability Maintainability Availability Accessibility Supportability Security Performance Cost Legal Cultural ... Captured as: • Acceptance Criteria • Definition of Done • Stories
  • 15. ©2012 Improving Enterprises, Inc. www.synerzip.com Sprint Capacity over Time
  • 16. ©2012 Improving Enterprises, Inc. www.synerzip.com … but one is different Usability Scalability Portability Maintainability Availability Accessibility Supportability Security Performance Cost Legal Cultural ...
  • 17. ©2012 Improving Enterprises, Inc. www.synerzip.com Most Important Architecture Goal? Maintainability
  • 18. ©2012 Improving Enterprises, Inc. www.synerzip.com Agenda Agile and Architecture Reducing Technical Risks Team Makeup & Roles Architecture Anti-Patterns
  • 19. ©2012 Improving Enterprises, Inc. www.synerzip.com Technical Debt in an Unhealthy Team Time available for new feature development Time struggling with complexity and debt *From Scrum.org’s Professional Scrum Master certification course
  • 20. ©2012 Improving Enterprises, Inc. www.synerzip.com Yuck. *From Scrum.org’s Professional Scrum Master certification course
  • 21. ©2012 Improving Enterprises, Inc. www.synerzip.com How do you get out of debt? *From Scrum.org’s Professional Scrum Master certification course 1. Stop creating debt 2. Make a small payment each Sprint 3. Repeat from 2
  • 22. ©2012 Improving Enterprises, Inc. www.synerzip.com Sprint Planning 1 day • Acceptance Defined • Team commits • Tasks created Product Owner establishes vision and prioritizes Product Backlog Sprint 1 to 4 weeks Team (BA, QA, Dev, etc.) creates and estimates Sprint Backlog (tasks) Releasable Increment Daily Scrum < 15 minutes Sprint Retrospective 1/2 day Sprint Review 1/2 day Done Task? Unit Tested Code Reviewed Checked-in others? Done Feature? Acceptance Tested On Test Server Performance Tested others? Sprint Review 1/2 day Done Sprint? Versioned In UAT Integrated others? Releasable Increment Done Release? Compliance Labeled Training others? Definition of Done
  • 23. ©2012 Improving Enterprises, Inc. www.synerzip.com Paying off Debt Feature Name Scheduled Active Blocked Closed Feature 1 Task1.4 Task1.2 Task1.3 Task1.1 Feature 2 Task2.3 Task2.1 Task2.2 Feature 3 Task3.3 Task3.1 Task3.2 Task3.4
  • 24. ©2012 Improving Enterprises, Inc. www.synerzip.com Paying off Debt Feature Name Scheduled Active Blocked Closed Feature 1 Task1.4 Task1.2 Task1.3 Task1.1 Design Task Feature 2 Task2.3 Upgrade Task Task2.1 Task2.2 ENGINEERING & MAINTENANCE Eng. Task 1 Bug Eng. Task 2 Upgrade Task
  • 25. ©2012 Improving Enterprises, Inc. www.synerzip.com Design Patterns != Good Design
  • 26. ©2012 Improving Enterprises, Inc. www.synerzip.com Core Aspects of Good Design Good Design ✓ Low Coupling ✓ High Cohesion
  • 27. ©2012 Improving Enterprises, Inc. www.synerzip.com Coupling vs. Cohesion
  • 28. ©2012 Improving Enterprises, Inc. www.synerzip.com Core Aspects of Bad Design . Bad Design • Duplication • Ambiguity . • Complexity
  • 29. ©2012 Improving Enterprises, Inc. www.synerzip.com Bad Smells The Bloaters The OO Abusers The Change Preventers The Dispensables The Couplers Long Method, Large Class, Data Clumps Type Attribute, State Attribute, Indecent Exposure Lazy Class, Dead Code, Data Class Feature Envy, Message Chains, Middleman Divergent Change, Shotgun Surgery, Non-localized Logic
  • 30. ©2012 Improving Enterprises, Inc. www.synerzip.com How do we get there? Good Design➔Bad Design
  • 31. ©2012 Improving Enterprises, Inc. www.synerzip.com Refactoring ✓Good Design ➔XBad Design Refactoring to / towards / away from Design Patterns Bad Smells
  • 32. ©2012 Improving Enterprises, Inc. www.synerzip.com Refactoring ✓Good Design ➔XBad Design Refactoring to / towards / away from Design Patterns Bad Smells Encapsulate Field Extract Method Generalize Type Pull Up Push Down Rename Method ...
  • 33. ©2012 Improving Enterprises, Inc. www.synerzip.com Agenda Agile and Architecture Reducing Technical Risks Team Makeup & Roles Architecture Anti-Patterns
  • 34. ©2012 Improving Enterprises, Inc. www.synerzip.com Vertical Teams Business Presentation DBPersistence TEAM 1 TEAM 2 TEAM 3 TEAM 4
  • 35. ©2012 Improving Enterprises, Inc. www.synerzip.com Vertical Features Business Presentation DBPersistence TEAM 1 TEAM 2 TEAM 3 TEAM 4 Features Features Features Features
  • 36. ©2012 Improving Enterprises, Inc. www.synerzip.com Ideal Team Composition VP QA Manager QA QA QA Product Manager Dev Dev Dev Dev Architecture Manager Architect Architect Architect DBA Manager DBA DBA Team A Team B
  • 37. ©2012 Improving Enterprises, Inc. www.synerzip.com Realistic Team Composition VP QA Manager QA QA QA Product Manager Dev Dev Dev Dev Architecture Manager Architect Architect Architect DBA Manager DBA DBA Team A Team B What now? What now?
  • 38. ©2012 Improving Enterprises, Inc. www.synerzip.com Specialists 1. IDEAL: Specialists are dedicated to a team and participate throughout the sprint. 2. REALISTIC: Specialists service multiple teams and participate as needed. 3. WORST CASE: Specialists do not participate in a sprint, but someone on the team takes responsibility for working with them.
  • 39. ©2012 Improving Enterprises, Inc. www.synerzip.com Architect Roles Enterprise Architect (policies & standards) Infrastructure Architect (systems & network design) Solution Architect (advisory & governance) Application Architect (on teams)
  • 40. ©2012 Improving Enterprises, Inc. www.synerzip.com Where to Plug In? Monday Tuesday Wednesday Thursday Friday Sprint 1 Sprint 2 Sprint Planning Sprint Planning LDUF PB Grooming PB Creation PB Sizing Release Planning PB Grooming Retrospective Sprint Review Retrospective Sprint Review
  • 41. ©2012 Improving Enterprises, Inc. www.synerzip.com Agenda Agile and Architecture Reducing Technical Risks Team Makeup & Roles Architecture Anti-Patterns
  • 42. ©2012 Improving Enterprises, Inc. www.synerzip.com Logic in Wrong Layer Think about what would need to change in other layers if one was swapped out or modified. Business Presentation Persistence Controller Façade Integration S h a r e d
  • 43. ©2012 Improving Enterprises, Inc. www.synerzip.com No Architectural Vision A single architecture vision should be well defined and communicated across the team and organization. The vision should map to business goals and objectives. All decisions should be made with this vision in mind.
  • 44. ©2012 Improving Enterprises, Inc. www.synerzip.com Swiss Army Knife Do not try to anticipate every possible use of the system and over-design the interfaces - this will lead to needless complexity. Do the simplest thing that works, within the Architectural Vision.
  • 45. ©2012 Improving Enterprises, Inc. www.synerzip.com Threading Do your homework! ✓ Typically not necessary ✓ Adds massive complexity ✓ Hard to maintain, test, and debug ✓ Rely on the application frameworks threads
  • 46. ©2012 Improving Enterprises, Inc. www.synerzip.com Caching Do your homework! ✓ Do you even need a cache? ✓ Can you keep everything in memory? ✓ Rely on persistence framework’s caching
  • 47. ©2012 Improving Enterprises, Inc. www.synerzip.com Ivory Tower Architect It is very hard to truly know the best solutions for design problems if you are not working (coding) on the project. It takes many iterations of a solution before it finally works - so you can’t suggest a solution then leave.
  • 48. ©2012 Improving Enterprises, Inc. www.synerzip.com Custom Frameworks May seem like a good idea at first. But... Who will maintain it? Who will upgrade it when it’s depended upon libraries are upgraded? Java version? How long will your new hires need to learn it? Who will teach them? Look for an off-the-shelf solution first. You can hire/train people on it easier. It will be upgraded for you.
  • 49. ©2012 Improving Enterprises, Inc. www.synerzip.com So, to sum up…
  • 50. ©2012 Improving Enterprises, Inc. www.synerzip.com Emergent Architecture Agile architects build plans and foundations that embrace change Today’s technologies and enterprise frameworks give us this flexibility We just need to take advantage of them.
  • 51. ©2012 Improving Enterprises, Inc. www.synerzip.com Questions? don.mcgreal@ImprovingEnterprises.com Don McGreal @donmcgreal linkedin.com/in/donmcgreal
  • 52. ©2012 Improving Enterprises, Inc. www.synerzip.com Thank You! don.mcgreal@ImprovingEnterprises.com Don McGreal @donmcgreal linkedin.com/in/donmcgreal
  • 53. ©2012 Improving Enterprises, Inc. www.synerzip.com Questions? www.synerzip.com Hemant Elhence hemant@synerzip.com 469.322.0349
  • 54. ©2012 Improving Enterprises, Inc. www.synerzip.comConfidential Synerzip in a Nut-shell 1. Software product development partner for small/mid- sized technology companies Exclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phase By definition, all Synerzip work is the IP of its respective clients Deep experience in full SDLC – design, dev, QA/testing, deployment 2. Dedicated team of high caliber software professionals for each client Seamlessly extends client’s local team, offering full transparency Stable teams with very low turn-over NOT just “staff augmentation”, but provide full mgmt support 3. Actually reduces risk of development/delivery Experienced team - uses appropriate level of engineering discipline Practices Agile development – responsive, yet disciplined 4. Reduces cost – dual-shore team, 50% cost advantage 5. Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option
  • 55. ©2012 Improving Enterprises, Inc. www.synerzip.com Our Clients
  • 56. ©2012 Improving Enterprises, Inc. www.synerzip.com60 Call Us for a Free Consultation! www.synerzip.com Hemant Elhence hemant@synerzip.com 469.322.0349 Thanks!