Feuille de route de Space en 2020

Publié le par Delphine Massenhove

Nous souhaitons partager nos projets et nos priorités pour l’année en cours, afin de nous assurer que ce que nous avons prévu vous apportera les fonctionnalités que vous attendez et dont vous avez le plus besoin. Nous prévoyons la publication officielle de Space 2020 au troisième ou quatrième trimestre de cette année.

feuille de route
Space est actuellement disponible en accès anticipé car nous souhaitons en partager le concept, ainsi que les principales idées et les valeurs sur lesquelles il repose. Lors de son lancement nous avons annonce le lancement de Space, nous avons révélé un certain nombre de fonctionnalités que nous estimons cruciales pour couvrir complètement le processus de développement logiciel, mais qui ne sont pas encore disponibles publiquement.

Nos principales priorités pour la publication de Space 2020

I. Automatisation : CI/CD

Nous avons annoncé une solution de CI/CD complète et d’automatisation à usage général car nous pensons qu’il s’agit d’éléments essentiels du processus de développement de logiciels. Cependant, nous avons décidé de ne pas mettre cette fonctionnalité à disposition avant qu’elle ne soit prête pour la production. Pour la publication de Space 2020, nous ne fournirons pas une solution complète de livraison continue avec des objectifs de déploiement. Notre objectif est de fournir une solution d’intégration continue basique (sans pipelines).

Quelles sont les fonctionnalités que nous allons fournir en premier ?

  • Prise en charge des conteneurs : si votre tâche peut être “conteneurisée”, alors il est fort probable que l’Automatisation puisse l’exécuter. Dans les conteneurs, vous pouvez exécuter n’importe quelle commande (y compris celle par défaut), n’importe quel script ou code Kotlin arbitraire.
  • Prise en charge étendu pour Gradle : rapports de tests Gradle, utilisation de commandes spéciales pour simplifier l’exécution des builds Gradle.
  • Conteneurs de service : exécution de conteneurs supplémentaires, par exemple de conteneurs de base de données, en plus du conteneur principal.
  • Intégration avec d’autres modules de Space : utilisation de l’API Space pour travailler avec d’autres modules directement à partir du script d’Automatisation. Par exemple, envoyer un message sur Chats si la build échoue.
  • Intégration avec Packages : publication d’artefacts Maven dans les référentiels dans Packages.

II. Travail : Incidents, Checklists et Liste de tâches personnelles

La gestion de projet dans Space comporte trois étapes principales : la planification descendante, l’analyse ascendante et l’exécution. Notre objectif est de fournir une prise en charge complète pour chaque étape et d’assurer une intégration avancée entre les étapes. D’après les retours que nous avons reçus, il y a une forte demande pour la fonctionnalité de gestion de projets dans Space. C’est pourquoi nous en avons fait l’une des priorités pour cette version.

Checklists

Nous prévoyons de retravailler le concept sur lequel reposent les checklists afin de l’adapter aux procédures qui nécessitent de décomposer les choses. Les checklists pourront ainsi mieux fonctionner avec les epics ou les itérations. Nous travaillons également à l’intégration avec les incidents, en ajoutant la possibilité de convertir un élément d’une checklist en un nouvel incident ou de le lier à un incident existant.

Incidents

  • Mise à jour massive (Bulk) des incidents, incluant l’interface utilisateur visuelle pour la sélection et la mise à jour de plusieurs incidents : responsable, état, balise, date d’échéance, etc.
  • Utilisation des responsabilités pour les sous-systèmes dans les incidents et les listes de vérification
  • Améliorations concernant les dates d’échéance : filtrage, notifications
  • Prise en charge des champs personnalisés
  • Améliorations de l’interface utilisateur et de l’accessibilité

Liste personnelle de tâches [New]

Si vous appréciez tout particulièrement de rayer des éléments de votre liste de tâches à effectuer, le concept de tâches personnelles dans Space vous conviendra parfaitement.

Dans Space, la liste des tâches à effectuer est l’outil idéal pour la planification à court terme de vos activités personnelles. Elle vous permet de définir et de convertir en un clic diverses activités, par exemple effectuer une révision de code, répondre à des messages reçus dans le chat, lire des articles de blog, commenter un incident, lire un article de la base de connaissances ou un document, en actions à réaliser le jour-même ou le lendemain.

La liste des tâches est un outil simple mais efficace, qui contribue à réduire la surcharge d’informations et aide à organiser les tâches quotidiennes en un clic. La liste personnelle de tâches sera également disponible dans les applications mobiles.

III. Base de connaissances [New]

La base de connaissances, qui est en cours d’élaboration, est l’une des fonctionnalités les plus demandées dans Space. Les Books sont les principales entités de la base de connaissances de Space. Ils peuvent être organisés par thème, comme les Guides sur le design ou les Guides destinés aux Chefs de produit, par lieu, comme par exemple le bureau JetBrains de Munich, ou par projet, comme Space, IntelliJ Platform, etc.

La version initiale de la base de connaissances de Space comprend :

  • Mes documents :
    • Les documents peuvent être publiés ultérieurement sur le blog ou dans le book.
    • Partage de documents.
  • Books et articles
  • Documents de projet – les books à l’intérieur des projets
  • Édition collaborative – Markdown ou WYSIWYG (selon le format du document original)
  • Publication de l’historique

IV. Extensibilité et Applications

Nous avons consacré beaucoup d’efforts à la prise en charge de l’extensibilité dans Space. Les applications sont le principal moyen de configurer, réutiliser et partager les extensions dans Space.

