présentation agile tour 2015 - agilité et internet des objets
Post on 16-Apr-2017
536 Views
Preview:
TRANSCRIPT
AGILITÉ ET
INTERNET DES OBJETS
Agile Tour MontréalVendredi 13 Novembre 2015
VOTRE CONFÉRENCIER• Vincent Hubert • Consultant indépendant
depuis 2010 • Hubiq (www.hubiq.net)• Travaille proche du métal
– C++, .Net– Appareils médicaux, TPV,
Borne interactive, vision artificielle, simulateurs ATC, appareil photo…
• vincent@hubiq.net
CONTENU
1. Qu’est-ce que l’agilité2. Qu’est-ce que l’IOT3. Spécificités du
développement IOT4. Les défis de l’agilité en IOT5. Pratiques Agiles6. Conclusion
QU’EST-CE QUE L’AGILITÉ
QU’EST-CE QUE L’AGILITÉ
• Les individus et leurs interactions plus que les processus et les outils
• Des logiciels opérationnels plus qu’une documentation exhaustive
• La collaboration avec les clients plus que la négociation contractuelle
• L’adaptation au changement plus que le suivi d’un plan
Manifeste agile (2001)
QU’EST-CE QUE L’INTERNET DES OBJETS
• Des appareils ou des objets • Connectés à internet• Capables de collecter,
transmettre des données• Être contrôlés via cette
connexion internet.
QU’EST-CE QUE L’INTERNET DES OBJETS
• Ca s’en vient! (ou c’est déjà là!)– Omniprésences des solutions SOC– En 2015: 4.9 milliards d’objets connectés..– En 2020: 50 milliards.– Google a acheté le fabricant de thermostats
intelligentsNest Labs, pour $3.2 milliards– Samsung a acheté l’entreprise de domotique
SmartThings pour $200 millions– En 2020: 250 millions de véhicules connectés
à Internet.– Le marché global des technologies
« wearable » a cru de 223% en 2015 • Fitbit a livré 4.4 millions d’appareils• Apple a vendu 2.5 millions de AppleWatches.
QU’EST-CE QUE L’INTERNET DES OBJETS
• De plus en plus d’exemples– Nabaztagtag– Caméra connectée à Facebook– AppleWatch– Bixi– Agriculture
QU’EST-CE QUE L’INTERNET DES OBJETS
Souvent en écosystème
Cloud
Mobile
ObjetWeb
MécaniqueÉlectonique
Firmware
Dev Mobile
Dev CloudDev Web
Ux
QA/QC
Manufacturing
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: UN SYSTÈME
Équipes de travail
multidisciplinaires.
Pas toutes habituées à l’agilité.
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: UN SYSTÈME
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: UN SYSTÈME
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: UN SYSTÈME
• Source des problèmes plus difficiles à cerner
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: UN SYSTÈME
• La source du problème n’est peut-être pas logicielle.
• La solution au problème n’est peut-être pas là où le problème est.
• Problème inhérent au système
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: UN MONDE RÉEL
• Usure• Tolérances• Mécanique• Capteurs• Interférences• Température, dilatation
thermique• Vibrations
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: R COMME RECHERCHE
• Unité « morte » ou défectueuse.
• Quasi impossible à « débugger »
• Unités défectueuses durant développement
• Difficile à estimer…
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT: DES OBJETS À FABRIQUER
• Compromis différents à faire• Normalisation • Certification• Mise à jour difficile ou
impossible
SPÉCIFICITÉS DU DÉVELOPPEMENT IOT:TECHNOLOGIES PLUS PRIMITIVES
• Pas toujours de « debugger »• Analyse post-mortem difficile• Accès a une librairie standard?• Outils « exotiques » donc
difficulté d’utiliser des outils communs. – Manière pour les vendeurs de
faire un lock-in.
LES DÉFIS DE L’AGILITÉ EN IOTDES CYCLE LONG ET COUTEUX
• Une « Itération » (Objet + Électonique + Firmware) = $$$$$$ + Looooong– Solution: Faire beaucoup de
mini-itérations– Utiliser des technologies de
prototypage
LES DÉFIS DE L’AGILITÉ EN IOTIT’S ONLY OVER ONCE IT REALLY OVER
• Phase de certification en fin de développement – Plus de changements après– Peut nécessiter des adaptations– $$$
LES DÉFIS DE L’AGILITÉ EN IOTDU LOGICIEL ET DE LA DOCUMENTATION
• Certains organisme de certifications exigent de la documentation de design– Y penser dès le début– En faire des livrables aux sprints– En générer le plus possible à
partir des artefacts existants (Traçabilité)
– Contrôler dans l’environnement de CI
LES DÉFIS DE L’AGILITÉ EN IOTENVIRONNEMENT HÉTÉROGÈNE
• Un code smell de « Shotgun surgery »?– Envisager la génération de code
PRATIQUES AGILES
• Intégration continue• Essentiel • Virtualiser• Cross compilation• Accès à du hardware?
• Oublier une solution dans le cloud…• Faire des bancs des tests
automatisés• Niveau de tests?
– Comment tester un accéléromètre?
PRATIQUES AGILES
• Tests unitaires– Virtualiser– Cross compilation– Doit être planifié dès le début.
• Test intégrations– Virtualiser– Spécification (ou architecture)
exécutable– Scripts de scénarios hétérogènes
PRATIQUES AGILES
• Planning Poker– Identifier les éléments de
recherche
PRATIQUES AGILES ORGANISATION DES SPRINTS
• Besoin du hardware, disponibilité limité
• Utilisation de « tiger team » pour cerner certains problèmes coriaces
• Limité au software. Besoin de planifier interactions avec autres groupes
• Démo sur plateforme PC si hardware pas encore disponible
UX MOCKING
• Besoin d’avoir du feedback rapide• Peut être fait très rapidement sur
un ordinateur
CONCLUSION
• Le monde IOT est un monde où l’agilité ne va pas de soi
• La clé du succès repose dans la capacité à exécuter le code de l’objet à l’extérieur de celui-ci
• Un arrimage périodique avec le monde moins agile est souhaitable
EN TERMINANT
• Attention à la sécurité– Chrysler– Smart Rifle– Routeurs compromis– Firmware encrypté
vincent@hubiq.net
MERCI !!!
top related