SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Adopting Agile in an embedded
platform
- SuryaKiran Kasturi & Akhil Kumar
Agenda
•Introduction to Presenters
•Problem Statement
•Our Solution
•Planned Improvements
•Jenkins Configuration and UT Output
•Key Takeaways
•Q & A
Seastar Labs Private Limited 2
Problem Statement
Seastar Labs Private Limited 3
Developing an IoT device requires multiple
development environments.
• Firmware functions
• Drivers
• Operating System
IoT Device
• Device drivers on windows/mac
• Software application on windows/mac to interact with the device
• Monthly deliverables and showing demos to the client on current
progress
• One team responsible for whole nine yards
Need automated tests for embedded code and host PC and Mac: Should run to
qualify every change.
Seastar Labs Private Limited 4
USB
PC/MAC
The e2e solution stack involves multiple technologies
HTML/CSS
Java Script
Business Logic (C/C++)
Service(s) (C/C++)
Host OS
Embedded App (C/C++/Assembly)
Device Drivers
XYZ Board
Wire Protocol
Host can be
PC/Mac/Linux
Device
Seastar Labs Private Limited 5
Chromium Embedded FW
Embedded Linux
Multi-OS development/build environment
requires all tests to pass every where.
Source Control
(SSOT)
Linux Windows Mac
Seastar Labs Private Limited 6
Multi OS development environment gives rise
to interesting challenges.
• Device code is cross compiled for ‘xyz’ embedded platform using
Linux x86 . But it can only run on ‘xyz’. How do we test ?
• Mac version of host software requires Mac OSX to build and test.
• Windows version of host software requires Win 7/8/8.1 to build and
test.
• Most changes would trigger all 3 builds. How do we test ?
• Should we slow down the development pace of Host Software to
wait for device software to be available?
• In production, host software needs device to be connected with
which human interacts. Should we use same setup for integration
tests ?
Seastar Labs Private Limited 7
Our Solution
Seastar Labs Private Limited 8
Multiple stakeholders means we need to have a
clear process for each stakeholder
• Develops code,
• Writes Uts for
new/modified
functionality
• Runs Uts and
ensures they pass
• Checks in to source
control after code
review
• Update Jira
Commit
triggers builds
• Waits for a successful build
• Tests the build to verify the visible changes based on
Jira
• QA releases the build to field users
QA/QE
Jenkins
Build successJira notification
Developer
• Builds the source code (device and host)
• UTs executed: simulate device
• Build is broken and mails are triggered for dev.
o Issue with device code/UTs
o Issue with host code/UTs
o Issue with signing the binaries
o Issue in publishing the build
• Build is successful mails are triggered for QA and
internal users
Multiple Jenkins Builders
Seastar Labs Private Limited 9
Build failure
Keep code and unit tests platform neutral to
get biggest bang for the buck.
• Device code is also compiled for Linux x86. So that unit tests for device can be
run on Linux x86 machine.
• Use platform neutral libraries such as APR, Boost C++, Poco, thrift etc. to make
sure that the application code behaves predictably on Win/Mac. Note: we still
run all unit test cases on all platforms.
This speeds up the development process as we can use a single code
base which would compile differently on different OS
• Developed device simulator to mimic entire protocol between device and host,
this way we didn’t have to wait for the device hardware and software to be
ready
• Used Jenkins as the CI tool to ensure that all check ins are Unit Tested before the
build is given for QA
• Use TUT C++ framework: Really light weight (1 hpp file) and platform neutral
• Use platform emulators to test assembly code during test run
Seastar Labs Private Limited 10
Planned Improvements
Seastar Labs Private Limited 11
We are evaluating improvements in the testing
part of the Jenkins builder
• We are evaluating use of software which will ensure that the unit tests will be
run in the following condition
• Latest firmware is installed on the device (This is being done manually now)
• Unit tests would be run to ensure that we are actually interfacing with the
device‘s latest firmware
• Software's being considered include:
• Robot Framework
• Fitnesse
• Slim
Seastar Labs Private Limited 12
Jenkins Configuration and UT
Output
Seastar Labs Private Limited 13
Configuration settings that need to be made
in the project to achieve running of UTs
Seastar Labs Private Limited 14
Unit test reports from Jenkins mentioning all
test groups to ensure all classes are covered
Seastar Labs Private Limited 15
Build time impact to run each unit test in
Jenkins is around 2.24 seconds
Seastar Labs Private Limited 16
Key Takeaways
Seastar Labs Private Limited 17
With minimal effort we can ensure that
embedded software can be built using CI
• Key Takeaways:
• Use platform independent libraries such as APR, Boost C++, Poco framework,
thrift etc. to make sure that the application code behaves predictably on
Linux/Win/Mac.
• Run all unit test cases on all platforms.
• Use light weight Unit test framework.
• Develop a device simulator to mimic entire protocol between device and host,
this way you don’t have to wait for the device hardware and software to be ready.
• Use a CI tool like Jenkins to ensure that all check ins are Unit Tested before the
build is given for testing.
• Developer is responsible for unit testing in one dev environment while Jenkins
builders are responsible for all.
• Attention to build failures is crucial.
Seastar Labs Private Limited 18
Seastar Labs Private Limited 19
Q&A

