Software Craftsmanship L'art du code et de l'agilité technique en entreprise
Présentation
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.
Quizinclus dans
la version en ligne !
- Testez vos connaissances à l'issue de chaque chapitre
- Validez vos acquis
Table des matières
Avant-propos
- 1. Remerciements
- 2. Avatars
- 3. Introduction
Savoir-être
- 1. Introduction
- 2. Manifeste de l'artisan codeur
- 2.1 Élever le niveau
- 2.2 Artisan et non pas héros
- 2.3 Solutions économiquement viables
- 2.4 Savoir dire NON pour le bien de TOUS
- 3. Éthique et attitude codeur responsable
- 3.1 Zéro Mythos - Dire ce qu’on fait, faire ce qu’on dit
- 3.1.1 Osez dire : « je ne sais pas ». Ça vous grandira !
- 3.1.2 Définir ses priorités
- 3.1.3 Franchise et engagement
- 3.1.4 Communiquez, communiquez, communiquez
- 3.1 Zéro Mythos - Dire ce qu’on fait, faire ce qu’on dit
- 3.2 Respect - L’art et la manière de dire non au big boss
- 3.3 Cavern - TDD face à la glace
- 3.4 Le bon état d’esprit - Vous êtes une start-up
- 4.1 Rituels
- 4.1.1 TDD, BDD, ATDD, CTDD
- 4.1.2 Daily Stand Up
- 4.1.3 Réunions rétrospectives
- 4.2.1 Releases périodiques et fréquentes
- 4.2.2 Vision Client : Products Owners et utilisateurs
- 4.2.3 Performances en préproduction
- 4.3.1 Pull Requests et revue de code
- 4.3.2 Intégration et déploiement continu
- 4.4.1 Debug et profiling de Code
- 4.4.2 Sondes à l’expérience utilisateur
- 5.1 IDE - Environnement de développement intégré
- 5.2 Encore plus d’outils
- 5.3 Bonnes pratiques pro-DX
- 6.1 Takeaways
- 6.2 Actions et exercices pratiques
Savoir-faire
- 1. Introduction
- 2. TDD, au-delà du DD
- 2.1 Un cycle vertueux
- 2.2 TU et l’ironie du coût
- 2.3 Legacy : Refuse, Resist
- 2.4 Chacun sa bible
- 2.5 Bonnes pratiques et anti-patterns
- 3. BDD, encore du DD
- 3.1 Les origines [source]
- 3.2 Communication, collaboration, documentation
- 3.3 Ubiquitous Language, approche outillée
- 3.3.1 Cucumber - Aslak Hellesøy
- 3.3.2 Jasmine - Pivotal Software
- 3.3.3 Robot framework - Pekka Klärck, Janne Härkönen
- 3.4 Quelques bons réflexes
- 4.1 Agile Testing Manifesto
- 4.2 Test en Agile, de la phase à l’activité
- 4.3 Toast TK - Cultiver son ADN
- 4.4 Quelques bons réflexes
- 5.1 Security by design et by mindset
- 5.2 Cybersécurité - Piratage éthique
- 5.3 Performances
- 5.3.1 Complexité algorithmique
- 5.3.2 Gestion de mémoire
- 5.3.3 Performances en JavaScript
- 6.1 Takeaways
- 6.2 Actions et exercices pratiques
Savoir structurer
- 1. Introduction
- 2. Gestion de la dette technique
- 2.1 Codes smells les plus populaires - [wikipedia]
- 2.2 Une affaire personnelle : c’est mieux quand ça sent bon !
- 2.3 Une affaire d’équipe
- 2.4 La quête aux KPI
- 3. Initiation au DDD
- 3.1 Un jargon commun
- 3.2 Model - La base, le squelette, l’essence même
- 3.3 Instance - Donner vie au model
- 3.3.1 Langage omniprésent (Ubiquitous Language)
- 3.3.2 Continuous Integration
- 3.4 Layer - Séparer pour mieux régner
- 3.4.1 Bounded context
- 3.4.2 Modules
- 3.4.3 Context map
- 3.4.4 Shared kernel
- 3.4.5 Anti-corruption layer
- 3.4.6 Big Ball of Mud
- 3.5 DDD à bon escient
- 4.1 Principes SOLID - Martin Fowler et Robert C. Martin
- 4.2 clean architecture
- 4.3 Architecture Cloud : 12 facteurs de succès
- 4.4 Architecture émergente : JiT, Dry, Yagni et Kiss
- 5.1 Les origines du mal
- 5.2 La métaphore du toréador
- 5.3 Avoir un plan et des roues
- 5.4 Une histoire de trou noir
- 5.5 Bonnes pratiques
- 6.1 Takeaways
- 6.2 Actions et exercices pratiques
Savoir penser
- 1. Introduction
- 2. Veille techno. et non Vieille techno.
- 2.1 Veille active : open source, ami du craft
- 2.2 Veille passive : à flux détendu
- 2.3 Veille hybride : savoir s’entourer
- 2.3.1 Où sont les experts ?
- 2.3.2 Médias sociaux
- 2.3.3 Meetups et conférences
- 2.4 Un brin d’organisation
- 3.1 Jeff Bezos - Two-Pizzas
- 3.2 Chris Richardson - MicroServices.io
- 3.3 Greg Young - Event Sourcing & CQRS
- 3.4 Michael Geers - Micro Frontends
- 3.5 Martin Odersky - Scala
- 3.6 Andrew Ng - Coursera & IA
- 3.7 Martin Fowler - MartinFowler.com
- 3.8 Ainsi que...
- 4.1 Design Thinking
- 4.2 MVP - Minimum Viable Product
- 4.3 MVP et DX - Developer Experience
- 4.4 Pragmatisme et concentration - Keep Focus
- 5.1 Une histoire de dette technique
- 5.2 Une histoire d’APIfication du legacy
- 5.3 Une histoire de MVP
- 5.4 Une histoire de reconnaissance d’image
- 6.1 Takeaways
- 6.2 Actions et exercices pratiques
- 7.1 Réglage de classificateur
- 7.1.1 Métriques d’évaluation de classificateurs
- 7.1.2 Gestion des collections
Auteur
Sallah KOKAINAEn savoir plus
Ingénieur diplômé en informatique de l'Institut National des Sciences Appliquées de Lyon (INSA LYON), Sallah KOKAINA possède une expérience de plus de 10 ans en développement logiciel et en management de la qualité logicielle. Aujourd'hui Consultant et Expert Digital, il accompagne les entreprises dans leur transformation Agile, digitale et technique en Europe, aux USA et récemment en Afrique du Nord. En parallèle de ses activités professionnelles, il contribue au monde open source avec la création de Toast TK, un framework d'automatisation de tests qui aide à améliorer la qualité des applications dans les projets Agiles, et fonde la communauté Moroccan Software Crafters qui regroupe des passionnés du Software Craftsmanship désireux de partager leur connaissance et de contribuer à l'optimisation du niveau technique au Maroc.
Caractéristiques
- Niveau Initié à Confirmé
- Nombre de pages 282 pages
- Parution novembre 2019
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-02153-4
- EAN : 9782409021534
- Ref. ENI : DPCRAF
- Niveau Confirmé à Initié
- Parution novembre 2019
- HTML
- ISBN : 978-2-409-02154-1
- EAN : 9782409021541
- Ref. ENI : LNDPCRAF