Fermer

avril 26, 2021

Meilleures pratiques en matière de développement logiciel – Partie 4


Faites les choses différemment et amusez-vous pendant que vous les faites.

J'ai interviewé neuf personnes derrière les produits DevTools / Telerik / Kendo UI de Progress pour en savoir plus sur les philosophies qui guident le développement de notre logiciel . Qu'est-ce qui guide notre travail, pourquoi ces processus sont-ils importants pour nous et comment pouvez-vous apprendre de nos propres meilleures pratiques internes?

Dans Part 1 nous avons cherché à comprendre le problème que vous essayez de résoudre avant vous commencez à coder une solution. Dans Partie 2 nous avons appris l'importance d'écouter vos clients. Dans Partie 3 nous avons entendu parler du rôle du travail d'équipe. Aujourd'hui, nous allons en savoir plus sur la façon de faire les choses différemment et de s'amuser.

N'ayez pas peur de faire les choses différemment

Progress ne souscrit pas nécessairement à une méthodologie en particulier. Nous permettons une grande autonomie entre nos équipes. Et nous n'avons pas peur de l'échec.

Permettez la flexibilité pour que les équipes puissent fonctionner au mieux

J'ai été fasciné d'apprendre comment chaque équipe produit décide des rôles pour lesquels elle embauche et de ce qui est le plus logique pour sa structure.

Genady Sergeev — Directeur, Génie logiciel; Développement de produits d'outillage pour développeurs

 Genady-Sergeev "title =" Genady-Sergeev "style =" float: left; marge inférieure: 10px; margin-right: 20px; "/> La partie autonome de notre processus de développement logiciel est constituée par les équipes d'ingénierie. Nous avons déterminé que chaque équipe pourra choisir la manière dont elle se structure.</p data-recalc-dims=

Certaines équipes ne disposent pas de QAroles. Elles résoudre les problèmes de test par d'autres moyens qui conviennent le mieux à leur équipe particulière. Les autres équipes n'ont pas de développeurs frontaux. Elles ont des professionnels qualifiés qui peuvent coder sur l'ensemble de la pile. Je pense que c'est ce qui permet aux équipes d'ingénierie d'être les plus productives, car il prend en compte les forces que chaque individu de l'équipe peut apporter, et évidemment celles-ci sont différentes d'une équipe à l'autre. Je crois que ce niveau d'autonomisation est ce qui peut garantir un très bon rendement.

 Rossitza-Fakalieva "title =" Rossitza-Fakalieva "style =" float: right; margin-bottom: 10px; margin-left: 20px; "/><p data-recalc-dims= Rossitza Fakalieva – Directrice, Génie logiciel; Développeur Tooling Product Development

Nous construisons des produits et non des projets, et je crois que c'est une partie très importante de notre façon de faire les choses. Nos équipes sont séparées par des produits. Ainsi, chaque équipe a des rôles différents selon les besoins pour être un seul produit de construction d'unité. C’est pourquoi nous travaillons généralement sur des itérations une fois par semaine ou toutes les deux semaines. Nous avons des réunions de planification en début de semaine et des réunions quotidiennes également pour se synchroniser sur l'avancement des travaux.

Pavlina Hadzhieva — Gestionnaire principale, Génie logiciel; Composants et outils Web

 Pavlina-Hadzhieva "title =" Pavlina-Hadzhieva "style =" float: left; marge inférieure: 10px; margin-right: 20px; "/> Il est important d'avoir la liberté d'ajuster les processus en fonction du produit ou de l'équipe en fonction des besoins. Dans notre division, nous avons des produits matures, des produits en développement actif en ce moment et totalement nouveaux et innovants</p data-recalc-dims=

Avec cela, la taille des équipes est différente. Il y a des équipes avec de nombreuses personnes dans des postes et des rôles différents comme des ingénieurs logiciels et de support, des frontends, des QA, etc. Il y a des équipes plus petites avec uniquement un support, disons, et ainsi de suite. les processus ne peuvent pas être égaux. Il suffit de les ajuster en fonction du besoin spécifique.