Más contenido relacionado

La actualidad más candente

Headless Android Strikes Back!
Headless Android Strikes Back!Headless Android Strikes Back!
Headless Android Strikes Back!Gary Bisson
 
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)Leon Anavi
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systemsLen Bass
 
Relay health build system
Relay health build systemRelay health build system
Relay health build systemroncordell
 
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonEclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonVladLica
 
Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...Nikolai Blackie
 
Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsBrice Argenson
 
Towards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile AppsTowards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile AppsPhillip Wheatley
 
Neutron upgrades strategy
Neutron upgrades strategyNeutron upgrades strategy
Neutron upgrades strategyVictor Morales
 
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...Designing a Highly Available Environment Using Methods of Modern IT Infrastru...
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...Perforce
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryMandi Walls
 
Deployability
DeployabilityDeployability
DeployabilityLen Bass
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...CloudBees
 
FTF2014 - Android Accessory Protocol
FTF2014 - Android Accessory ProtocolFTF2014 - Android Accessory Protocol
FTF2014 - Android Accessory ProtocolGary Bisson
 
Hudson: Your robotic butler
Hudson: Your robotic butlerHudson: Your robotic butler
Hudson: Your robotic butlerSteven Merrill
 
Enabling Agile Testing Through Continuous Integration Agile2009
Enabling Agile Testing Through Continuous Integration Agile2009Enabling Agile Testing Through Continuous Integration Agile2009
Enabling Agile Testing Through Continuous Integration Agile2009sstolberg
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcityEugene Sheretov
 

La actualidad más candente (20)

Headless Android Strikes Back!
Headless Android Strikes Back!Headless Android Strikes Back!
Headless Android Strikes Back!
 
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systems
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonEclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
 
Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...Continuous Delivery in the real world - techniques to reduce the developers b...
Continuous Delivery in the real world - techniques to reduce the developers b...
 
Docker
DockerDocker
Docker
 
Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with Jenkins
 
Towards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile AppsTowards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile Apps
 
Neutron upgrades strategy
Neutron upgrades strategyNeutron upgrades strategy
Neutron upgrades strategy
 
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...Designing a Highly Available Environment Using Methods of Modern IT Infrastru...
Designing a Highly Available Environment Using Methods of Modern IT Infrastru...
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous Delivery
 
Deployability
DeployabilityDeployability
Deployability
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
 
FTF2014 - Android Accessory Protocol
FTF2014 - Android Accessory ProtocolFTF2014 - Android Accessory Protocol
FTF2014 - Android Accessory Protocol
 
Hudson: Your robotic butler
Hudson: Your robotic butlerHudson: Your robotic butler
Hudson: Your robotic butler
 
Enabling Agile Testing Through Continuous Integration Agile2009
Enabling Agile Testing Through Continuous Integration Agile2009Enabling Agile Testing Through Continuous Integration Agile2009
Enabling Agile Testing Through Continuous Integration Agile2009
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
 

Destacado

Oracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-featuresOracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-featuresPrabhat gangwar
 
Jornada final Clásicos escolares 15/16
Jornada final Clásicos escolares 15/16Jornada final Clásicos escolares 15/16
Jornada final Clásicos escolares 15/16tomasrodriguezreyes
 
Principais duvidas sobre mule
Principais duvidas sobre mulePrincipais duvidas sobre mule
Principais duvidas sobre muleJeison Barros
 
Símbolos patrios del perú sesion 8
Símbolos patrios del perú   sesion 8Símbolos patrios del perú   sesion 8
Símbolos patrios del perú sesion 8David Tineo
 
