SlideShare a Scribd company logo
1 of 16
Download to read offline
Mike Harris – Software Engineering Lead, SSRN
Empowering Knowledge
A Brief Introduction to Kanban
Who am I?
• Mike Harris, Software Engineering Lead, SSRN, Elsevier.
• Joined SSRN Team in April 2017.
• Became the lead in February 2018.
• Graduated with degree in Computing for Real-Time Systems
back in 1993.
• Worked with lots of programming languages over the years,
including C++, Java, Perl, PHP, JavaScript and COBOL.
• Got seriously into Agile/Lean/XP over the last six years.
2
What is SSRN?
• SSRN is the Social Science Research Network
• It is a Pre-print Server
• It Allows researchers to share their preprints or
working papers to accelerate dissemination of
their ideas, lay claim to those ideas, and to get
feedback on their papers before they submit
them to journals.
• The term Working Paper Repository is now
preferred.
• We are moving from Social Science Research
Network to SSRN as a brand. We’ve launched
Biology Research Network, Chemistry,
Mathematics and Computer Science, Women
and Gender Studies networks, and are
launching many, many more this year.
3
High level deliverables
• Continue to improve and expand the current SSRN to grow our
Monthly Active Users and hit our Revenue targets
• Build a great team based in Oxford to help us work on the product
integration and migration of SSRN within Elsevier
• Make the new and improved version of SSRN a valuable part of
both ROS and the broader Elsevier ecosystem
• Build out the Social use case for SSRN to help expand the ROS
audience and grow our research community
4
How we’re doing it
5
Cold Fusion
Web Server
MySQL Oracle
Search
Service
Authors
Service
Paper
Service
Load Balancer
Internet
Existing Platform
(Monolithic)
New Platform
(Microservices)
EC2
EC2
EC2
Kinesis
Events
ES
PG
PG
The techniques we are using
• Scrum – retrospectives, planning, stand-ups
• Lean – Kanban
• Test Driven Development (TDD) – contract, system, functional,
integration and unit tests
• Clean Code
• SOLID principals
• Domain driven design
• Pair programming
• Mob programming
Technologies we are using
• Amazon Web Services (AWS)
 ElasticCloud 2 (EC2)
 Kinesis
 Realtime Data Services (RDS)
 S3
 ElasticSearch
 DynamoDB
 Lambda
 CloudWatch
• Java 8
• JetBrains IntelliJ IDEA
• Docker and Amazon ECS
• Linux
• Python and Fabric for deployment
• Terraform for infrastructure
• GoCD for continuous deployment and continuous integration
What is Kanban?
• Scheduling system originally for Lean Manufacturing
• Devised originally by Taiichi Ohno at Toyota
• As a method to achieve JIT Manufacturing
• Helps establish WIP limits
• Helps identify waste in a process
• Waste being unfinished work in queues waiting to be done
• Kanban is therefore all about the queues 看
板
Scrum vs Kanban
Scrum vs Kanban: Kanban boards Queues
WIP
Limits
ScrumBan
• Do daily stand-ups
• Hold frequent Retrospectives
• Consider holding short planning to cover what may be done in
next iteration.
• Use WIP limits.
• Reprioritise as and when.
• Release as and when.
• Hold Grooming Workshops
in the background.
Stand-up: Tips
• Make sure they happen at the same time every day.
• Each person should speak for maximum of one minute.
• Keep it high-level: not too technical.
• Cover of what you’ve done, what you’re going to do today, and
what your blockers are.
• Take any issues or deeper discussions out of stand-up.
• Walk the wall if you prefer, from right to left.
• Take it in turns who starts or who facilitates walking the wall.
• Do not be late!
• Do not be distracted!
• Do not waffle!
Retrospective: Tips
• Make sure they happen at the same time.
• Make sure everyone on the team is involved.
• Do them frequently: every fortnight at least, or every week if required.
• Keep them short and sweet: one hour maximum.
• Ensure you take actions.
• Ensure you cover off the actions from previous retro first.
• Rotate who facilitates the retro.
• Try different types of retro: the boat, sad-glad-mad, good-meh-bad,
thinking hats, Boston Box
• Try different themes: batman, retro gaming, anime, game of thrones…
• Try limiting number of tickets people can place.
• Try limiting number of votes.
Kanban board: Tips
• Use WIP limits.
• Make sure all work is on the board.
• Be prepared to iterate the board, changing it as necessary.
• Everyone owns the board and keeps it up to date.
• Use colour coded cards to mark different streams of work.
• Use swim lanes where applicable, and to aid all work being on
the board.
Development team XP: Tips
• Devs do QA.
• Devs do DevOps.
• Do pair programming as and when possible.
• Even do mob programming where is makes sense.
• Favour the Agile principals of Working Software over
Documentation and Customer Collaboration over Contract
Negotiation.
• Have a physical board (as well as virtual board).
• Remember that the important focus is the queues.
Thanks
m.harris@elsevier.com
https://ssrn.com

