Bon j'ai pas tout lu mais j'ai vu que ça parlait d'OS, de firmware, de dev et de tests, d'agile avec parfois des mélanges...
Aujourd'hui on a tout intérêt à développer en logique plateforme notamment pour les BSP, et fournir une API commune.
Il faut pouvoir rationaliser, factoriser et automatiser au maximum les tests, si on a que du spécifique c'est cuit et on y perd en maintenabilité.
Bien sûr que les outillages de DevSec sont mutualisés avec un repository commun du code et de la doc et des tests. Dans le repository, il y a les versions et les plateformes. Mais on compile en firmwares individuels en sortie. API et Drivers font partie des tests d'intégration.
On en est pas à un niveau OS dans les boitiers car cela demanderait trop de puissance actuellement, c'est pour cela qu'il y a des versions de firmware dédié par matériel. Cependant Nikon reste constant sur l'organisation des menus.
Dans un boitier, il y mine de rien pas mal de différences matériels et de fonctions par boitier : Les capteurs , les horloges, les retros éclairages, les viseurs, les liveview, les grips, les GPS, le réseau, les ports USB, les stockages, les codecs, les miroirs, les batteries, le nombre de boutons de fonction etc.
Rien qu'entre un Zf et un Z8, il y a le même processeur mais pas le même capteur, ni en vitesse, ni en type de capteur, un est tout électronique et l'autre a encore un miroir. Tout cela implique des fonctionnements différents au niveau des traitements de l'image. Entre un Z9 et un Z8, il y a un port RJ45 et un grip, pas la même batterie, un GPS. etc etc.
Ensuite développer en mode Agile est une méthode pour faire de l'évolution continue de fonctionnalités. Les derniers propos de Nikon à CP+ montre qu'ils font un effort particulier sur le développement continu des firmware des boitiers jusqu'aux limites matériels d'une génération de boitier.
Et encore Nikon n'est pas le constructeur qui a le plus de boitiers dans sa gamme et avec un taux de renouvellement le plus élevé du marché.