Εμβολισμός Iνομυωμάτων Mήτρας
Εμβολισμός Iνομυωμάτων MήτραςΕμβολισμός Iνομυωμάτων Mήτρας
Εμβολισμός Iνομυωμάτων MήτραςRadiology Archives
 
Cebrating the water day in kroko greece
Cebrating the  water day in kroko greeceCebrating the  water day in kroko greece
Cebrating the water day in kroko greecekonmaria
 
Betlem celebrating in our town
Betlem celebrating in our townBetlem celebrating in our town
Betlem celebrating in our townNatalia Orlyk
 
українські традиції
українські традиціїукраїнські традиції
українські традиціїNatalia Orlyk
 
Ablation: thermal (rfa/mwa/cryo) & electroporation
Ablation: thermal (rfa/mwa/cryo) & electroporationAblation: thermal (rfa/mwa/cryo) & electroporation
Ablation: thermal (rfa/mwa/cryo) & electroporationRadiology Archives
 
Διαγνωστική Προσέγγιση Ca μαστού σε Νέες Γυναίκες
Διαγνωστική Προσέγγιση Ca μαστού σε Νέες ΓυναίκεςΔιαγνωστική Προσέγγιση Ca μαστού σε Νέες Γυναίκες
Διαγνωστική Προσέγγιση Ca μαστού σε Νέες ΓυναίκεςRadiology Archives
 
Learning Maven by Example
Learning Maven by ExampleLearning Maven by Example
Learning Maven by ExampleHsi-Kai Wang
 
Request in mule
Request in muleRequest in mule
Request in muleSon Nguyen
 
Artırılmış gerçeklik ders kitabı
Artırılmış gerçeklik ders kitabıArtırılmış gerçeklik ders kitabı
Artırılmış gerçeklik ders kitabıLamia Büşra YEŞİL
 
Clásicos escolares Jornadas Finales (Huelva)
Clásicos escolares Jornadas Finales (Huelva)Clásicos escolares Jornadas Finales (Huelva)
Clásicos escolares Jornadas Finales (Huelva)tomasrodriguezreyes
 

Destacado (20)

Oracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-featuresOracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-features
 
Jornada final Clásicos escolares 15/16
Jornada final Clásicos escolares 15/16Jornada final Clásicos escolares 15/16
Jornada final Clásicos escolares 15/16
 
How to make ...Joomag
How to make ...JoomagHow to make ...Joomag
How to make ...Joomag
 
Play2 Java
Play2 JavaPlay2 Java
Play2 Java
 
Principais duvidas sobre mule
Principais duvidas sobre mulePrincipais duvidas sobre mule
Principais duvidas sobre mule
 
Símbolos patrios del perú sesion 8
Símbolos patrios del perú   sesion 8Símbolos patrios del perú   sesion 8
Símbolos patrios del perú sesion 8
 
Sponsorship Pitchbook General 2016
Sponsorship Pitchbook General 2016Sponsorship Pitchbook General 2016
Sponsorship Pitchbook General 2016
 
Εμβολισμός Iνομυωμάτων Mήτρας
Εμβολισμός Iνομυωμάτων MήτραςΕμβολισμός Iνομυωμάτων Mήτρας
Εμβολισμός Iνομυωμάτων Mήτρας
 
Cebrating the water day in kroko greece
Cebrating the  water day in kroko greeceCebrating the  water day in kroko greece
Cebrating the water day in kroko greece
 
Betlem celebrating in our town
Betlem celebrating in our townBetlem celebrating in our town
Betlem celebrating in our town
 
Seasons Dictionary
Seasons DictionarySeasons Dictionary
Seasons Dictionary
 
українські традиції
українські традиціїукраїнські традиції
українські традиції
 
Ablation: thermal (rfa/mwa/cryo) & electroporation
Ablation: thermal (rfa/mwa/cryo) & electroporationAblation: thermal (rfa/mwa/cryo) & electroporation
Ablation: thermal (rfa/mwa/cryo) & electroporation
 
Διαγνωστική Προσέγγιση Ca μαστού σε Νέες Γυναίκες
Διαγνωστική Προσέγγιση Ca μαστού σε Νέες ΓυναίκεςΔιαγνωστική Προσέγγιση Ca μαστού σε Νέες Γυναίκες
Διαγνωστική Προσέγγιση Ca μαστού σε Νέες Γυναίκες
 
Learning Maven by Example
Learning Maven by ExampleLearning Maven by Example
Learning Maven by Example
 