More Related Content

Similar to A Brief Introduction to Kanban

DevOps in the Real World
DevOps in the Real WorldDevOps in the Real World
DevOps in the Real WorldMax Yermakhanov
 
Become Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypeBecome Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypenathanmarz
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
44CON - So You Want To Red Team?
44CON - So You Want To Red Team?44CON - So You Want To Red Team?
44CON - So You Want To Red Team?Lawrence Munro
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsUwe Korn
 
Published in 1885 and shared on facebook
Published in 1885 and shared on facebookPublished in 1885 and shared on facebook
Published in 1885 and shared on facebookJoe Kepley
 
Can i Get C# for Free ?
Can i Get C# for Free ?Can i Get C# for Free ?
Can i Get C# for Free ?Welly Tambunan
 
Hack Night Retro Futurespective
Hack Night Retro FuturespectiveHack Night Retro Futurespective
Hack Night Retro FuturespectiveJosh Price
 
Kanban for Beginners - AgileEE 2011
Kanban for Beginners - AgileEE 2011Kanban for Beginners - AgileEE 2011
Kanban for Beginners - AgileEE 2011Robert Wiechmann
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...J On The Beach
 
Value streammapping cascadiait2014-mceniry
Value streammapping cascadiait2014-mceniryValue streammapping cascadiait2014-mceniry
Value streammapping cascadiait2014-mceniryChris McEniry
 
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemDownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemFITC
 
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...Amazon Web Services
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Markup languages and warp-speed documentation
Markup languages and warp-speed documentationMarkup languages and warp-speed documentation
Markup languages and warp-speed documentationLois Patterson
 

Similar to A Brief Introduction to Kanban (20)

DevOps in the Real World
DevOps in the Real WorldDevOps in the Real World
DevOps in the Real World
 
Become Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypeBecome Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackType
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
44CON - So You Want To Red Team?
44CON - So You Want To Red Team?44CON - So You Want To Red Team?
44CON - So You Want To Red Team?
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
Webinar: What You Can Do with Kanban
Webinar: What You Can Do with KanbanWebinar: What You Can Do with Kanban
Webinar: What You Can Do with Kanban
 
Published in 1885 and shared on facebook
Published in 1885 and shared on facebookPublished in 1885 and shared on facebook
Published in 1885 and shared on facebook
 
Can i Get C# for Free ?
Can i Get C# for Free ?Can i Get C# for Free ?
Can i Get C# for Free ?
 
Hack Night Retro Futurespective
Hack Night Retro FuturespectiveHack Night Retro Futurespective
Hack Night Retro Futurespective
 
Kanban for Beginners - AgileEE 2011
Kanban for Beginners - AgileEE 2011Kanban for Beginners - AgileEE 2011
Kanban for Beginners - AgileEE 2011
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
 
Case study
Case studyCase study
Case study
 
Value streammapping cascadiait2014-mceniry
Value streammapping cascadiait2014-mceniryValue streammapping cascadiait2014-mceniry
Value streammapping cascadiait2014-mceniry
 
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemDownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
 
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
 
Monorepo at Pinterest
Monorepo at PinterestMonorepo at Pinterest
Monorepo at Pinterest
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Markup languages and warp-speed documentation
Markup languages and warp-speed documentationMarkup languages and warp-speed documentation
Markup languages and warp-speed documentation
 

More from Mike Harris

Clean COBOL Lightning Talk - Ox:Agile 2019
Clean COBOL Lightning Talk - Ox:Agile 2019Clean COBOL Lightning Talk - Ox:Agile 2019
Clean COBOL Lightning Talk - Ox:Agile 2019Mike Harris
 
Using neuroscience to build high performance teams - Elaine Sullivan
Using neuroscience to build high performance teams - Elaine SullivanUsing neuroscience to build high performance teams - Elaine Sullivan
Using neuroscience to build high performance teams - Elaine SullivanMike Harris
 
Kotlin - A very quick introduction
Kotlin - A very quick introductionKotlin - A very quick introduction
Kotlin - A very quick introductionMike Harris
 
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018Mike Harris
 
Contract Testing: An Introduction
Contract Testing: An IntroductionContract Testing: An Introduction
Contract Testing: An IntroductionMike Harris
 
Being a better programmer: Writing Clean COBOL
Being a better programmer: Writing Clean COBOLBeing a better programmer: Writing Clean COBOL
Being a better programmer: Writing Clean COBOLMike Harris
 
