• Aide
  • Eurêkoi Eurêkoi

Livre

Software craftsmanship : l'art du code et de l'agilité technique en entreprise

Auteur(s) : Kokaina, Sallah

Résumé

Une présentation des bonnes pratiques de conception logicielle en entreprise au travers de notions techniques fondamentales, d'exercices et d'anecdotes. L'ouvrage aborde l'utilisation agile des outils et des technologies logicielles disponibles, les principes de programmation pour créer des applications de qualité ainsi que diverses compétences pour tendre vers l'excellence technique. ©Electre 2019


  • Éditeur(s)
  • Date
    • 2019
  • Notes
    • Index
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (282 p.) : illustrations en noir et blanc ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02153-4
  • Indice
  • Quatrième de couverture
    • Software Craftsmanship

      L'art du code et de l'agilité technique en entreprise

      Au cours de ces dernières décennies, les pratiques et outils de développement se sont nettement transformés pour permettre à l'entreprise de livrer mieux et plus rapidement ses applications. Avec ces nouvelles pratiques, l'art de coder prend toute son importance. Qu'est-ce qui fait qu'un développeur est mieux formé qu'un autre ? Qu'une équipe utilise une librairie de code mieux qu'une autre ? Qu'une entreprise réalise un logiciel mieux qu'une autre ? : le Software Craftsmanship.

      Rédigé comme le journal d'un aspirant à l'excellence technique, ce livre a pour objectif d'initier avec consistance les développeurs ou professionnels IT aux pratiques du Software Craftsmanship qui, au-delà d'un manifeste d'excellence technique, est surtout un état d'esprit à adopter.

      Agrémentée d'anecdotes, d'exercices, de convictions techniques et de restitutions diverses sur des principes clés du monde informatique, la lecture est rythmée par quatre parties qui stimulent le savoir-être, le savoir-faire, le savoir-structurer et le savoir-penser nécessaires pour une bonne conception logicielle.

      Au fil des pages, le lecteur intègre ainsi la posture d'un artisan du code et découvre les compétences nécessaires pour agir en professionnel du code. Il apprend à utiliser à bon escient les outils et technologies logicielles en mode Agile, étudie les principes de programmation clés pour créer des applications de qualité, comprend l'importance des tests dans la réalisation des projets, découvre les ingrédients permettant de créer une architecture robuste et maintenable ou encore les réflexes à avoir pour maintenir la vitalité technique dans un modèle de déploiement continu.


  • Tables des matières
      • Software

      • Craftsmanship

      • L'art du code et de l'agilité technique en entreprise

      • Avant-propos
      • 1. Remerciements7
      • 2. Avatars10
      • 3. Introduction11
      • Chapitre 1
        Savoir-être
      • 1. Introduction15
      • 2. Manifeste de l'artisan codeur16
      • 2.1 Élever le niveau18
      • 2.2 Artisan et non pas héros19
      • 2.3 Solutions économiquement viables20
      • 2.4 Savoir dire Non pour le bien de Tous21
      • 3. Éthique et attitude codeur responsable22
      • 3.1 Zéro Mythos - Dire ce qu'on fait, faire ce qu'on dit25
      • 3.1.1 Osez dire : « je ne sais pas » Ça vous grandira !25
      • 3.1.2 Définir ses priorités26
      • 3.1.3 Franchise et engagement27
      • 3.1.4 Communiquez, communiquez, communiquez28
      • 3.2 Respect - L'art et la manière de dire non au big boss29
      • 3.3 Cavern - TDD face à la glace31
      • 3.4 Le bon état d'esprit - Vous êtes une start-up35
      • 4. Agile, feedback en continu36
      • 4.1 Rituels38
      • 4.1.1 TDD, BDD, ATDD, CTDD38
      • 4.1.2 Daily Stand Up38
      • 4.1.3 Réunions rétrospectives39
      • 4.2 Réflexes39
      • 4.2.1 Releases périodiques et fréquentes39
      • 4.2.2 Vision Client : Products Owners et utilisateurs40
      • 4.2.3 Performances en préproduction40
      • 4.3 Automatisation41
      • 4.3.1 Pull Requests et revue de code41
      • 4.3.2 Intégration et déploiement continu42
      • 4.4 Outils42
      • 4.4.1 Debug et profiling de Code42
      • 4.4.2 Sondes à l'expérience utilisateur42
      • 5. Outillage Craft et DX43
      • 5.1 IDE - Environnement de développement intégré45
      • 5.2 Encore plus d'outils59
      • 5.3 Bonnes pratiques pro-DX62
      • 6. Synthèse et exercices64
      • 6.1 Takeaways64
      • 6.2 Actions et exercices pratiques67
      • Chapitre 2
        Savoir-faire
      • 1. Introduction69
      • 2. TDD, au-delà du DD70
      • 2.1 Un cycle vertueux72
      • 2.2 TU et l'ironie du coût75
      • 2.3 Legacy : Refuse, Resist77
      • 2.4 Chacun sa bible79
      • 2.5 Bonnes pratiques et anti-patterns80
      • 3. BDD, encore du DD81
      • 3.1 Les origines [source]82
      • 3.2 Communication, collaboration, documentation84
      • 3.3 Ubiquitous Language, approche outillée87
      • 3.3.1 Cucumber - Aslak Helles(...)y88
      • 3.3.2 Jasmine - Pivotal Software89
      • 3.3.3 Robot framework - Pekka Kläck, Janne Härkönen90
      • 3.4 Quelques bons réflexes91
      • 4. Agile Testing94
      • 4.1 Agile Testing Manifesto96
      • 4.2 Test en Agile, de la phase à l'activité97
      • 4.3 Toast TK - Cultiver son ADN102
      • 4.4 Quelques bons réflexes103
      • 5. Performance et sécurité107
      • 5.1 Security by design et by mindset109
      • 5.2 Cybersécurité - Piratage éthique112
      • 5.3 Performances116
      • 5.3.1 Complexité algorithmique116
      • 5.3.2 Gestion de mémoire118
      • 5.3.3 Performances en JavaScript119
      • 5.4 Performance orientée Monitoring et Programming patterns123
      • 5.5 Quinze healthy checks126
      • 6. Synthèse et exercices128
      • 6.1 Takeaways128
      • 6.2 Actions et exercices pratiques131
      • Chapitre 3
        Savoir structurer
      • 1. Introduction133
      • 2. Gestion de la dette technique135
      • 2.1 Codes smells les plus populaires - [wikipedia]137
      • 2.2 Une affaire personnelle : c'est mieux quand ça sent bon !139
      • 2.3 Une affaire d'équipe142
      • 2.4 La quête aux KPI144
      • 3. Initiation au DDD147
      • 3.1 Un jargon commun149
      • 3.2 Model - La base, le squelette, l'essence même151
      • 3.3 Instance - Donner vie au model153
      • 3.3.1 Instance omniprésent (Ubiquitous Language)154
      • 3.3.2 Continuous Integration156
      • 3.4 Layer - Séparer pour mieux régner156
      • 3.4.1 Bounded context157
      • 3.4.2 Modules157
      • 3.4.3 Context map158
      • 3.4.4 Shared kernel159
      • 3.4.5 Anti-corruption layer159
      • 3.4.6 Big Ball of Mud160
      • 3.5 DDD à bon escient161
      • 4. Architecture propre et solide162
      • 4.1 Principes Solid - Martin Fowler et Robert C. Martin164
      • 4.2 clean architecture172
      • 4.3 Architecture Cloud : 12 facteurs de succès178
      • 4.4 Architecture émergente : JiT, Dry, Yagni et Kiss182
      • 5. Gestion du Legacy187
      • 5.1 Les origines du mal189
      • 5.2 La métaphore du toréador194
      • 5.3 Avoir un plan et des roues196
      • 5.4 Une histoire de trou noir200
      • 5.5 Bonnes pratiques202
      • 6. Synthèse et exercices204
      • 6.1 Takeaways204
      • 6.2 Actions et exercices pratiques205
      • Chapitre 4
        Savoir penser
      • 1. Introduction207
      • 2. Veille techno. et non Vieille techno208
      • 2.1 Veille active : open source, ami du caft210
      • 2.2 Veille passive : à flux détendu212
      • 2.3 Veille hybride : savoir s'entourer214
      • 2.3.1 Où sont les experts ?214
      • 2.3.2 Médias sociaux214
      • 2.3.3 Meetups et conférences215
      • 2.4 Un brin d'organisation216
      • 3. Qui est Martin Fowler ?217
      • 3.1 Jeff Bezos - Two-Pizzas219
      • 3.2 Chris Richardson-MicroServices.io220
      • 3.3 Greg Young-Event Sourcing et CQRS222
      • 3.4 Michael Geers - Micro Frontends224
      • 3.5 Martin Odersky - Scala225
      • 3.6 Andrew Ng - Coursera et IA226
      • 3.7 Martin Fowler - MartinFowler.com227
      • 3.8 Ainsi que228
      • 4. Chraftsmanship Thinking229
      • 4.1 Design Thinking231
      • 4.2 MVP - Minimum Viable Product237
      • 4.3 MVP et DX - Developer Experience239
      • 4.4 Pragmatisme et concentration - Keep Focus241
      • 5. Think First, Act Last243
      • 5.1 Une histoire de dette technique245
      • 5.2 Une histoire d'APIfication du legacy248
      • 5.3 Une histoire de MVP250
      • 5.4 Une histoire de reconnaissance d'image251
      • 6. Synthèse et exercices253
      • 6.1 Takeaways253
      • 6.2 Actions et exercices pratiques254
      • 7. Bonus - Craft appliqué au Machine Learning255
      • 7.1 Réglage de classificateur256
      • 7.1.1 Métriques d'évaluation de classificateurs257
      • 7.1.2 Gestion des collections258
      • 7.2 Analyses difformes et classifications262
      • 7.3 Distributions non uniformes263
      • 7.4 Modes d'apprentissage267
      • Index271

  • Origine de la notice:
    • Electre
  • Disponible - 652.4 KOK

    Niveau 3 - Gestion