Cet article est le premier article du Calendrier de l'Aventar de Valtech Co., Ltd..
Je suis ingénieur de 4e année et j'utilise Java pour les affaires.
Les raisons de choisir «Je veux faire du développement d'équipe à distance» comme thème sont les suivantes. ・ Je souhaite créer une équipe en dehors du travail ・ Je veux trouver des amis intéressés par le développement d'équipe
Ce qui suit est un résumé cette fois. ・ [Image de développement d'équipe et livrables dans le processus](image de développement #Team et livrables dans le processus) ・ [Outils pour aider au développement d'équipe](#Tools pour aider au développement d'équipe) ・ [Outil pour accélérer le développement d'équipe](#Tool pour accélérer le développement d'équipe)
・ Environnement Internet ・ PC (SmartPhone, tablette non disponible)
"Des situations comme celle-ci sont supposées" "Il existe un tel outil" "Je suis excellent" Si vous avez des questions, veuillez suivre ou commenter! Cet article sera maintenu après le calendrier de l'Avent.
Tout d'abord, énumérons les avantages du développement d'équipe à partir de chez vous.
Avantages | Remarques |
---|---|
Idées de 10 personnes et 10 couleurs | Nouvelles idées |
Réalisation d'examens mutuels | Expérience de l'examinateur |
Partage de savoir-faire | Absorption de connaissances autres que la personne |
Restrictions | Remarques |
---|---|
Différences dans les spécifications de la machine | Les outils peuvent ou non être pris en charge en raison de différences dans le système d'exploitation |
Problèmes de sécurisation du temps | Il n'y a aucune garantie que tout le monde aura du temps en semaine |
Manipulation des outils payants | La plupart des outils gratuits peuvent être remplacés |
Le produit développé est supposé avoir la configuration suivante. J'aimerais pouvoir louer un serveur de location et publier une sorte d'application Web.
Application Server |
---|
Java9 |
Linux |
RDB(MySql 8.0) |
Si l'application Web est strictement séparée côté serveur et côté client Il semble que ce soit une tendance récente à échanger des informations du client vers le serveur via json.
En fait, il fut un temps où deux personnes se développaient à Baltec après l'heure fixée. Il y a des antécédents d'échec en raison de restrictions telles que les inconvénients les uns pour les autres et l'incapacité de retirer des matériaux au sein de l'entreprise. .. .. Sur la base de l'expérience ci-dessus, c'est ma meilleure pratique pour le processus de planification.
Hypothèse: cascade jusqu'à la sortie initiale, puis agile
Cascade: Même s'il y a une omission dans le document de conception du processus précédent, le fichier ne sera pas écrasé de toute façon. Créez un diff, écrivez-le là, fusionnez à la fin et donnez une version mineure. Agile: Nous réviserons le document de conception de temps en temps et donnerons une version mineure après la publication.
Livrable: définition des exigences
Nous discuterons en gros de ce que vous voulez faire au sein de l'équipe et de la technologie que vous souhaitez mettre en œuvre. En tant que moyen de discussion, en face à face dans un café ou une web conférence, S'il n'y a pas de partie de sortie, il sera extrêmement difficile d'unifier la conscience globale. Exemple: tableau blanc dans une salle de conférence, dessin dans Excel
Livrables: document de définition des exigences, tableau des effectifs de conception
Nous étudierons et résumerons les spécifications techniques pour faire fonctionner ce que vous voulez faire.
Au moment de la publication initiale, seule la configuration minimale sera utilisée et les fonctions riches seront compatibles avec la prochaine version. (Parce qu'il est difficile de maintenir la motivation si vous ne faites pas de klaxon et ne le bougez pas)
Clarifier dans quel processus le traitement et les accords communs (engagements) seront discutés s'ils sont à l'ordre du jour.
Livrables: document de définition d'écran, document de définition d'interface, document de définition de base de données, tableau détaillé des effectifs de conception
J'ai une expérience de terrain avec l'API RESTFul Client <-> J'ai de l'expérience avec Swagger (décrit plus loin) en tant que document de définition d'interface entre serveurs. Swagger est recommandé comme documentation de l'API RESTFul.
Du côté client, je pense qu'il est nécessaire de laisser la maquette basée sur html comme un livrable. (Depuis Spring Boot crée des écrans basés sur html) De plus, il est nécessaire de couvrir le diagramme de transition d'écran et le motif d'écran au moment de l'occurrence normale / anormale.
Livrables: document de conception de programme, document de conception de test, document de définition de message, tableau d'effort de développement
Créez un document de conception de programme et un document de conception de test sous forme d'ensemble. Lors de la mise en œuvre d'une conception de test, assurez-vous d'identifier les modèles qui peuvent être implémentés en commun. Le format du document de conception détaillée au Japon semble être Excel. Cependant, Excel est facturé, je voudrais donc utiliser un format différent. Je n'ai aucune expérience avec cela, mais je souhaite utiliser Sphinx (décrit plus loin).
Identifiez les messages d'erreur et divers messages et gérez-les de manière à ce qu'il n'y ait pas de contenu en double.
Livrables: code produit, code de test, tableau d'effort de test
Assurez-vous de vous engager et de pousser les livrables du jour
Les normes de codage qui peuvent être partagées, les règles d'analyse statique, etc. doivent être conservées dans un stockage partagé
Liez et définissez les outils de gestion et de création de version, et implémentez [Intégration continue](https://ja.wikipedia.org/wiki/Continuous Integration) en arrière-plan.
Dans ce processus, la production du programme et la production de la source de test (test unitaire) sont terminées.
Livrables: spécifications de test, code de test, tableau de gestion des bogues
Les tests qui ne peuvent pas être effectués dans le processus de développement sont exécutés dans ce processus. Tests manuels depuis le navigateur, tests d'intégration interfonctionnels, etc. ..
Assurez-vous d'ajouter des "Tags" à la source avant et après le début du test. De plus, créez un tableau de gestion des bogues pour accumuler des connaissances sur les écarts de reconnaissance lors du développement de l'équipe et en avoir une idée.
Relâchez la source sur le serveur de production et appuyez légèrement sur diverses fonctions depuis l'écran. (Vous pouvez automatiser les éléments de vérification des opérations qui doivent être exécutés à chaque version et les vérifier ultérieurement.)
Passez à l'agilité, répétez les tests à partir de la définition des exigences et répétez le développement pendant une courte période.
Articles nécessaires |
---|
1: Peut parler avec N |
Remarque: le journal reste, le journal peut être recherché |
Le flux pour parler n'est pas un détour |
Il ne faut pas beaucoup de temps pour augmenter le nombre d'employés |
Pas lourd |
-> Slack
référence
Articles nécessaires |
---|
1: Peut être exécuté avec N |
Peut passer des appels vocaux et des messages sortants |
Le partage d'écran est possible |
-> Skype, Google Hangout
référence
Articles nécessaires |
---|
Non écouté par un tiers |
Il ne faut pas beaucoup de temps pour augmenter le nombre d'employés |
-> Stockage en ligne (Google Drive)
référence
Articles nécessaires |
---|
Qui a rédigé |
5W1H est exprimé au format par défaut |
Peut générer des diagrammes de Gantt |
-> Gestion des tickets (Redmine)
référence
Articles nécessaires |
---|
Utilisation gratuite |
Comparaison facile des différences |
-> Sphinx
référence
Articles nécessaires |
---|
Utilisation gratuite |
Majeur |
-> Swagger
référence
Articles nécessaires |
---|
La construction n'est pas un problème |
Majeur |
-> GitHub
référence
Articles nécessaires |
---|
L'opération n'est pas lourde |
La syntaxe met en évidence le travail |
Peut être traduit en japonais |
référence
Articles nécessaires |
---|
Peut fonctionner avec la gestion des versions |
Auto-résolution |
Peut être traduit en japonais |
-> Laissez-vous faire
Au moment de la publication de cet article, nous ne pouvions inclure aucun problème visible dans le développement de l'équipe. Exemple) Lors d'un développement à distance, je ne peux pas saisir toute la progression de mes coéquipiers. Je voudrais l'ajouter au bon moment, ou essayer l'analyse des risques lorsque l'équipe est constituée.
SpecialThanx Avant de publier l'article, j'ai demandé à mes seniors, juniors et ma femme de vérifier le texte. Je voudrais profiter de ce moment pour vous remercier.
Aussi, je recherche un développeur d'équipe à distance. Les mots incluent «Spring Boot», «Java 9», etc.
Recommended Posts