SlideShare a Scribd company logo
1 of 31
Reducing Rakuten Ichiba’ s
development lead time
- A Pattern Language -
Mar/10/2015
Takahiro Yamaki
Rakuten Ichiba Development Department, Rakuten Inc.
http://www.rakuten.co.jp/
2
Summary!
• Motivation
– Faster & Better service delivery
• Strategies
1. Automation
2. Quick feedback to coders
1. Build result
2. Static code analysis result
3. Continuous system test (CST) result
4. Security check result
Reducing development lead time
3
Agenda
1. Introduction
1. My area of responsibility
2. Thoughts to take home
3. Our pattern language
2. Show cases
3. Goal plan
4. Summary
4
My area of responsibility in B2B2C
Rakuten Ichiba
Warehouse
(RMS)
ShoppersMerchants
Selling area
(MALL)
(1) Reduce development lead time
(2) Reduce operational cost
5
Thoughts to take home
• I’d like to introduce our results and future
plan. Furthermore I want to show our
pattern language for this theme.
• I am happy if you are interested in some
of our patterns and apply it to your own
situation and problem.
おみやげ
6
Pattern language for staffs
Involve Everyone
Evangelist
『Fearless Change: Patterns for Introducing New Ideas』
Mary Lynn Manns, Linda Rising (2014)
Dedicated Champion
Innovator Early Adopter
Study
Group
Just Do It
Plant the Seeds
Personal Touch
Hometown Story
7
Pattern language for development process
Git-nization
Step by Step
Small Successes
Automation
Repository connection
Abolish Excel
External Validation
Just Enough
8
Git-nization
Step by Step
Small Successes
Automation
Repository connection
Abolish Excel
External Validation
Just Enough
Patterns & Keywords
pull-request
CI
Test case management
Branch management
git-flow
Ticket
Code
Build, Deploy
Test
9
Git-nization
Step by Step
Small Successes
Automation
Repository connection
Abolish Excel
External Validation
Just Enough
Today’s show cases
CI
Ticket
Code
Build, Deploy
Test
(2)
(1)
10
Agenda
1. Introduction
2. Show cases
1. Repository connection
2. Automation
3. Goal plan
4. Summary
11
Show case(1)
Repository connection
12
Pattern: Repository connection
• Context
–Many lists, memos to relate things.
• Have the pull-requests of this issue been finished?
• Which environment have you deployed for this
issue?
• Problem
–Difficult traceability
–Non-productive costs
13
Pattern: Repository connection
• Restrictions
–Some development tools are in service.
• BTS(ticket management), SCM(source code
management), Document management
• Solution
–Select a development system which is
close to them.
14
Test case
Test results
Repository connection result
Tickets
Codes
Artifacts
Documents
Code Quality
RMS
Build result
Deploy result
Security reports
Info. Storage
Restrictions
15
Tips for tickets and commit relations
Precondition
1. Using git-flow. Branch name is feature/xxxx
2. Using ticket ID for the feature name
cd .git/hooks
mv prepare-commit-msg.sample prepare-commit-msg
vi prepare-commit-msg
#!/bin/sh
#
mv $1 $1.tmp
echo -n "[`git branch | grep "*" | awk '{print $2}' | sed -e "s/feature///g" `] " > $1
cat $1.tmp >> $1
Sample code
by T. Sugihara
16
View from a build result
 Deploy results
 Tickets
 Codes
Change log (who? what?)
17
View from a test result
Tickets
Test failure result  New ticket
Test results
 Ticket
18
MOVIE
Test failure report
 New ticket