Aws assimilation
Aws assimilationAws assimilation
Aws assimilationMike Harris
 
This is heavy doc! Lessons on just in time architecture - Adrian Potter
This is heavy doc! Lessons on just in time architecture - Adrian PotterThis is heavy doc! Lessons on just in time architecture - Adrian Potter
This is heavy doc! Lessons on just in time architecture - Adrian PotterMike Harris
 
Working towards ideal ux, product and tech partnership
Working towards ideal ux, product and tech partnershipWorking towards ideal ux, product and tech partnership
Working towards ideal ux, product and tech partnershipMike Harris
 
Agile around the World - Glaudia Califano
Agile around the World - Glaudia Califano Agile around the World - Glaudia Califano
Agile around the World - Glaudia Califano Mike Harris
 
How To Handle Your Tech Debt Better - Sean Moir
How To Handle Your Tech Debt Better - Sean MoirHow To Handle Your Tech Debt Better - Sean Moir
How To Handle Your Tech Debt Better - Sean MoirMike Harris
 
Welcome to Elsevier - presentation for Ox:Agile Conference
Welcome to Elsevier - presentation for Ox:Agile ConferenceWelcome to Elsevier - presentation for Ox:Agile Conference
Welcome to Elsevier - presentation for Ox:Agile ConferenceMike Harris
 
HacktionLab: how LEAN is your non-hierarchical community education project
HacktionLab: how LEAN is your non-hierarchical community education projectHacktionLab: how LEAN is your non-hierarchical community education project
HacktionLab: how LEAN is your non-hierarchical community education projectMike Harris
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....Mike Harris
 

More from Mike Harris (14)

Clean COBOL Lightning Talk - Ox:Agile 2019
Clean COBOL Lightning Talk - Ox:Agile 2019Clean COBOL Lightning Talk - Ox:Agile 2019
Clean COBOL Lightning Talk - Ox:Agile 2019
 
Using neuroscience to build high performance teams - Elaine Sullivan
Using neuroscience to build high performance teams - Elaine SullivanUsing neuroscience to build high performance teams - Elaine Sullivan
Using neuroscience to build high performance teams - Elaine Sullivan
 
Kotlin - A very quick introduction
Kotlin - A very quick introductionKotlin - A very quick introduction
Kotlin - A very quick introduction
 
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
 
Contract Testing: An Introduction
Contract Testing: An IntroductionContract Testing: An Introduction
Contract Testing: An Introduction
 
Being a better programmer: Writing Clean COBOL
Being a better programmer: Writing Clean COBOLBeing a better programmer: Writing Clean COBOL
Being a better programmer: Writing Clean COBOL
 
Aws assimilation
Aws assimilationAws assimilation
Aws assimilation
 
This is heavy doc! Lessons on just in time architecture - Adrian Potter
This is heavy doc! Lessons on just in time architecture - Adrian PotterThis is heavy doc! Lessons on just in time architecture - Adrian Potter
This is heavy doc! Lessons on just in time architecture - Adrian Potter
 
Working towards ideal ux, product and tech partnership
Working towards ideal ux, product and tech partnershipWorking towards ideal ux, product and tech partnership
Working towards ideal ux, product and tech partnership
 
Agile around the World - Glaudia Califano
Agile around the World - Glaudia Califano Agile around the World - Glaudia Califano
Agile around the World - Glaudia Califano
 
How To Handle Your Tech Debt Better - Sean Moir
How To Handle Your Tech Debt Better - Sean MoirHow To Handle Your Tech Debt Better - Sean Moir
How To Handle Your Tech Debt Better - Sean Moir
 
Welcome to Elsevier - presentation for Ox:Agile Conference
Welcome to Elsevier - presentation for Ox:Agile ConferenceWelcome to Elsevier - presentation for Ox:Agile Conference
Welcome to Elsevier - presentation for Ox:Agile Conference
 
HacktionLab: how LEAN is your non-hierarchical community education project
HacktionLab: how LEAN is your non-hierarchical community education projectHacktionLab: how LEAN is your non-hierarchical community education project
HacktionLab: how LEAN is your non-hierarchical community education project
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....
 

Recently uploaded

Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 

Recently uploaded (20)

Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 

