SlideShare una empresa de Scribd logo
1 de 40
Lean Enterprise Architecture
By Shahed Chowdhuri, Sahil Talwar, Doguhan Uluca
A lean, testable enterprise architecture with a modern client stack
Thanks to our Sponsors
for keeping the fires lit
TDD (Test Driven Development)
BDD (Behavior Driven Development)
CI (Continuous Integration)
CD (Continuous Delivery)
Introduction
ASP.NET
MVC
DB
Enterprise
Web
Application
 Looking for Ways to Improve & Modernize
 Motivation behind this design?
 Our desire to do the following:
Data Access Layer Shahed
ChowdhuriUsing Code-First Migrations
Tech Check
ASP
.NET
MVC
Entity
Framework
EF
Code-First
Development
EF
Code-First
Migrations
Are you familiar with…?
Options and Alternatives
Database-
First
(EDMX)
Model-First
(Visual
Designer)
Code-First
(automatic
migrations)
Code-First
(manual
migrations)
What are we trying to solve?
DAL: Agenda
1. Models &
Mapping
2. Connection
Strings
3. Enable
Migrations
4. Update
Database
5. Push Code
+ Migrate
Server DB
6. Process
Workflow
1. Models & Mapping
DBContext
.OnModelCreating()
2. Connection Strings
3. Enable Migrations
migration
code
4. Update Database
model
code
migration
code
+ seed
dev
DB
(sql)
5. Push Code + Migrate Server DB
code push code
CI
code pull code
migrate.exe
Server
DB
6. Process Workflow
dev team DB architects
communication
DB
Code Walkthrough
DAL: Conclusion
Code-First
Migrations
Dev Team
Synchronized
Server
Deployment
Database
Versioning
Continuous
Development
Resources
• EF Code First Migrations on MSDN:
– http://msdn.microsoft.com/en-US/data/jj591621
• Web.config & configSource:
– http://wakeupandcode.com/all-your-database-are-belong-to-us/
• PluralSight EF Migrations video tutorial:
– http://pluralsight.com/training/Courses/TableOfContents/efmigrations
The Domain Sahil Talwar
Simpler is better
Versus…
Heavyweight
Enterprise Architecture
Round
Best Practices
Repositories
Unit of Work
Entity Framework
Domain
IUnitOfWork
IRepository IRepository IRepository
Dal
DbContext
DbSet DbSet DbSet
Web Api
Round
Web Models
Domain Models
Dal Models
Api Models
Web
Domain
Dal
Core
(Models)
…Except Api-Domain.
Round
Student
Context
Universities
Departments
Professors Classes
Advisors
Students
Context Per Complex Object
University
Context
Professors Classes Students
Departments Advisors Universities
Single Responsibility: Context Per Object
Universities
Departments
Professors Classes
Advisors
Students
ServiceStoreServiceStore
Service Service Service
Shared
Context
Service Service Service
Solid gold.
Services
Domain 1
Web Api
Domain 2 Domain 4 Domain 5
Dal Models
Domain 3 Domain 6
Image Credits
• http://i-cdn.apartmenttherapy.com/uimages/kitchen/2010_05_17-Lasagna.jpg
• http://www.callagold.com/wp-content/uploads/2012/02/gold-plated-porsche-1.jpg
• http://img.diytrade.com/cdimg/1057186/11295732/0/1259756915/Gold_Plating_System.jpg
• http://www.artisticplating.net/images/gold4.jpg
• http://epf.thingml.org/wikis/inf5120/practice.mgmt.scrum.base-
sintef/guidances/roadmaps/resources/ScrumLargeLabelled.png
• http://1.bp.blogspot.com/-H0OeuWi6oXc/UG9BbClJF-
I/AAAAAAAAAqY/6v4hZ5zGGXk/s1600/DDD_TDD_BDD_intersection.png
• http://blogs.jetbrains.com/teamcity/wp-content/uploads/2008/09/teamcity512.png
• http://www.regretfreelife.net/wp-content/uploads/2012/09/lscycle.jpg
• http://automapper.org/img/black_logo.png
• http://4.bp.blogspot.com/-1p7GSp6m_a8/UOrbvzLfwKI/AAAAAAAAAI4/oYULEv-jJWc/s1600/g3211.png
• http://www.clker.com/cliparts/T/G/C/H/K/W/no-sign-hi.png
• http://2.bp.blogspot.com/---z3-
XY_a5M/T2uGslh4fYI/AAAAAAAAADY/PyqTk88n3Qo/s1600/Health+Services+Enterprise+Architecture+v5.3+(
3-20-12).jpg
• http://fc06.deviantart.net/fs71/f/2012/119/e/7/sumo_wrestler_by_maxxparis-d4xytyj.jpg
• http://www.nerdpad.com/wp-content/uploads/2010/04/vs2010_full.jpg
• https://secure.gravatar.com/avatar/cf4c53b37956b009d609caeacb171c40?s=420&d=https://a248.e.akamai.
net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png
• http://nblumhardt.com/wp-content/uploads/2009/12/Autofac-2-Sketch1.png

