During their thesis, PhD students are often asked to produce code in order to implement their theoretical developments. This production, made up of existing codes from previous work and / or third-party sources to which doctoral students add their contribution, generally suffers from several shortcomings: - lack of software architecture (organization in libraries) - lack of standards (design patterns, object-oriented programming) - lack of portability and difficulties in distributing the code - lack of coherence and interoperability in technological choices preventing easy exchanges between colleagues of the same team.

In addition, the nested use of third-party codes induces difficulties in terms of intellectual property and therefore transfer.

The objective of this training is therefore twofold: - to apply the methodologies and standard tools for software development on concrete and personalized use cases - highlight issues related to intellectual property and transfer.

<!–more–

Save the Date !

This training was accepted by the UCA Doctoral School as a professional training course. We are planning two slots of one week each: * the first in March 2018 just after the school holidays, * the second at the beginning of September 2018.

We will inform PhD students via the doctoral school of exact dates by the end of 2017.

Duration and number of participants

  • 5 days - 5 to 6 participants upon prior registration

Targeted audience

This training is intended primarily for second-year PhD students. Indeed, they have enough material to provide significant code bases and they also have enough time before them to put into practice the contributions of this training.

Prerequisites

PhD students must provide an existing code base in relation to their work or at least one case of representative use.

Program

Day 1

  • Presentation of the tools and methodology of software development: - effective versioning model with Git - build tools - continuous integration - agile methodology (SCRUM) * Introduction to software transfer - intellectual property - APP deposit and licenses - copyright - transfer routes (transfer, start-up, license)

Day 2

  • Presentation of the use cases provided by the participants - definition of the features to be reached by the end of the week - definition of the deliverable (ie the demo to do) - time allocation for each feature by Poker Planning * Start of the sprint

Days 3 and 4

  • Next sprint - morning scrum (10-15 min) - sprint recovery

Day 5

  • End of Sprint - demos - debrief - simulation of deposit at the APP

Teaching methods

The training is provided by Inria’s Experiment and Development Service (SED) research engineers for software engineering and Inria’s Partnerships and Innovation Projects (CPPI) as well, for the transfer aspects.

Participants can bring their own laptops or use those provided by the SED. They will be hosted at the Inria devcenter in Sophia Antipolis in the room dedicated to sprints and with the appropriate equipment (ethernet, wifi, video projector, etc.).

Au cours de leur travail de thèse, les doctorants sont souvent amenés à produire du code afin d’implémenter leurs développements théoriques. Cette production, constituée de codes existants issus de travaux antérieurs et/ou de sources tierces auxquels les doctorants y ajoutent leur contribution, souffre généralement de plusieurs lacunes: - manque d’architecture logicielle (organisation en bibliothèques) - manque de standards (design patterns, programmation orientée objet) - manque de portabilité et difficultés pour diffuser le code - absence de cohérence et d’interopérabilité dans les choix technologiques empêchant les échanges faciles entre collègues d’une même équipe

En outre, l’utilisation imbriquée de codes tiers induit des difficultés en terme de propriété intellectuelle et donc de transfert.

L’objectif de cette formation est donc double: - appliquer sur des cas d’usage concrets et personalisé les méthodologies et les outils standards pour le développement logiciel - mettre en relief les enjeux liés à la propriété intellectuelle et au transfert.

Save the Date !

Cette formation a été acceptée par l’école doctorale d’UCA comme comptant pour formation professionnalisante. Nous prévoyons deux slots d’une semaine chacun : * la première en mars 2018 juste après les vacances scolaires, * la seconde lors de la rentrée de septembre 2018.

Nous informerons les doctorants via l’école doctorale des dates exactes d’ici la fin d’année 2017.

Durée et nombre de participants

  • 5 jours - 5 à 6 participants sur inscription préalable

Public visé

Cette formation est destinée en priorité aux doctorants de deuxième année. En effet, ils ont assez de matière pour fournir des bases de code significatives et ils ont également assez de temps devant eux pour mettre en pratique les apports de cette formation.

Prérequis

Les doctorants doivent fournir une base de code existant en lien avec leurs travaux ou a minima un cas d’usage représentatif.

Programme

Jour 1

  • Présentation des outils et méthodologie de développement logiciel: - modèle de versionnement efficace avec Git - outils de build - intégration continue - méthodologie agile (SCRUM) * Introduction au transfert logiciel - propriété intellectuelle - licences et dépôt APP - droit d’auteur - les voies du transferts (cession, start-up, licence)

Jour 2

  • Présentation des cas d’usage fournis par les participants - définition des fonctionnalités à atteindre d’ici la fin de semaine - définition du livrable (ie de la démo à faire) - attribution du temps pour chaque fonctionnalité par Poker Planning * Début du sprint

Jours 3 et 4

  • Suite du sprint - scrum du matin (10-15 min) - reprise du sprint

Jour 5

  • Fin du Sprint - démos - débrief - simulation de dépôt à l’APP

Moyens pédagogiques

La formation est dispensée par des ingénieurs de recherche du Service d’Expérimentation et de Développement (SED) d’Inria pour ce qui concerne le génie logiciel et par des chargés de partenariats et des projets d’innovation (CPPI) d’Inria également, pour les aspects transferts.

Les participants peuvent apporter leurs propres ordinateurs portables ou utiliser ceux fournis par le SED. Ils seront hébergés au devcenter d’Inria à Sophia Antipolis dans la salle dédiée aux sprints et disposant du matériel adéquat (éthernet, wifi, vidéo projecteur, etc).