19
Show case(2)
Automation
20
Pattern: Automation
• Context
– Too many manual tasks
• Problem
– Much operational cost. Sometimes mistakes.
• Restrictions
– Some development tools are in service.
• Solutions
– Select a CI server which is close to them.
– Automation! Automation! Automation!
21
Automation reference (1)
『Continuous Delivery: Reliable Software
Releases through Build, Test, and
Deployment Automation 』
Jez Humble, David Farley
22
Automation reference (2)
『 Automation for the people:
Deployment-automation patterns』
Paul Duvall
http://www.ibm.com/developerworks/java/library/j-ap01139/
– One-click
– Externalized Configuration
– Headless Execution
– Scripted Deployment
– Remote Deployment
23
Automation infrastructure overview
CI System
24
Demo scenario
Application
Management
server
Clusters
#1
#2
#3
#4
Manual test
Continuous
System test*
(3)
(2)
(4)
* Kotaro Ogino and Francois Picalausa
“Continuous System Test”. Test Automation.
http://kokotatata.hatenablog.com/entry/2014/03/14/075842
(1)
CI server
25
MOVIE
Automated build & deploy
26
Continuous system test overview
Selenium
Hub
Test case management tool
RMS
Selenium Nodes
Script
results
manage
Manual test
results
CI server
Test
data
27
Agenda
1. Introduction
2. Show cases
3. Goal plan
4. Conclusion
28
STG
QA
DEVBuild
Goal plan ・・・ “Deployment pipeline”
IT
Release
Judge
Acceptance
Test
PROD
Blue-
Green
Deploy
Clone
Build
UT
Code
Analysis
Deploy
Conf Test
Conf Test
Deploy
ST
Conf Test
Code
Review
Metrics
Release
Judge
Security
Test
ST
Security
Test
29
Summary!
• Motivation
– Faster & Better service delivery
• Strategies
1. Automation
2. Quick feedback to coders
1. Build result
2. Static code analysis result
3. Continuous system test result
4. Security check result
Reducing development lead time
30
QA
31
Wants You!!!
https://progres02.jposting.net/pgrakuten/job.phtml?job_code=1971&lang=en
https://progres02.jposting.net/pgrakuten/job.phtml?job_code=1972&lang=en

More Related Content

What's hot

Optimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOptimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOriginal Software
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Android Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit TestingAndroid Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit Testingmahmoud ramadan
 
Continuous performance: Load testing for developers with gatling
Continuous performance: Load testing for developers with gatlingContinuous performance: Load testing for developers with gatling
Continuous performance: Load testing for developers with gatlingTim van Eijndhoven
 
Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI Leonard Fingerman
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool EvaluationKate Semizhon
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environmentPerfecto Mobile
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature BranchingAlan Parkinson
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updatedTharinda Liyanage
 
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayContinuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayLeonard Fingerman
 
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 Pipelines
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 PipelinesNIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 Pipelines
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 PipelinesChing-Hwa Yu
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesStanton Champion
 
Specification by example and agile acceptance testing
Specification by example and agile acceptance testingSpecification by example and agile acceptance testing
Specification by example and agile acceptance testinggojkoadzic
 

What's hot (20)

Optimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOptimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile World
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Android Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit TestingAndroid Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit Testing
 
Continuous performance: Load testing for developers with gatling
Continuous performance: Load testing for developers with gatlingContinuous performance: Load testing for developers with gatling
Continuous performance: Load testing for developers with gatling
 
Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool Evaluation
 
TDD
TDDTDD
TDD
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environment
 
Cost of defects
Cost of defectsCost of defects
Cost of defects
 
Agile test practices
Agile test practicesAgile test practices
Agile test practices
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature Branching
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayContinuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
 
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 Pipelines
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 PipelinesNIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 Pipelines
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 Pipelines
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing Processes
 
Specification by example and agile acceptance testing
Specification by example and agile acceptance testingSpecification by example and agile acceptance testing
Specification by example and agile acceptance testing
 
TDD with Ruby
TDD with RubyTDD with Ruby
TDD with Ruby
 

Similar to Reducing Rakuten Ichiba's development lead time - A Pattern Language-

Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...CodeScience
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?European Collaboration Summit
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptinaamulh77
 
Sudheer_SAP_ABAP_Resume
Sudheer_SAP_ABAP_ResumeSudheer_SAP_ABAP_Resume
Sudheer_SAP_ABAP_ResumeSudheer babu
 
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...Virtual Forge
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategyMasas Dani
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)Amardeep Vishwakarma
 
Software Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationSoftware Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationProgrameter
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineImaginet
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review ProcessDr. Syed Hassan Amin
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Giridhar Addepalli
 
Adtech x Scala x Performance tuning
Adtech x Scala x Performance tuningAdtech x Scala x Performance tuning
Adtech x Scala x Performance tuningYosuke Mizutani
 
Nearshore Best Practices Workshop
Nearshore Best Practices WorkshopNearshore Best Practices Workshop
Nearshore Best Practices WorkshopVelocity Partners
 

Similar to Reducing Rakuten Ichiba's development lead time - A Pattern Language- (20)

Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?
 