Más contenido relacionado

La actualidad más candente

2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-management2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-managementEric Javier Espino Man
 
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew EarlierHans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew EarlierEdunomica
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architecturesRaffaele Garofalo
 
B5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business ValueB5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business ValueJon Taylor
 
Applying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureApplying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureBenjamin Scherrey
 
ITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITSwati Kumari
 
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?Edunomica
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureBrad Appleton
 
DC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data ChaosDC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data ChaosExcella
 
Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?Jason Bloomberg
 
Complexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph JochamComplexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph JochamBosnia Agile
 
SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021SFIA User Forum
 
Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013Chris F Carroll
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersValentin-Tudor Mocanu
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certificationsAdams Firdaus
 
DevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agileDevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agileArthur de Snaijer :)
 
An Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an EnterpriseAn Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an EnterpriseBrad Appleton
 
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
 
Trustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityTrustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityBrad Appleton
 

La actualidad más candente (20)

2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-management2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-management
 
Beyond Scrum and SAFe
Beyond Scrum and SAFeBeyond Scrum and SAFe
Beyond Scrum and SAFe
 
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew EarlierHans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architectures
 
B5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business ValueB5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business Value
 
Applying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureApplying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise Architecture
 
ITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITITIL , DevOps and IT4IT
ITIL , DevOps and IT4IT
 
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile Architecture
 
DC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data ChaosDC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data Chaos
 
Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?
 
Complexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph JochamComplexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph Jocham
 
SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021
 
Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layers
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certifications
 
DevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agileDevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agile
 
An Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an EnterpriseAn Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an Enterprise
 
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?
 
Trustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityTrustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean Traceability
 

Destacado

DOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsDOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsNicole Forsgren
 
MVVM for the Web
MVVM for the WebMVVM for the Web
MVVM for the WebExcella
 
Next Generation Enterprise Architecture
Next Generation Enterprise ArchitectureNext Generation Enterprise Architecture
Next Generation Enterprise ArchitectureRichard Veryard
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeGary Pedretti
 
Every company is a technology company
Every company is a technology companyEvery company is a technology company
Every company is a technology companyVishal Sharma
 
Designing digital transformation v.2.7
Designing digital transformation v.2.7Designing digital transformation v.2.7
Designing digital transformation v.2.7Nigel Green
 
Jeff's journey to a Digital Business
Jeff's journey to a Digital BusinessJeff's journey to a Digital Business
Jeff's journey to a Digital BusinessMendel Koerts
 
Foundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITFoundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITApigee | Google Cloud
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group, Inc.
 
WANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setWANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setBrad Appleton
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?Go2Group, Inc.
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentKyle Hailey
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possiblemimmozzo_
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsDBmaestro - Database DevOps
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?Michael Elder
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestroKyle Hailey
 

Destacado (20)

DOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsDOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOps
 
MVVM for the Web
MVVM for the WebMVVM for the Web
MVVM for the Web
 
Next Generation Enterprise Architecture
Next Generation Enterprise ArchitectureNext Generation Enterprise Architecture
Next Generation Enterprise Architecture
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New Hope
 