Bien sûr, nous avons des pratiques et des processus communs qui sont suivis dans l'entreprise. Les équipes sont toujours prêtes à partager des pratiques efficaces et vous pouvez les utiliser le cas échéant dans votre contexte.

Vous pouvez toujours suggérer une amélioration du processus existant ou même en créer un nouveau si vous avez identifié un tel besoin. pouvez améliorer ceux qui existent déjà et peut aider l'équipe, même la division, à mieux réussir sans craindre l'échec. C'est vraiment inestimable. Comme nous le savons, des contributions proactives comme celle-ci sont essentielles à la réussite de l'entreprise.

Trouvez les méthodes qui fonctionnent et continuez à vous adapter

En lien avec les conseils de l'article précédent, recherchez toujours les opportunités d'amélioration, restez au courant de ce qui se passe dans votre industrie. Apprendre de nouvelles choses. Adapter. Tout le reste est en train de changer, et vous devez aussi le faire!

Maria Veledinova – Chef de produit; Outils de développement PM & PMK

 Maria-Veledinova "title =" Maria-Veledinova "style =" float: gauche; marge inférieure: 10px; margin-right: 20px; "/> Bien que nous essayions d'être stricts et organisés, nous ne suivons pas un certain cadre. Vous pouvez souvent entendre une équipe dire, par exemple, que nous sommes agiles ou que nous sommes DevOps ou nous sommes… Pour ce qui est de la façon dont nous construisons un produit, je pense que nous essayons de combiner, mélanger, expérimenter et voir ce qui fonctionne pour nous afin que nous puissions construire notre propre cadre ou notre façon de faire les choses.</p data-recalc-dims=

Ce n'est pas seulement pour la création de logiciels, mais aussi la façon dont nous abordons les pratiques de gestion de produit. Nous sommes assez flexibles quant à la façon dont nous faisons les choses. Nous pouvons combiner certaines notions de marketing avec des pratiques d'ingénierie bien connues. Ou nous pourrions dire: vous allez combiner les personnalités des utilisateurs / des acheteurs avec une sorte de branding de l'histoire. »

Et ce qui est peut-être surprenant, c'est que, parce que nous sommes une si grande organisation, des personnes extérieures pourraient penser que nous avons des croyances limitantes, que les grandes organisations areslowor il doit y avoir beaucoup de bureaucratie ou beaucoup de processus à suivre w. En fait, nous sommes extrêmement flexibles et chaque équipe agit souvent comme sa propre petite startup.

Nous avons la flexibilité de choisir comment travailler et quels outils utiliser, pour fournir des idées, pour être en mesure de contribuer avec nos propres idées et en fait les mettre en œuvre. Bien que nous soyons énormes en taille et en nombre de clients et même en portefeuille de produits, nous gardons une sorte de mentalité de démarrage ou de flexibilité des petites entreprises.

Genady Sergeev — Directeur, Génie logiciel; Développement de produits d'outillage pour développeurs

Nous ne suivons pas un seul processus. Notre industrie change tout le temps, et nous devons changer la façon dont nous construisons des logiciels au même rythme que le rythme de l'industrie. Sinon, nous finirons par utiliser des approches qui finiront par nous gêner. De nouveaux outils et pratiques émergent toutes les quelques années et d'autres perdent leur faveur. Nous essayons d'adapter et de conserver ce qui fonctionne et de rejeter ce qui ne fonctionne pas.

J'essaie d'être et d'inspirer les autres à être informés des développements qui se produisent dans le contexte du Web, qui est notre domaine d'intérêt. Je préférerais toujours que nous soyons proactifs plutôt que réactifs.