Water power
Water powerWater power
Water power
 
Socrative.tanitim
Socrative.tanitimSocrative.tanitim
Socrative.tanitim
 
Request in mule
Request in muleRequest in mule
Request in mule
 
Artırılmış gerçeklik ders kitabı
Artırılmış gerçeklik ders kitabıArtırılmış gerçeklik ders kitabı
Artırılmış gerçeklik ders kitabı
 
Clásicos escolares Jornadas Finales (Huelva)
Clásicos escolares Jornadas Finales (Huelva)Clásicos escolares Jornadas Finales (Huelva)
Clásicos escolares Jornadas Finales (Huelva)
 

Similar a Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar

Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Phani Thoota
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineeringgaoliang641
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Teodoro Cipresso
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER Piyush Prakash
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Resume_Archana_Rao
Resume_Archana_RaoResume_Archana_Rao
Resume_Archana_Raoarchana rao
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Arun Prasad-R.DOCX
Arun Prasad-R.DOCXArun Prasad-R.DOCX
Arun Prasad-R.DOCXArun R
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentationDrew Hannay
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdfMahmoudAlnmr1
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practicesCode Mastery
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Lee+Shanley's+Resume 2016-2
Lee+Shanley's+Resume 2016-2Lee+Shanley's+Resume 2016-2
Lee+Shanley's+Resume 2016-2Lee Shanley
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
 

Similar a Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar (20)

Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER
 
Simics - Break the Rules of Product Development
Simics - Break the Rules of Product DevelopmentSimics - Break the Rules of Product Development
Simics - Break the Rules of Product Development
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Resume_Archana_Rao
Resume_Archana_RaoResume_Archana_Rao
Resume_Archana_Rao
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Arun Prasad-R.DOCX
Arun Prasad-R.DOCXArun Prasad-R.DOCX
Arun Prasad-R.DOCX
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Resume_SameerajaKVL
Resume_SameerajaKVLResume_SameerajaKVL
Resume_SameerajaKVL
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Lee+Shanley's+Resume 2016-2
Lee+Shanley's+Resume 2016-2Lee+Shanley's+Resume 2016-2
Lee+Shanley's+Resume 2016-2
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 

Más de XP Conference India

Power of Measurement to Attain True Agility Meetu Arora
Power of Measurement to Attain True Agility Meetu Arora Power of Measurement to Attain True Agility Meetu Arora
Power of Measurement to Attain True Agility Meetu Arora XP Conference India
 
Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni
Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni    Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni
Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni XP Conference India
 
Refactoring for software design smells XP Conference 2016 Ganesh Samarthyam...
Refactoring for software design smells  XP Conference 2016  Ganesh Samarthyam...Refactoring for software design smells  XP Conference 2016  Ganesh Samarthyam...
Refactoring for software design smells XP Conference 2016 Ganesh Samarthyam...XP Conference India
 
Agile Testing Cost Reduction using Pairwise Technique
Agile Testing Cost Reduction using Pairwise Technique Agile Testing Cost Reduction using Pairwise Technique
Agile Testing Cost Reduction using Pairwise Technique XP Conference India
 
Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...
Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...
Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...XP Conference India
 
Building Big Architectures by Ramit Surana
Building Big Architectures by Ramit SuranaBuilding Big Architectures by Ramit Surana
Building Big Architectures by Ramit SuranaXP Conference India
 
Journey with XP a case study in embedded domain by Pradeep Kumar NR
Journey with XP a case study in embedded domain  by Pradeep Kumar NRJourney with XP a case study in embedded domain  by Pradeep Kumar NR
Journey with XP a case study in embedded domain by Pradeep Kumar NRXP Conference India
 
Introduction to Docker - Learning containerization XP conference 2016
Introduction to Docker - Learning containerization  XP conference 2016Introduction to Docker - Learning containerization  XP conference 2016
Introduction to Docker - Learning containerization XP conference 2016XP Conference India
 
Feature Toggle XP Conference 2016 Kalpana Gulati
Feature Toggle  XP Conference 2016 Kalpana GulatiFeature Toggle  XP Conference 2016 Kalpana Gulati
Feature Toggle XP Conference 2016 Kalpana GulatiXP Conference India
 
Componentize! by Lancer Kind XP Conference 2016
Componentize! by Lancer Kind XP Conference 2016Componentize! by Lancer Kind XP Conference 2016
Componentize! by Lancer Kind XP Conference 2016XP Conference India
 
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...XP Conference India
 
