Upload
jair-banks
View
218
Download
5
Tags:
Embed Size (px)
Citation preview
eXtreme Feedback Devicefor your CI with Jenkins
Agile Tour HCMC 2012
株式会社アトラクタ 原田騎郎
原田 騎郎Kiro HARADA
Agile CoachDomain ModelerSCM Consultant
Twitter: @haradakiro
Agenda
What is XFD? A Brief History of XFD
Andon How to Eliminate Muda XFD
Create your own XFD XFD w/Arduino Demo
What is XFD?
eXtreme Feedback Device
Make Abnormal Condition Visible for Everybody Stop the line if abnormal
condition happens. Prevents defects go through the line.
Everyone knows
Everyone fixes
Build Quality In
Without XFD
How do you know if your build fails?
You may have build history like:
7 Muda / 7 Wastes
Transportation Inventory Movement Waiting Over-processing Over-production Defects
Over-producing Software with Defects
Delivering two Muda at the same time
Competing Productivity of Defected Products
Stop!
Over-production Defects
Do not fix the product. Fix the process.
Do not pretend you’re OK.
If there’s no broken builds for a week;
Is it a good symptom? Or a bad one?
Why?
Toyoda Type G Loom
http://commons.wikimedia.org/wiki/File:1924_Non-Stop_Shuttle_Change_Toyoda_Automatic_Loom,_Type_G_1.jpg
If you do not have Autonomated XFD?
It doesn’t work if you are busy. It doesn’t work when really
neccesary
Autonomate!
Various XFDs
Patolites Lava Lamps Batman? Dolls?
© by Patlitehttp://www.patlite.co.jp/product/detail.php?i=880
元チーム角谷 芦沢さん作http://objectclub.jp/community/xfd/
Gacksy
iPad/iPhone can be your XFD
Websocket Notifier Plugin by @mzphttp://d.hatena.ne.jp/mzp/20110612/jenkins
Build your OWN
Use only available / affordable parts
Build and modify features
Sharpen your saw.
Arduino
Arduino
Open Source Hardware AVR based microprocessor board Arduino IDE is available▪ Assembly is optional
Easy to expand▪ Ethernet Shield can talk TCP/IP
http://www.arduino.cc/
Arduino Code Example
void setup() { // Initialize pin13 as digital output. // pin13 has LED connected onboard pinMode(13, OUTPUT); }
void loop() { digitalWrite(13, HIGH); // Turn on LED delay(1000); // Wait for 1 sec. digitalWrite(13, LOW); // Turn off LED delay(1000); // Wait for 1 sec.}
Configuration
Arduino Uno Arduino Ethernet Shield Relay Control Kit (KIT-10733) Xenon Flash Light
Get the latest status via Jenkins Remote API (JSON) Turn of the Flash if UNSTABLE / FAILURE
Connect the wires
An output pin controls the relay.
The relay controls the flash light.
Jenkins Remote API
Most of Jenkins information is available via API.
URL to get the latest build
http://example.com/job/projectA/lastCompletedBuild/api/json?tree=result
{“result”:”SUCCESS”} {“result”:”UNSTABLE”} {“result”:”FAILED”}
Arduino Code Example
https://github.com/haradakiro/arduinojenkinsxfd
Ethernet.begin(mac, ip);Client client(server,80);Serial.begin(9600);
Serial.println("connecting...");
if (client.connect()) { Serial.println("connected"); client.println("GET /job/project/lastCompletedBuild/api/json?tree=result HTTP/1.1"); client.println();} else { Serial.println("connection failed");}
Some Soldering Work
っ f
Soldering is Fun
← 4 years old
Software Engineers can solder.
Twitter: @handazukecafe http://handazukecafe.com/
Alternative to Soldering
Grove Starter Kithttp://www.seeedstudio.com
Demo
Raspberry PI ?
ARM CPU Runs Linux
Runs Ruby Built in Ethernet GPIO to connect devices
Raspberry PI Prototype
Hardware can be spaghetti too
What XFD can bring to your team
Everybody knows if CI/CD is broken
Everybody concerns slow build. Everybody concerns slow tests. Everybody concerns test failures.
Everybody concerns XFD Team fix and modify XFD
Confirmation work is Muda
Web page available is not good enough The information is not visible Make it visible to everybody
Make it visible so that no action is necessary.
It’s your turn to build XFD
Please share if you build a new one.
Have a XFD and Keep Mr. Jenkins and
Team MembersHappy