Nos projets à court-terme pour les applications comprennent :

  • Les webhooks entrants
  • Les commandes slash et interactions via chats
  • La prise en charge des notifications à partir d’outils externes
  • Le perfectionnement de l’API HTTP

Pour les permissions, nous allons travailler sur :

  • Une structure d’autorisations plus granulaire : par référentiel, par book, etc.
  • La gestion des autorisations pour les applications
  • Les jetons permanents pour les scénarios d’accès à l’API HTTP simples

Pour l’authentification, nous prévoyons les fonctionnalités suivantes :

  • Authentification à deux facteurs et mots de passe des applications
  • SAML 2.0
  • Limitation des tentatives de connexion et CAPTCHA

Importation de données

Notre objectif est de faciliter la migration des ressources suivantes vers Space : membres, équipes, lieux, projets, référentiels, documents, base de connaissances, rôles, incidents, etc.

Nous prévoyons de fournir une importation simple à partir d’un format couramment utilisé (tel que CSV, JSON ou XML). Space permettra une importation unique. Les extensions, comme les assistants pour les migrations avancées, seront quant à elles créées par nos partenaires technologiques.

Distribution des applications

Nous allons mettre en place un mécanisme de distribution pour nos applications via la Marketplace.

Autres orientations importantes du développement de Space

I. Plugin d’EDI basé sur IntelliJ

Concernant le plugin d’EDI, nous travaillons actuellement à la prise en charge du processus de révision du code de l’EDI, ce qui inclut :

  • Une vue d’ensemble des révisions ouvertes, avec la possibilité de les filtrer
  • Des notifications concernant les révisions attribuées
  • L’édition des détails et la liste des réviseurs
  • Les commentaires et réponses
  • La création d’une nouvelle révision de branche

Plus de fonctionnalités:

  • Mise en place initiale du projet
  • Recherche de packages
  • Résolution des références de package Space manquantes directement dans l’EDI
  • Modification des scripts d’automatisation de Space à partir de votre EDI et exécution locale

II. Réunions et Calendriers

De nos jours, tout le monde utilise un calendrier. C’est pourquoi nous fournissons une intégration avec les outils suivants :

  • Google Calendar
  • Microsoft Outlook Calendar

Notre souhaitons aussi assurer la prise en charge des calendriers de Space en mode autonome. Pour ce faire, nous prévoyons de prendre en charge :

  • Les invitations pour les personnes externes
  • L’envoi des invitations
  • Les réponses aux invitations
  • Les notifications sur les événements à venir : desktop, mobile
  • L’API CalDAV pour tous les événements du calendrier

Nouvelles fonctionnalités

  • Éléments de calendrier unifiés pour les réunions, vacances et autres absences
  • Réunions sur une journée entière
  • Améliorations des réunions récurrentes : suppression ou mise à jour d’un seul événement

III. Chats et Applications mobiles

Les Chats dans Space sont le point central pour toutes les notifications. Les chats délivrant des notifications à partir de tous les modules, le mécanisme de notifications optimisé – qui comprend le regroupement intelligent des notifications, le paramétrage par défaut et la flexibilité des paramètres – est crucial. C’est également notre focus pour les applications mobiles (iOS et Android).

Nos projets pour les chats et applications mobiles comprennent :

  • La recherche plein texte dans les chats
  • Le regroupement flexible des notifications sur les incidents, les révisions de code et les messages directs, selon les workflows de l’entreprise
  • Les appels audio et vidéo
  • Plus d’abonnements à divers événements, notamment les nouveaux commit et jobs d’automatisation
  • Les applications (bots ou intégrations tierces) dans les chats
  • Des améliorations de performance
  • La mention d’autres entités dans Space : @teams, @projects, @locations
  • Le statut d’utilisateur unifié, qui comprend les informations sur les absences, réunions et activités en cours comme le travail dans l’EDI ou la rédaction d’un article de blog, ainsi que des statuts personnalisés.

IV. Le rôle de collaborateur

Nous avons reçu beaucoup de demandes concernant la prise en charge de membres externes, de personnes qui ne sont pas des membres de l’organisation mais qui sont autorisées dans Space et disposent d’un ensemble de permissions limité. Le rôle de membre externe peut être utilisé pour les personnes concernées par le produit, les clients, les partenaires, etc.

Autres fonctionnalités que nous prévoyons d’ajouter

  • Réplication Git régionale
  • Workflows personnalisés sur un changement de référentiel
  • Révision de code au tour par tour
  • La possibilité de fixer des règles pour la révision du code : le nombre de réviseurs, leur rôle, etc.
  • Règles de création et de traitement de la révision automatique de code
  • Prise en charge de NuGet et NPM
  • Règles de nettoyage des référentiels de package
  • Intégration avec la recherche de vulnérabilités
  • Recherche plein texte dans les chats, les blogs, les équipes, les incidents, le code et l’aide en ligne
  • Analyse plus intelligente des données afin de fournir des suggestions contextuelles : différents fuseaux horaires, disponibilité, etc.

Faites-nous part de vos commentaires

Voici notre plan pour la publication prochaine de Space 2020. Nous espérons que cette feuille de route contient de nombreuses fonctionnalités qui vous donnent envie d’adopter Space pour votre équipe ou votre entreprise.
Faites-nous savoir ce que vous pensez en laissant vos commentaires ici ou en envoyant une demande de fonctionnalité via notre système de suivi de tickets.

Si vous n’avez pas encore essayé Space, n’hésitez pas et demandez votre invitation au programme d’accès anticipé.

Auteur de l’article original en anglais : Valerie Andrianova