Utility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDUtility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDXP Conference India
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestXP Conference India
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhanXP Conference India
 
Who will test_your_tests_yahya poonawala- priti biyani
Who will test_your_tests_yahya poonawala- priti biyaniWho will test_your_tests_yahya poonawala- priti biyani
Who will test_your_tests_yahya poonawala- priti biyaniXP Conference India
 
Nightmare to nightly builds Vijay Bandaru
Nightmare to nightly builds   Vijay BandaruNightmare to nightly builds   Vijay Bandaru
Nightmare to nightly builds Vijay BandaruXP Conference India
 

Más de XP Conference India (20)

Power of Measurement to Attain True Agility Meetu Arora
Power of Measurement to Attain True Agility Meetu Arora Power of Measurement to Attain True Agility Meetu Arora
Power of Measurement to Attain True Agility Meetu Arora
 
Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni
Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni    Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni
Devops like lance Armstrong by Yahya Poonawala & Siddharth Kulkarni
 
Refactoring for software design smells XP Conference 2016 Ganesh Samarthyam...
Refactoring for software design smells  XP Conference 2016  Ganesh Samarthyam...Refactoring for software design smells  XP Conference 2016  Ganesh Samarthyam...
Refactoring for software design smells XP Conference 2016 Ganesh Samarthyam...
 
Agile Testing Cost Reduction using Pairwise Technique
Agile Testing Cost Reduction using Pairwise Technique Agile Testing Cost Reduction using Pairwise Technique
Agile Testing Cost Reduction using Pairwise Technique
 
Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...
Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...
Perspectives on Continuous Integration at Scale by Hrishikesh K & Vinaya Mura...
 
Building Big Architectures by Ramit Surana
Building Big Architectures by Ramit SuranaBuilding Big Architectures by Ramit Surana
Building Big Architectures by Ramit Surana
 
Journey with XP a case study in embedded domain by Pradeep Kumar NR
Journey with XP a case study in embedded domain  by Pradeep Kumar NRJourney with XP a case study in embedded domain  by Pradeep Kumar NR
Journey with XP a case study in embedded domain by Pradeep Kumar NR
 
Introduction to Docker - Learning containerization XP conference 2016
Introduction to Docker - Learning containerization  XP conference 2016Introduction to Docker - Learning containerization  XP conference 2016
Introduction to Docker - Learning containerization XP conference 2016
 
XP in the full stack
XP in the full stackXP in the full stack
XP in the full stack
 
Feature Toggle XP Conference 2016 Kalpana Gulati
Feature Toggle  XP Conference 2016 Kalpana GulatiFeature Toggle  XP Conference 2016 Kalpana Gulati
Feature Toggle XP Conference 2016 Kalpana Gulati
 
Componentize! by Lancer Kind XP Conference 2016
Componentize! by Lancer Kind XP Conference 2016Componentize! by Lancer Kind XP Conference 2016
Componentize! by Lancer Kind XP Conference 2016
 
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...
 
S.O.L.I.D xp
S.O.L.I.D xpS.O.L.I.D xp
S.O.L.I.D xp
 
Xp conf-tbd
Xp conf-tbdXp conf-tbd
Xp conf-tbd
 
Developer 2.0
Developer 2.0  Developer 2.0
Developer 2.0
 
Utility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDUtility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDD
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhan
 
Who will test_your_tests_yahya poonawala- priti biyani
Who will test_your_tests_yahya poonawala- priti biyaniWho will test_your_tests_yahya poonawala- priti biyani
Who will test_your_tests_yahya poonawala- priti biyani
 
