Ressources
- Software Craft - 14.1 Attitudes et aptitudes
Lâattitude parle de la façon dont nous faisons les choses, tandis que lâaptitude (ou les aptitudes) indique les choses que nous sommes capables de faire
Il est utile, pour analyser lâessence du craft, de distinguer entre attitudes et aptitudes.
-
Les aptitudes sont les capacitĂ©s Ă produire un travail; par exemple, savoir Ă©crire est une aptitude, en gĂ©nĂ©ral apprise Ă lâĂ©cole.
-
les attitudes en revanche sont la façon dont on se comporte lorsquâon utilise ses aptitudes. Avec la mĂȘme aptitude de savoir Ă©crire, vous pouvez Ă©crire avec des attitudes diffĂ©rentes :
- «écrire de façon concise», avec comme attitude de chercher lâefïŹcacitĂ©
- «écrire de façon pompeuse», avec cette fois lâattitude de chercher Ă impressionner.
% notice style=âwarningâ title=â â icon=â â % En logiciel, les aptitudes reprĂ©sente la capacitĂ© Ă programmer, la familiaritĂ© avec des technologies, outils ou frameworks.
Par-dessus ces aptitudes, le craft est un ensemble dâattitudes adaptĂ©es aux enjeux des logiciels actuels. % /notice %
Les attitudes-clés du craft
-
Commencer par le but Ă atteindre, ce qui se retrouve de façon Ă©vidente dans le dĂ©veloppement dirigĂ© par les tests, avec lâimpĂ©ratif dâĂ©crire le test avant dâĂ©crire le code, oĂč le test est considĂ©rĂ© comme le but Ă atteindre.
-
Collaborer en continu dĂšs le dĂ©but, une idĂ©e au cĆur du dĂ©veloppement dirigĂ© par le comportement (BDD) avec la pratique des ateliers de spĂ©cifications entre les 3 amigos.
-
Collaborer au travers dâartefacts expressifs, une injonction au cĆur du Clean Code avec lâimportance accordĂ©e Ă rendre le code lisible, notamment par le nommage du code et des tests, entre autres principes.
-
Limiter la taille des artefacts, Ă petite Ă©chelle avec la dĂ©composition en mĂ©thodes courtes et les rĂšgles des objets callisthĂ©niques, Ă lâĂ©chelle des classes, ou Ă grande Ă©chelle avec les modules ou microservices de taille limitĂ©e.
-
Des façons de faire contextuelles, et donc différentes selon les contextes. Par exemple, une technique de test telle que le Record-Playback, réputée peu maintenable, est contre-indiquée pour une utilisation pérenne, mais se révÚle pourtant nécessaire comme une étape temporaire de mise sous test initiale de code legacy.
-
Avancer par petits pas, les baby steps propres au développement dirigé par les tests (TDD) ou à la planification agile en itérations (Scrum).
-
Chercher le feedback rapide (prouver la valeur en prioritĂ©, ou identifier les problĂšmes), avec lâimpĂ©ratif de faire passer les tests (ou les garder passants) au plus vite avant tout refactoring en dĂ©veloppement dirigĂ© par les tests (TDD).
-
Rechercher la simplicitĂ©, comme illustrĂ© Ă merveille par les quatre rĂšgles de design simple de Kent Beck et lâinjonction Keep It Simple and Stupid! (KISS).