Every company is a technology company
Every company is a technology companyEvery company is a technology company
Every company is a technology company
 
2016 metrics-as-culture
2016 metrics-as-culture2016 metrics-as-culture
2016 metrics-as-culture
 
Designing digital transformation v.2.7
Designing digital transformation v.2.7Designing digital transformation v.2.7
Designing digital transformation v.2.7
 
Jeff's journey to a Digital Business
Jeff's journey to a Digital BusinessJeff's journey to a Digital Business
Jeff's journey to a Digital Business
 
Foundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITFoundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed IT
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
 
WANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setWANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-set
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application Development
 
Faking Hell
Faking HellFaking Hell
Faking Hell
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possible
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile Methods
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
Jenkins Plugin
Jenkins PluginJenkins Plugin
Jenkins Plugin
 

Similar a Lean Enterprise Architecture

Yemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield UniversityYemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield UniversityGuillermo Julca
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
Entity Framework Code First Migrations
Entity Framework Code First MigrationsEntity Framework Code First Migrations
Entity Framework Code First MigrationsDiluka99999
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1Dave Bost
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 
ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?Eran Stiller
 
SQL Azure the database in the cloud
SQL Azure the database in the cloud SQL Azure the database in the cloud
SQL Azure the database in the cloud Eduardo Castro
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Dms 2.0 Plan Proposal
Dms 2.0 Plan ProposalDms 2.0 Plan Proposal
Dms 2.0 Plan ProposalKai Liu
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simplellangit
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaDr. John Tunnicliffe
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaDr. John Tunnicliffe
 

Similar a Lean Enterprise Architecture (20)

Yemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield UniversityYemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield University
 
Mdd lcds
Mdd lcdsMdd lcds
Mdd lcds
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Entity Framework Code First Migrations
Entity Framework Code First MigrationsEntity Framework Code First Migrations
Entity Framework Code First Migrations
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Access & SharePoint
Access & SharePointAccess & SharePoint
Access & SharePoint
 
Resume
ResumeResume
Resume
 
Resume_Ravichandra Thota
Resume_Ravichandra ThotaResume_Ravichandra Thota
Resume_Ravichandra Thota
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 
Training Offerings - CodeOps Technologies
Training Offerings - CodeOps TechnologiesTraining Offerings - CodeOps Technologies
Training Offerings - CodeOps Technologies
 
ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?
 
SQL Azure the database in the cloud
SQL Azure the database in the cloud SQL Azure the database in the cloud
SQL Azure the database in the cloud
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Dms 2.0 Plan Proposal
Dms 2.0 Plan ProposalDms 2.0 Plan Proposal
Dms 2.0 Plan Proposal
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
 

Más de Excella

DCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetDCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetExcella
 
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsDCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsExcella
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutExcella
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant LeadershipExcella
 
DCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldDCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldExcella
 
DCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderDCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderExcella
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileExcella
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact MappingExcella
 
DCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileDCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileExcella
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of TestingExcella
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeExcella
 
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Excella
 
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)Excella
 
Get Your Productivity Game On!!
Get Your Productivity Game On!!Get Your Productivity Game On!!
Get Your Productivity Game On!!Excella
 
How to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsHow to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsExcella
 
Tactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsTactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsExcella
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Excella
 
Tactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryTactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryExcella
 
Using ansible vault to protect your secrets
Using ansible vault to protect your secretsUsing ansible vault to protect your secrets
Using ansible vault to protect your secretsExcella
 
Using Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileUsing Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileExcella
 

Más de Excella (20)

DCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetDCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer Worksheet
 
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsDCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership Handout
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant Leadership
 
DCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldDCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile World
 
DCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderDCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile Leader
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in Agile
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact Mapping
 
DCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileDCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of Agile
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of Testing
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting Time
 
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
 
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
 
Get Your Productivity Game On!!
Get Your Productivity Game On!!Get Your Productivity Game On!!
Get Your Productivity Game On!!
 
How to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsHow to Structure Multi Team Organizations
How to Structure Multi Team Organizations
 
Tactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsTactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOps
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015
 
Tactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryTactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous Delivery
 
Using ansible vault to protect your secrets
Using ansible vault to protect your secretsUsing ansible vault to protect your secrets
Using ansible vault to protect your secrets
 
Using Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileUsing Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of Agile
 

Último

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 

Último (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 

Lean Enterprise Architecture

Notas del editor

  1. Lean Enterprise Architecture (title page)A lean, testable enterprise architecture with a modern client stack
  2. Sponsors
  3. Introduction* We are building an enterprise web application with ASP.NET MVC, following best practices for design, development, testability and deployment.* We were looking for ways to improve and modernize* The motivation behind this design was our desire to do TDD, BDD, CI, CD.
  4. Are you familiar with:ASP.NET MVC?Entity Framework?Code First development?Code First Migrations?(slow-reveal diagram + ask the audience)
  5. Options and AlternativesDatabase-First (EDMX)Model-First (visual designer)Code-First with automatic migrationsCode-First with manual migrations
  6. AgendaAdd models and mapping in codeConnection StringEnable MigrationsUpdate DatabasePush code + Migrate server DBProcess Workflow
  7. 1. Models & Mapping
  8. 2. Connection StringsConnection StringWeb.configconfigSourceMachine config
  9. 3. Enable MigrationsEnable MigrationsConfiguration.csAdd Seed data
  10. 4. Update DatabaseUpdate DatabaseRun Seed DataVerify SQLVerify DB
  11. 5. Push Code + Migrate Server DBPush code to source controlOther developers pull and Update DatabaseMigrate server DB via migrate.exeUse TeamCity to automate this
  12. 6. Process WorkflowProcess WorkflowHandle existing databaseComply with enterprise requirements
  13. Code Walkthrough
  14. Code First Migrations allows:Continuous developmentSynchronization among team membersDatabase versioningServer deployment(diagram with star pattern)
  15. Resources
  16. IntroShahed showed DAL, so I’ll run through DomainFair warning, though…
  17. This is not like the other two parts of the presentation!I won’t show you code…Or specific technologies…at all.Instead, war stories and lesson learned
  18. Using Scrum,
  19. CI, CD…TDD, BDD, and DDD…
  20. But at the same time, some people involved with the project are proponents of…
  21. HEAVYWEIGHT enterprise architecture.To see what I mean, compare layersJokes aside, 1 story of over-engineering causing problems:
  22. When using DDD…blogsDev tried to use best practicesDidn’t check if we had the problems
  23. 3 problems: Use of UoW optionalRedundant, as I saidTo top it off: buggy, slow, redundant
  24. Now that’s what I call gold plating!
  25. The second story of the day is about premature optimization. Knuth: “premature optimization is the root of all evil”Optimizing for unproven use case because app is complex, expensive, many dev teamsAutomapper both waysWhat does Bogard know? Wrote != knows domain!
  26. Eventually realized it was gold plating as much as the Repositories were
  27. After unreasonable time, came to our sensesPulled out model into cross cutting layerNo more automapper!!Api has Data Contracts that look nothing like models, so that is a valid exception.
  28. Re: sharing a database context across objects.
  29. Service for every complex objectInjected new DbContext into every serviceProblem with shared sub-objects being accessible in several contexts
  30. Looked to SRP for guidance  one per objectNot only does not solve issue, makes it worse by making nearly all db objects sharedAlso creates Repo explosion
  31. Made a store to manage # of servicesRealized shared context problem, this fixes it# of Services = pain to manage and test!Came to realizetoo many services & shared context problemsStore was messy, painful hack
  32. Basically, realized that this is a step beyond gold plating.This is solid gold.
  33. Solved problem by splitting up into non-overlapping domains. Practically, this means 1 service per project team, & no overlapping objects.Anyone heard of bounded contexts…?Original solution proposed by DDD to begin with.Anyway,
  34. We fought against over-engineering and gold plating by using lean startup principles:BuiltMeasured pain; demonstrated to EA proponentsLearned from mistakes, built a solution closer to what we believed would alleviate the problemsRinse & Repeat