Chapter one
Chapter oneChapter one
Chapter one
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.ppt
 
Sudheer_SAP_ABAP_Resume
Sudheer_SAP_ABAP_ResumeSudheer_SAP_ABAP_Resume
Sudheer_SAP_ABAP_Resume
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
Case Study: Automating Code Reviews for Custom SAP ABAP Applications with Vir...
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
 
Software Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationSoftware Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in Organization
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review Process
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01Adtech scala-performance-tuning-150323223738-conversion-gate01
Adtech scala-performance-tuning-150323223738-conversion-gate01
 
Adtech x Scala x Performance tuning
Adtech x Scala x Performance tuningAdtech x Scala x Performance tuning
Adtech x Scala x Performance tuning
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Nearshore Best Practices Workshop
Nearshore Best Practices WorkshopNearshore Best Practices Workshop
Nearshore Best Practices Workshop
 

Recently uploaded

INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 

Recently uploaded (20)

🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 

Reducing Rakuten Ichiba's development lead time - A Pattern Language-

Editor's Notes

  1. Good evening everyone, I’m Takahiro Yamaki from Rakuten Ichiba development department. Today I’d like to introduce our challenge to reduce our development lead time. I show not only facts, but also a pattern language to explain what we did.
  2. First of all, I explain about today’s summary. My motivation for reducing development lead time is to achieve the Faster & Better service delivery. In order to achieve it, we have 2 main strategies. 1st is Automation. 2nd is quick feedback to coders. I think that these are useful feedback to coders. For example, Build result, static code analysis result, continuous system test result, security check result, and so on.
  3. Now let’s move on to today’s agenda. There are 4 main parts. As for introduction, I explain about My area of responsibility Thoughts which you may take home Our pattern language
  4. Let me introduce about my area of responsibility in the Rakuten Ichiba B2B2C business model. The center of B2B2C model is mainly separated into 2 big systems. Mall system is like selling area for shoppers (shopping users). On the other hand RMS system is like warehouse for merchants (shop owners and staffs). RMS system consists of shop configurations, item management, payment management, delivery management and so on. I and my team activity target is mainly for RMS. My team has 2 main missions. 1st mission is to reduce development lead time and the other mission is to reduce the operational cost. Today’s topic is about our 1st mission.
  5. Now here is thoughts to take home. Usually I call it ‘おみやげ’ in Japanese. Today I’d like to introduce our results and future plan to reduce our development lead time. Furthermore I show a pattern language to explain what we did. I am happy if you are interested in some of our patterns and apply it to your own situation and problem.
  6. I make 2 slides in order to introduce our pattern language. This slide is for staffs and the next slide is for development process. These patterns and pattern relations (it is called pattern language) are overview of what I’ve done for 2 years, step by step. These pattern names come from the “Fearless change”. Japanese version title is ‘Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン’ First of all, when I joined Rakuten, there were too many manual operations. I felt tired of those operations. So I was strongly interested in any automation to reduce my manual operation cost. Then I tried to implement a build automation sample using our team software. Then I did study group to share my success. When I look back to these activities, I think ‘Evangelist’ pattern, ‘Just Do it’ pattern, ‘Study Group’ pattern, are good description. If I find someone who interested in my story, I went next to him/her, I made hands-on-training, made automation plan using his/her application. After that they became innovators in our group, then they YOKOTENed their success to their colleagues. Then their colleagues are becoming the early adopters in our group. Currently we are in this stage. I think we need to involve everyone in order o achieve our goal. エバンジェリスト Evangelist, やってみる Just Do It 勉強会 Study Group, 体験談の共有 Hometown Story, 種をまく Plant the Seeds 正式な推進担当者 Dedicated Champion 個人的な接触 Personal Touch イノベーター Innovator, アーリーアダプター Early Adopter, みんなを巻き込む Involve Everyone
  7. This slide is for development process. Bold frame shapes are not in the “Fearless change”. I thought extra 4 patterns which described what I did in order to improve our development process. These are ‘Git-nization’, ‘Automation’, ‘Abolish Excel’ and ‘Repository connection’.
  8. Now I put some keywords with these patterns. For example we changed the branch management, review management as part of Git-nization. We selected ‘git-flow’ as branch management model. I think ‘External validation’ pattern is good description for this activity. As for ‘Abolish Excel’ pattern, our test case management is shifting from Excel files to a suitable management tool. As for ‘Repository connection’ pattern, I am trying to connect some repositories which are for tickets, codes, build results, deploy results, and test cases.
  9. Today I introduce these 2 patterns in detail.
  10. Let’s move on to the show cases part.
  11. I explain our ‘Repository connection’ pattern. The context of this pattern is like this. There are many lists and memos to relate things. (Things are issues, codes, build results, deploy results, and so on) For example, ‘Have the pull-requests of this issue been completed?’ ‘Which environment have you deployed for this issue?’ The problem of this pattern is the ‘difficult traceability’. Even if it is not difficult for you to manage them, I think you pay some cost which is not productive.
  12. You may think or know some solutions for these kind of problems. There was a restriction for me to select one solution among them. That is to say, some developments tools had been already in service. They are BTS (bug tracking system, Jira), SCM (source code management, Stash) and Document management (Confluence). So the solution was to select a development system which was close to them.
  13. This diagram is about our repository connection result. This left-upper area is the restrictions. These development tools have already been in service. So I selected development tools which were close to these restrictions.
  14. This slide is just only a tips to related tickets and commits.
  15. This capture is a view from a build result. From this page you can trace which environments this build artifacts are deployed to. Furthermore you can see what kind of modifications or tickets are adopted between previous build and this build. So when a build fail, you may find who is the crasher.
  16. This capture is a view from a test result. When you input test failure comment in the test case management tool, you can create a issue by just only a few clicks. After that you can trace the issue from the test case failure result. And you can trace the test result from the issue, too.
  17. Now I show you the Movie about this process.
  18. Now let’s move on to the next show case. 2nd show case is about automation.
  19. I explain this automation pattern a little bit. The context of this pattern is that there are too many manual tasks. The problem is that they takes much cost and they sometimes lead to mistakes. The restriction is as same as ‘repository connection’ pattern. So the solution is as same as repository connection’ pattern. I selected a CI server which is close to the existing development tools.
  20. Here is a reference book for my automation activity.
  21. Or you may see the overview about what kind of automation patterns are useful for you.
  22. Now this is our automation infrastructure overview. The left area is for our CI system. This covers not only PROD environment but also DEV, STG environment.
  23. Before I show a movie about a build and deploy automation, I explain the scenario a little bit. Today’s demonstration movie is a internal tool. It is running on the GlassFish application server. Today’s demonstration steps are (1) I make a new branch and push it (2) CI tool detects the new branch and it copied the build process automatically. Then I start a build, (3) a war file is transferred to the GlassFish management server. (4) Bamboo kicks the deploy command to one of clusters. Usually we start to do manual tests or automated UI regression test to the new version. We call it “continuous system test”. Please refer this content which is written by Ogino-san about the concept, background and solution for the continuous system test.
  24. Now I show you the Movie about our build and deploy automation.
  25. So let’s move on to the last automation topic. Last automation topic is about continuous system test. The main technology is Selenium Hub & Nodes (The nickname is selenium2. Previously it was called Selenium Grid or selenium web driver) We prepares test scripts which consists of input data properties, test steps and expected result. Bamboo request the UI regression test to the selenium Hub, and then UI tests are executed in each Selenium Node. After the UI regression test finish, Bamboo puts the test result in our Test case and result management tool. So project leaders can see the test results using 1 tool.
  26. Let’s move on to the last topics.
  27. This is our goal plan. Usually it is called “deployment pipeline”. Red icons stand for automated tasks. On the other hand blue icons stand for manual tasks. The left cube is for building stage. It consists of build, UT and static code analysis. Then a coder get these feedback from our development pipeline. When the 1st build stage is success, the next DEV stage starts. The artifacts are deployed to the servers, configuration tests, continuous system tests and security tests are executed step by step. After these automated tasks finished successfully, a tester starts to do an integration test. The metrics which is from static code analysis, code review and IT results are inputs for development leaders who decide whether the artifacts have enough quality to deploy to STG environment.
  28. I repeat today’s summary. My motivation for reducing development lead time is to achieve the Faster & Better service delivery. In order to achieve it, we have 2 main strategies. 1st is Automation. 2nd is to return quick feedback to coders. I think that these are useful feedback to coders. For example, Build result, static code analysis result, continuous system test result, security check result, and so on.
  29. These are about our challenge and a pattern language. It is under construction. Do you have any questions or comments?