A Brief Introduction to Kanban

  • 1. Mike Harris – Software Engineering Lead, SSRN Empowering Knowledge A Brief Introduction to Kanban
  • 2. Who am I? • Mike Harris, Software Engineering Lead, SSRN, Elsevier. • Joined SSRN Team in April 2017. • Became the lead in February 2018. • Graduated with degree in Computing for Real-Time Systems back in 1993. • Worked with lots of programming languages over the years, including C++, Java, Perl, PHP, JavaScript and COBOL. • Got seriously into Agile/Lean/XP over the last six years. 2
  • 3. What is SSRN? • SSRN is the Social Science Research Network • It is a Pre-print Server • It Allows researchers to share their preprints or working papers to accelerate dissemination of their ideas, lay claim to those ideas, and to get feedback on their papers before they submit them to journals. • The term Working Paper Repository is now preferred. • We are moving from Social Science Research Network to SSRN as a brand. We’ve launched Biology Research Network, Chemistry, Mathematics and Computer Science, Women and Gender Studies networks, and are launching many, many more this year. 3
  • 4. High level deliverables • Continue to improve and expand the current SSRN to grow our Monthly Active Users and hit our Revenue targets • Build a great team based in Oxford to help us work on the product integration and migration of SSRN within Elsevier • Make the new and improved version of SSRN a valuable part of both ROS and the broader Elsevier ecosystem • Build out the Social use case for SSRN to help expand the ROS audience and grow our research community 4
  • 5. How we’re doing it 5 Cold Fusion Web Server MySQL Oracle Search Service Authors Service Paper Service Load Balancer Internet Existing Platform (Monolithic) New Platform (Microservices) EC2 EC2 EC2 Kinesis Events ES PG PG
  • 6. The techniques we are using • Scrum – retrospectives, planning, stand-ups • Lean – Kanban • Test Driven Development (TDD) – contract, system, functional, integration and unit tests • Clean Code • SOLID principals • Domain driven design • Pair programming • Mob programming
  • 7. Technologies we are using • Amazon Web Services (AWS)  ElasticCloud 2 (EC2)  Kinesis  Realtime Data Services (RDS)  S3  ElasticSearch  DynamoDB  Lambda  CloudWatch • Java 8 • JetBrains IntelliJ IDEA • Docker and Amazon ECS • Linux • Python and Fabric for deployment • Terraform for infrastructure • GoCD for continuous deployment and continuous integration
  • 8. What is Kanban? • Scheduling system originally for Lean Manufacturing • Devised originally by Taiichi Ohno at Toyota • As a method to achieve JIT Manufacturing • Helps establish WIP limits • Helps identify waste in a process • Waste being unfinished work in queues waiting to be done • Kanban is therefore all about the queues 看 板
  • 10. Scrum vs Kanban: Kanban boards Queues WIP Limits
  • 11. ScrumBan • Do daily stand-ups • Hold frequent Retrospectives • Consider holding short planning to cover what may be done in next iteration. • Use WIP limits. • Reprioritise as and when. • Release as and when. • Hold Grooming Workshops in the background.
  • 12. Stand-up: Tips • Make sure they happen at the same time every day. • Each person should speak for maximum of one minute. • Keep it high-level: not too technical. • Cover of what you’ve done, what you’re going to do today, and what your blockers are. • Take any issues or deeper discussions out of stand-up. • Walk the wall if you prefer, from right to left. • Take it in turns who starts or who facilitates walking the wall. • Do not be late! • Do not be distracted! • Do not waffle!
  • 13. Retrospective: Tips • Make sure they happen at the same time. • Make sure everyone on the team is involved. • Do them frequently: every fortnight at least, or every week if required. • Keep them short and sweet: one hour maximum. • Ensure you take actions. • Ensure you cover off the actions from previous retro first. • Rotate who facilitates the retro. • Try different types of retro: the boat, sad-glad-mad, good-meh-bad, thinking hats, Boston Box • Try different themes: batman, retro gaming, anime, game of thrones… • Try limiting number of tickets people can place. • Try limiting number of votes.
  • 14. Kanban board: Tips • Use WIP limits. • Make sure all work is on the board. • Be prepared to iterate the board, changing it as necessary. • Everyone owns the board and keeps it up to date. • Use colour coded cards to mark different streams of work. • Use swim lanes where applicable, and to aid all work being on the board.
  • 15. Development team XP: Tips • Devs do QA. • Devs do DevOps. • Do pair programming as and when possible. • Even do mob programming where is makes sense. • Favour the Agile principals of Working Software over Documentation and Customer Collaboration over Contract Negotiation. • Have a physical board (as well as virtual board). • Remember that the important focus is the queues.

Editor's Notes

  1. Welcome!
  2. I think it's good to highlight that we have two jobs - to continue to improve the current SSRN with you (ITX), and to build a new team that brings SSRN into Elsevier. So there's lots to do, and like any big project it's not without risk… HERE ARE THREE I RISKS I WANTED TO HIGHLIGHT TODAY...