Nightmare to nightly builds Vijay Bandaru
Nightmare to nightly builds   Vijay BandaruNightmare to nightly builds   Vijay Bandaru
Nightmare to nightly builds Vijay Bandaru
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar

  • 1. Adopting Agile in an embedded platform - SuryaKiran Kasturi & Akhil Kumar
  • 2. Agenda •Introduction to Presenters •Problem Statement •Our Solution •Planned Improvements •Jenkins Configuration and UT Output •Key Takeaways •Q & A Seastar Labs Private Limited 2
  • 3. Problem Statement Seastar Labs Private Limited 3
  • 4. Developing an IoT device requires multiple development environments. • Firmware functions • Drivers • Operating System IoT Device • Device drivers on windows/mac • Software application on windows/mac to interact with the device • Monthly deliverables and showing demos to the client on current progress • One team responsible for whole nine yards Need automated tests for embedded code and host PC and Mac: Should run to qualify every change. Seastar Labs Private Limited 4 USB PC/MAC
  • 5. The e2e solution stack involves multiple technologies HTML/CSS Java Script Business Logic (C/C++) Service(s) (C/C++) Host OS Embedded App (C/C++/Assembly) Device Drivers XYZ Board Wire Protocol Host can be PC/Mac/Linux Device Seastar Labs Private Limited 5 Chromium Embedded FW Embedded Linux
  • 6. Multi-OS development/build environment requires all tests to pass every where. Source Control (SSOT) Linux Windows Mac Seastar Labs Private Limited 6
  • 7. Multi OS development environment gives rise to interesting challenges. • Device code is cross compiled for ‘xyz’ embedded platform using Linux x86 . But it can only run on ‘xyz’. How do we test ? • Mac version of host software requires Mac OSX to build and test. • Windows version of host software requires Win 7/8/8.1 to build and test. • Most changes would trigger all 3 builds. How do we test ? • Should we slow down the development pace of Host Software to wait for device software to be available? • In production, host software needs device to be connected with which human interacts. Should we use same setup for integration tests ? Seastar Labs Private Limited 7
  • 8. Our Solution Seastar Labs Private Limited 8
  • 9. Multiple stakeholders means we need to have a clear process for each stakeholder • Develops code, • Writes Uts for new/modified functionality • Runs Uts and ensures they pass • Checks in to source control after code review • Update Jira Commit triggers builds • Waits for a successful build • Tests the build to verify the visible changes based on Jira • QA releases the build to field users QA/QE Jenkins Build successJira notification Developer • Builds the source code (device and host) • UTs executed: simulate device • Build is broken and mails are triggered for dev. o Issue with device code/UTs o Issue with host code/UTs o Issue with signing the binaries o Issue in publishing the build • Build is successful mails are triggered for QA and internal users Multiple Jenkins Builders Seastar Labs Private Limited 9 Build failure
  • 10. Keep code and unit tests platform neutral to get biggest bang for the buck. • Device code is also compiled for Linux x86. So that unit tests for device can be run on Linux x86 machine. • Use platform neutral libraries such as APR, Boost C++, Poco, thrift etc. to make sure that the application code behaves predictably on Win/Mac. Note: we still run all unit test cases on all platforms. This speeds up the development process as we can use a single code base which would compile differently on different OS • Developed device simulator to mimic entire protocol between device and host, this way we didn’t have to wait for the device hardware and software to be ready • Used Jenkins as the CI tool to ensure that all check ins are Unit Tested before the build is given for QA • Use TUT C++ framework: Really light weight (1 hpp file) and platform neutral • Use platform emulators to test assembly code during test run Seastar Labs Private Limited 10
  • 11. Planned Improvements Seastar Labs Private Limited 11
  • 12. We are evaluating improvements in the testing part of the Jenkins builder • We are evaluating use of software which will ensure that the unit tests will be run in the following condition • Latest firmware is installed on the device (This is being done manually now) • Unit tests would be run to ensure that we are actually interfacing with the device‘s latest firmware • Software's being considered include: • Robot Framework • Fitnesse • Slim Seastar Labs Private Limited 12
  • 13. Jenkins Configuration and UT Output Seastar Labs Private Limited 13
  • 14. Configuration settings that need to be made in the project to achieve running of UTs Seastar Labs Private Limited 14
  • 15. Unit test reports from Jenkins mentioning all test groups to ensure all classes are covered Seastar Labs Private Limited 15
  • 16. Build time impact to run each unit test in Jenkins is around 2.24 seconds Seastar Labs Private Limited 16
  • 17. Key Takeaways Seastar Labs Private Limited 17
  • 18. With minimal effort we can ensure that embedded software can be built using CI • Key Takeaways: • Use platform independent libraries such as APR, Boost C++, Poco framework, thrift etc. to make sure that the application code behaves predictably on Linux/Win/Mac. • Run all unit test cases on all platforms. • Use light weight Unit test framework. • Develop a device simulator to mimic entire protocol between device and host, this way you don’t have to wait for the device hardware and software to be ready. • Use a CI tool like Jenkins to ensure that all check ins are Unit Tested before the build is given for testing. • Developer is responsible for unit testing in one dev environment while Jenkins builders are responsible for all. • Attention to build failures is crucial. Seastar Labs Private Limited 18
  • 19. Seastar Labs Private Limited 19 Q&A