Teams and monoliths - Matthew Skelton - LondonCD 2016
-
Upload
skelton-thatcher-consulting-ltd -
Category
Software
-
view
2.340 -
download
1
Transcript of Teams and monoliths - Matthew Skelton - LondonCD 2016
![Page 1: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/1.jpg)
How to break apart a monolithic system safely
without destroying your teamMatthew Skelton, Skelton Thatcher Consulting
@matthewpskelton
LondonCD meetup: 11 Oct 2016#londoncd
![Page 2: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/2.jpg)
TodayCognitive load for teams
‘Monolith’Code Forensics
Team-first boundariesMonolith-splitting recipe
![Page 3: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/3.jpg)
For now, let’s forget:Microservices
CQRS / Event Sourcing
Queues(Architectural changes)
![Page 4: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/4.jpg)
![Page 5: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/5.jpg)
Continuous Delivery / etc…30+ organisations
UK, US, EU, India, China
![Page 6: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/6.jpg)
![Page 7: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/7.jpg)
How to break apart a monolithic system safely without destroying your
team
![Page 8: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/8.jpg)
Safer, more rapid changes to software systems
(Business Agility)
![Page 9: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/9.jpg)
A ‘team-first’ approach to software subsystem
boundaries
![Page 10: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/10.jpg)
TEAM
![Page 11: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/11.jpg)
![Page 12: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/12.jpg)
TEAMcapabilities
appetite & aptitude
understanding
responsibilities
![Page 13: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/13.jpg)
Conway’s Law
![Page 14: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/14.jpg)
![Page 15: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/15.jpg)
‘Reverse Conway’Tobbe Gyllebring (@drunkcod)
![Page 16: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/16.jpg)
![Page 17: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/17.jpg)
homomorphic force
(#Conway #Yawnoc)
HT @allankellynet
(same) (shape)
![Page 18: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/18.jpg)
Cognitive load for teams
![Page 19: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/19.jpg)
We have SCIENCE!
![Page 20: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/20.jpg)
Cognitive load for teams• Driskell et al, 1999 ‘Does Stress Lead to a Loss of Team Perspective?’
Group Dynamics: Theory, Research, and Practice 3, no. 4 (1999): 291.• Fan et al, 2010 ‘Learning HMM-Based Cognitive Load Models for
Supporting Human-Agent Teamwork’. Cognitive Systems Research 11, no. 1 (2010): 108–119.
• Ilgen & Hollenbeck, 1993 ‘Effective Team Performance under Stress and Normal Conditions: An Experimental Paradigm, Theory and Data for Studying Team Decision Making in Hierarchical Teams with Distributed Expertise’. DTIC Document, 1993.
• Johnston et al, 2002 ‘Application of Cognitive Load Theory to Developing a Measure of Team Decision Efficiency’. DTIC Document, 2002.
![Page 21: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/21.jpg)
“stress impacts teamperformance … by narrowing or weakening the team-level
perspective required foreffective team behavior.”
– Driskell et al, 1999Group Dynamics: Theory, Research, and Practice 1999, Vol. 3, No. 4,291-302
![Page 22: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/22.jpg)
‘Monolith’
![Page 23: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/23.jpg)
“Don’t start with a monolithwhen your goal is a
microservices architecture”
– Stefan Tilkov, innoQ
http://martinfowler.com/articles/dont-start-monolith.html
![Page 24: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/24.jpg)
“Start monolithic and extract”
– Tammer Saleh, Pivotal
https://www.infoq.com/presentations/cloud-anti-patterns
![Page 25: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/25.jpg)
A ‘team-first’ approach to software subsystem
boundaries
![Page 26: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/26.jpg)
Types of software monoliths•Application monolith•Joined at the DB•Monolithic releases (coupled)•Monolithic thinking (standardisation)…
![Page 27: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/27.jpg)
Application monolith
Single block of codeDeployed as a unit
![Page 28: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/28.jpg)
Joined at the DB
Difficult to change separately (but not impossible)Risk is (probably) elevated
Chris Collyer, http://www.stone-circles.org.uk/stone/pentreifan.htm
![Page 29: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/29.jpg)
Monolithic releases
Smaller components bundled together into a ‘release’
![Page 30: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/30.jpg)
Monolithic thinking
‘One-size-fits-all’ for teamsAssumption that minimising variation is A Good Thing
![Page 31: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/31.jpg)
Dangers of splitting a monolith•Reduced domain consistency (UX, Architecture, Data)
•Data duplication (unintentional)•Additional operational complexity due to distributed system and async messaging
•Degraded UX across the product
![Page 32: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/32.jpg)
Splitting a monolith
Reiner Flassig - CC BY-SA 2.0 de - Wikipedia
Choose the right technique for splitting Understand the nature of the monolith
![Page 33: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/33.jpg)
![Page 34: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/34.jpg)
‘Fracture planes’ for code•Business domain bounded context•Regulatory compliance•Change cadence•Risk•Performance isolation•User personas•Team location
![Page 35: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/35.jpg)
Code Forensics
![Page 36: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/36.jpg)
ForensicsYour Code as a Crime SceneAdam Tornhill
![Page 37: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/37.jpg)
Adam TornhillCode, Crime, Complexity: Analyzing software with forensic psychologyAdam TornhillTEDxTrondheim
youtube.com/watch?v=qJ_hplxTYJw
![Page 38: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/38.jpg)
‘Code Maat’ tool
![Page 39: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/39.jpg)
Adam Tornhill, http://www.adamtornhill.com/articles/crimescene/codeascrimescene.htm
Code City plus Code Maat forensics
![Page 40: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/40.jpg)
Beware of badly-named subsystems
![Page 41: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/41.jpg)
"information-poor abstract names are magnets for extra [unwanted] responsibilities"
– Adam Tornhillp.185, Your Code as a Crime Scene
![Page 42: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/42.jpg)
Team-first boundaries
![Page 43: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/43.jpg)
DevOpsTopologies.com
![Page 44: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/44.jpg)
Team types
Component team
Platform / ’substrate’ team
Supporting / ‘productivity’ team
Product/Feature team
![Page 45: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/45.jpg)
Team typesde
vops
topo
logies
.com
Component team
Platform / ’substrate’ team
Supporting / ‘productivity’ team
Product/Feature team
![Page 46: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/46.jpg)
Code repositoriesAlign repositories to subsystem boundaries
Avoid monolithic-y repos like TFS** Don’t get me started on TFS, grrr…
![Page 47: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/47.jpg)
Code repositories
Repo 1 Build Test Deploy Run
Repo 2 Build Test Deploy Run
Repo 3 Build Test Deploy Run
![Page 48: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/48.jpg)
“You can use a monorepo only if your organisation has published a
scientific paper on Computer Science. Otherwise, use one repo
per separate deployable thing.”
– Matthew SkeltonLondonCD meetup group, 11 Oct 2016
![Page 49: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/49.jpg)
Find natural or available ‘fracture planes’ for splitting
a monolith
(with the team in mind)
![Page 50: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/50.jpg)
Monolith-splitting recipeTried and tested!
![Page 51: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/51.jpg)
How to break apart a monolith without destroying your team
1. Instrument the monolith – logging 2. Grok data flows and fault responses3. Align teams to available segments
4. Split off segments one-by-one
![Page 52: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/52.jpg)
Instrument the monolith
![Page 53: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/53.jpg)
Instrument the monolith
![Page 54: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/54.jpg)
Instrument the monolith
![Page 55: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/55.jpg)
Instrument the monolithCorrelation ID Logs
Event ID
![Page 56: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/56.jpg)
![Page 57: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/57.jpg)
use logging as a channel/vector to
make distributed systems more testable
use logging as a channel/vector to
make distributed systems more testable
![Page 58: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/58.jpg)
Grok data flows and fault responses
![Page 59: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/59.jpg)
Grok data flows and fault responsesCorrelation ID
Event ID
Unexpected collaborating subsystems
Undetected fault condition
![Page 60: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/60.jpg)
Grok data flows and fault responsesCorrelation ID
Event ID
Adjust subsystem boundaries
Fix poor fault responses
![Page 61: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/61.jpg)
runbooktemplate.info
Run Book dialogue sheets
![Page 62: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/62.jpg)
Align teams to available segments
![Page 63: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/63.jpg)
Align teams to available segments
![Page 64: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/64.jpg)
Align teams to available segmentsMap to business domain
![Page 65: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/65.jpg)
Align teams to available segmentsIdentify likely components or ‘platform’ elements
![Page 66: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/66.jpg)
Split off segments one-by-one
![Page 67: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/67.jpg)
Split off segments one-by-one
![Page 68: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/68.jpg)
Split off segments one-by-oneSeparate:- Builds- Infrastructure- Deployments- Versions- Lifecycle
![Page 69: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/69.jpg)
Team needs / responsibilities / capabilities come first
![Page 70: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/70.jpg)
![Page 71: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/71.jpg)
How to break apart a monolith without destroying your team
1. Instrument the monolith – logging 2. Grok data flows and fault responses3. Align teams to available segments
4. Split off segments one-by-one
![Page 72: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/72.jpg)
How to break apart a monolith without destroying your team
1. Instrument the monolith – logging 2. Grok data flows and fault responses3. Align teams to available segments
4. Split off segments one-by-one* plus a few other things
![Page 73: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/73.jpg)
Further material
![Page 74: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/74.jpg)
![Page 75: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/75.jpg)
Books & articles• Working Effectively with Legacy Code, by Michael Feathers• Building Microservices by Sam Newman• ‘Managing Cognitive Load for Team Learning’ by Jo Pearce
http://12devsofxmas.co.uk/2015/12/day-3-managing-cognitive-load-for-team-learning/
![Page 76: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/76.jpg)
Training• From Monolith to Microservices (online training) – Sam Newman,
author of Building Microserviceshttp://www.oreilly.com/live-training/from-monolith-to-microservices.html
![Page 77: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/77.jpg)
Talks & slides• What is cognitive load theory and why should you care?, by Jo
Pearce - http://www.slideshare.net/JoPearce5/what-is-cognitive-load-theory-5mins
• Building Microservices by Sam Newman
![Page 78: Teams and monoliths - Matthew Skelton - LondonCD 2016](https://reader031.fdocuments.us/reader031/viewer/2022021813/587b98ba1a28ab4e4f8b6ef7/html5/thumbnails/78.jpg)
Research papers• Driskell, James E., Eduardo Salas, and Joan Johnston. ‘Does Stress Lead to a Loss of Team
Perspective?’ Group Dynamics: Theory, Research, and Practice 3, no. 4 (1999): 291.• Fan, Xiaocong, Po-Chun Chen, and John Yen. ‘Learning HMM-Based Cognitive Load Models
for Supporting Human-Agent Teamwork’. Cognitive Systems Research 11, no. 1 (2010): 108–119.
• Ilgen, Daniel R., and John R. Hollenbeck. ‘Effective Team Performance under Stress and Normal Conditions: An Experimental Paradigm, Theory and Data for Studying Team Decision Making in Hierarchical Teams with Distributed Expertise’. DTIC Document, 1993. http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA284683.
• Johnston, Joan H., Stephen M. Fiore, Carol Paris, and C. A. Smith. ‘Application of Cognitive Load Theory to Developing a Measure of Team Decision Efficiency’. DTIC Document, 2002. http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA525820.