Le meilleur conseil que je puisse donner sur le sujet est de toujours en apprendre davantage sur le contexte. Quel est le contexte de l'industrie? Qui sont les gros joueurs? Dans quelle mesure ce produit particulier vous intéresse-t-il? Essayez de découvrir quels sont les développements historiques majeurs qui se sont produits ces dernières années et qui ont façonné l'état actuel des choses. Par exemple, pour le Web, ce serait l'avènement des applications à page unique il y a cinq ans. Alors qu'était-ce avant les applications d'une seule page? Si vous lisez ces développements, vous pouvez vraiment rassembler des connaissances qui vous aideront à prendre des décisions éclairées et à deviner ce qui va suivre et à vous positionner en avance sur les choses, ce qui est toujours mieux que d'être réactif et toujours au fait des tendances. [19659030] N'ayez pas peur d'échouer

En cherchant ces chances de vous améliorer et de vous adapter, faites-le courageusement.

 Petya-Sotirova "title =" Petya-Sotirova "style =" float : la gauche; marge inférieure: 10px; margin-right: 20px; "/> Petya Sotirova — Senior Manager, Technical Support; Developer Tooling Product Development </strong data-recalc-dims=

Je dirais que chez Progress, nous n'avons pas peur d'expérimenter et d'essayer de nouvelles choses.

Et nous sommes également tout à fait préparés à l’échec et n’en avons pas peur. C'est ainsi que vous apprenez.

Vesko Kolev — VP, Product; Developer Tooling BU

Thething about our culture that Je pense que fait de Progress un excellent endroit pour construire tout ce que vous construisez, c'est que nous utilisons la mentalité de croissance.

 Vesko-Kolev "title =" Vesko-Kolev "style =" float: right; margin-bottom: 10px; margin-left: 20px; "/> Il y a environ 20 ans, une professeure de psychologie à l'Université de Stanford, Carol Dweck, définissait dans sa recherche deux types d'états d'esprit: l'état d'esprit fixe et l'état d'esprit de croissance. Et la différence dans ces mentalités est la façon dont vous regardez vos capacités. L'état d'esprit fixe ressemble aux capacités comme des portraits fixes, vous êtes donc aussi intelligent que vous l'êtes et c'est tout - vous ne pouvez rien y faire; tandis que l'état d'esprit de croissance dit, vous êtes ce que vous êtes, mais vous pouvez développer tout ce que vous voulez tant que vous êtes prêt à faire des efforts.</p data-recalc-dims=

Et cette petite différence de perspectives a de grandes implications sur les choses, en particulier sur la façon dont vous voyez échec. Donc, si vous croyez à l'état d'esprit fixe, «Ifail» signifie que je suis un échec parce que je ne peux rien faire pour changer cela; alors que si vous utilisez la mentalité de croissance, vous dites: «J'ai échoué, donc j'ai quelque chose dont je peux apprendre.» Et cette différence dans la perception de l'échec conduit à: quelles sont les choses que vous essayez, et quelle est la responsabilité que vous assumez?

Si vous utilisez l'état d'esprit fixe, vous faites tout ce que vous pouvez pour ne pas faire des erreurs. Tout ce qui ne va pas ou a échoué est excusé par des conditions extérieures, ce qui est exactement le contraire lorsque vous avez la mentalité de croissance. Lorsque vous avez la mentalité de croissance, ce n’est absolument pas un problème pour vous d’assumer la responsabilité de votre vie, de tout ce qui se passe en vous. C’est parfois difficile, mais stimulant parce que vous avez le contrôle. Dans un environnement de type croissance, la politique disparaît parce que le pointage du doigt s'arrête. Notre façon est, tout d'abord, d'être très clair sur ce que nous voulons réaliser, non pas en termes de rendement, mais en termes de résultats. Que voulons-nous accomplir? Cela semblera cliché, mais je pense que c'est vrai: comment pouvons-nous améliorer la vie des gens autour de nous, de manière significative, d'une manière dont nous pouvons être fiers?

C'est la deuxième chose très importante: nous sommes missionnaires, pas mercenaires. C'est une très grande différence pour moi, et cela conduit à la conséquence suivante, qui est: Notre mission est quelque chose avec lequel nous sommes profondément liés, et cela se traduit par des gens qui ne viennent pas seulement pour obtenir leur salaire ou leurs primes. Ils sont ici pour gagner, et pas seulement pour gagner, mais pour gagner gros.

