Table des matières:
Votre organisation de développement logiciel fonctionne-t-elle comme elle le devrait? Il y a toujours place à l'amélioration, mais certaines organisations ont plus besoin d'aide que d'autres. Où que vous soyez sur le continuum, il est important d'identifier où vous devez aller et comment y arriver, car les organisations ont besoin d'une vision claire pour aider tout le monde à aller dans la même direction. Nous devons évaluer nos processus, notre technologie, notre gamme de produits, notre documentation, notre culture et nos employés eux-mêmes. Mais, à quoi les évaluons-nous? Comment mesurons-nous nos progrès? Je crois qu'il y a trois indicateurs clés pour évaluer une équipe ou une organisation, et si nous gardons ces choses au point, la productivité montera en flèche.
- Qualité
- Efficacité
- Équilibre
Regardons de près chacun d'eux.
Qualité
comment améliorer les affaires
Pixabay
La qualité est essentielle à chaque organisation. Ce mot s'applique à tout ce que nous faisons, pas seulement au nombre de défauts connus que nous avons dans notre logiciel. Imaginez ce que vous pouvez faire avec 40 heures de haute qualité - vous n'aurez peut-être pas besoin d'emprunter des nuits et des week-ends pour vous rattraper. Si vous écrivez un test automatisé, faites-en un bon qui ajoute de la valeur, sinon pourquoi s'embêter?
La collaboration est essentielle pour produire un livrable de qualité, car nos pairs verront des choses que nous ne voyons pas. Si quelque chose doit être bien fait, en particulier s'il s'agit du client, il est sage de laisser des yeux supplémentaires le regarder. Lorsque les rédacteurs veulent savoir si leurs articles sont de haute qualité, ils demandent des critiques parce qu'ils comprennent que le nombre est fort. Qu'il s'agisse de révisions de code, de programmation par paires ou simplement "Hé, pouvez-vous jeter un œil à ça?", Tirer parti des paires d'yeux supplémentaires tout autour de nous nous aidera à rester sur les rails.
Lorsque vous essayez d'améliorer la qualité du logiciel, je pense que le plus important est le test automatisé. Les cas de test manuels sont moins chers à créer que les cas de test automatisés. Cependant, les tests manuels sont beaucoup plus coûteux à exécuter, en particulier si vous devez effectuer de nombreuses passes pour tout tester sur plusieurs navigateurs, systèmes d'exploitation et types d'appareils. Les développeurs devraient faire des tests importants avec Karma, Spock ou JUnit, mais il devrait également y avoir des tests fonctionnels avec quelque chose comme Selenium, SOASTA ou Cucumber. Ce que vous recherchez vraiment avec tout cela, c'est la détection précoce des défauts, car plus vous vous éloignez du moment où le développeur a écrit le code, plus il faut de travail pour résoudre un problème. Il est beaucoup plus facile de résoudre un défaut de code que j'ai écrit hier que celui que j'ai écrit il y a 3 à 6 semaines.
Efficacité
Amélioration des processus d'affaires
Pixabay
Mettre l'accent sur l'efficacité vous permet de rationaliser votre organisation et de minimiser l'effort requis pour effectuer chaque tâche. Les processus reproductibles devenus une seconde nature nécessitent beaucoup moins d'efforts. L'automatisation joue également un rôle majeur dans l'efficacité, car vous voulez que les employés se concentrent sur des tâches qui ne sont pas répétitives et nécessitent de la cervelle (rédaction, codage, conception, planification, etc.). Une fois que le code est prêt, l'automatisation doit prendre le relais afin que le code soit construit, testé et déployé automatiquement. Le même processus de déploiement automatisé doit gérer chaque environnement ultérieur, y compris la production. Les déploiements faciles permettent des livraisons plus fréquentes en production afin que vous puissiez être beaucoup plus réactif aux besoins de l'entreprise.
Il est important que chaque membre de l'organisation évalue le type de choses qu'il fait manuellement. Ces choses peuvent-elles être rationalisées ou automatisées? Si vous le faites beaucoup, c'est probablement un bon candidat pour l'automatisation. Dans certains cas, nous devons simplement redéfinir nos processus pour éliminer les étapes inutiles. Dans d'autres, nous devons identifier de meilleurs outils qui automatisent ou accélèrent davantage ce que nous faisons chaque jour.
Les outils de gestion des tickets comme Quality Center ou Jira doivent également être évalués. Quelles métriques suivez-vous? Quels rapports générez-vous? Passez-vous beaucoup de temps dans Excel chaque semaine à obtenir les chiffres que vous devez envoyer à l'équipe de direction? Pour les équipes agiles, comment calculez-vous la vitesse de votre équipe? Votre outil le gère-t-il pour vous? Recherchez des outils qui vous font économiser des efforts (par exemple, la version 1) plutôt que de simplement faire ce que vous savez.
Équilibre
processus logiciel
Pixabay
L'équilibre est un élément essentiel de l'efficacité de votre organisation. Vous pourriez penser à votre organisation comme à un voilier. Si le bateau est déséquilibré, il y aura de la traînée qui le fera ralentir dans l'eau. En outre, le gouvernail peut ne pas fonctionner correctement, ce qui rend la rotation du bateau beaucoup plus difficile. Lorsque les humains font des erreurs, ils compensent souvent en se précipitant du «côté opposé du bateau». Lorsque les entreprises de logiciels endurent de la douleur et de la souffrance parce que leur produit est sorti sans tests ou planification suffisants, elles courent souvent rapidement et furieusement vers les processus lourds, les portes d'approbation et la paralysie de l'analyse. Ils courent d'un problème dans les bras en attente d'un autre.
"Quelle quantité de documentation devrait être requise?" N'écrivez que ce qui est nécessaire pour que les gens comprennent ce qui doit être fait. Si la documentation est rédigée pour satisfaire une porte d'approbation ou cochez une case, nous devrions probablement faire une pause et déterminer si c'est nécessaire. "Combien de processus est nécessaire?" Juste assez. "Combien de temps faut-il consacrer à l'architecture et à la conception?" Juste assez. Bien que les retouches soient certainement inefficaces, il est parfois préférable de reporter la solution réelle et de mettre en œuvre une solution rapide afin de Soyez à l'écoute des besoins urgents de vos clients. La vie est un exercice d'équilibre. Cela s'applique à tout ce que nous faisons en tant qu'entreprise. Boucle d'or cherchait désespérément un équilibre. Peut-être que nous devrions aussi.
Améliorer le développement
Nous voulons tous que nos vies soient meilleures. Nous voulons des livraisons plus faciles, des transitions plus fluides, des équipes plus heureuses et des clients satisfaits, avec un minimum de douleur et de souffrance. Lorsque nous commençons à voir notre organisation à travers ces trois lentilles, cela nous aide à évaluer et à prioriser les changements. Il concentre notre attention sur les types de changements qui bénéficieront réellement à l'organisation et l'aideront à mieux fonctionner. Vous serez plus maigre et plus méchant, donc avec le temps, vous verrez augmenter la productivité tandis que le stress et la frustration diminuent.
La qualité, l'efficacité et l'équilibre aboutissent en fin de compte à quelque chose que chaque organisation cherche à atteindre: la vitesse. Nous voulons la rapidité de mise sur le marché, la réactivité envers nos clients et la possibilité d'allumer un sou, mais y parvenir n'est pas intuitif. «Embauchons simplement plus de personnes pour que nous puissions aller très vite! Ajouter beaucoup de gens vous aidera certainement à aller très vite, malheureusement parfois ils vous aident à aller très vite dans le fossé. Un collègue avisé m'a dit un jour qu'il fallait ralentir pour aller plus vite, et c'est absolument vrai. La vitesse nécessite une réflexion et des efforts en amont, en particulier dans le domaine de l'automatisation. Si vous prenez le temps d'assurer la qualité, l'efficacité et l'équilibre, vous irez vite naturellement. Rugissez comme un lion, sprintez comme une gazelle.
© 2017 Mike Shoemake