Oui, l'échec est inconfortable, mais il y a aussi une grande valeur dans l'échec parce que c'est l'occasion d'apprendre. Ainsi, la manière de construire un logiciel chez Progress est de fixer des objectifs clairs et ambitieux qui ont la partie aspirante mais aussi la partie mesurable. Et nous nous efforçons avec notre cœur et notre cerveau d'y parvenir sans crainte. En fait, ce n’est pas sans peur. C’est comme être courageux – vous pourriez avoir peur, mais être courageux signifie continuer quelles que soient les peurs.

Bien sûr, nous aimons la technologie et nous aimons les produits de construction. Mais je pense que notre priorité est dans le contexte de la mission. Nous avons des objectifs clairs de gagner gros en ayant un impact significatif sur le monde et d'aimer les problèmes et les bloqueurs que nous débloquons, pas la solution.

Pavlina Hadzhieva — Senior Manager, Software Engineering; Composants et outils Web

Ce n’est pas facile. Il est difficile. Mais si vous abandonnez, rien ne se passera, vous devriez donc réessayer. Et oui, vous pouvez échouer, mais essayez à nouveau, et finalement vous réussirez. Il est vraiment important de ne pas abandonner.

J'ai eu des situations dans lesquelles je ne sais pas quoi faire, comment y faire face. Et je me dis: «Je ne peux pas. Vraiment, c’est impossible. Il n'y a aucun moyen d'y faire face. » Et une fois que cette émotion a disparu, vous vous dites: "OK, laissez-moi voir, qu'est-ce que Ido? Que puis-je essayer maintenant? » Youtriedune chose; si cela ne fonctionne pas, un autre et un autre, et vous pouvez réussir.

L’important est de ne pas faire deux fois la même erreur – d’apprendre de vos erreurs. Ensuite, il est certain que vous deviendrez une meilleure version de vous-même pour la prochaine fois.

Amusez-vous

Il est très clair en parlant avec l'une de ces neuf personnes que le travail est quelque chose à apprécier.

 Todor-Mitev "title =" Todor-Mitev "style =" float: gauche; marge inférieure: 10px; margin-right: 20px; "/> Todor Mitev — Software Engineer, Principal; Unite UX </strong data-recalc-dims=

Havefun.Have on all the time. Parce que si vous ne vous amusez pas? Je ne peux pas l'imaginer. applicable pour tout emploi, je pense. Si vous êtes médecin, vous devriez vous amuser. Bien sûr, il y aura des difficultés et des moments difficiles, mais à la fin, nous ne devrions jamais cesser de nous amuser et de profiter de tout le voyage.

Finale Récapitulation

Je vais laisser Vesko résumer cette série pour nous. Je n'exagère pas quand je vous dis que ma conversation avec lui a changé mon propre cours et m'a aidé à prendre des décisions difficiles. J'espère que vous trouverez

Vesko Kolev — VP, Product; Developer Tooling BU

La première chose est d'utiliser la mentalité de croissance. La deuxième chose est d'avoir clarifier pourquoi il est important de travailler sur tout ce sur quoi vous travaillez. Et enfin, maintenant que vous voulez réaliser cette grande chose, vous amuser pendant que vous faites

C'est probablement la première chose que je dis à tout le monde, en particulier dans l'industrie du logiciel. Il y a tellement de choses que vous cando. Vous pouvez travailler sur des fusées. Vous pouvez travailler sur des voitures autonomes. Vous pouvez travailler sur tout ce sur quoi vous voulez travailler. Le point essentiel est: Soyez responsable avec la seule chose que vous possédez, qui est votre temps. Cela signifie que lorsque vous venez travailler, assurez-vous de l'avoir choisi.

Si vous avez de grands objectifs, il sera inévitablement difficile d'atteindre ces objectifs, n'est-ce pas? Et si vous ne vous associez pas profondément à cette mission, alors cela devient impossible. Donc, avoir du plaisir est quelque chose que je demande vraiment à moi-même et je m'efforce de créer un tel environnement autour du méto-travail.




Source link