Une entreprise doit-elle structurer le développement mobile avec une seule équipe mobile ou des équipes iOS et Android distinctes ?


C'est juste au cas par cas. En tant que développeur mobile a travaillé pour des entreprises de technologie pendant plusieurs années, je voudrais partager mon expérience comme comment l'industrie forme l'équipe mobile:

  1. Pour une petite application, ou une application à son stade précoce, je recommanderais une seule équipe avec les ingénieurs Android et iOS. Ceci est basé sur deux raisons - d'abord, nous devons nous assurer que Android et iOS sont sur la même page et partagent autant de connaissances communes que possible ; ainsi, une équipe unifiée serait bénéfique pour la communication et l'efficacité du travail. Deuxièmement, il est utile pour les ingénieurs d'avoir une vue d'ensemble, et c'est aussi le cas pour les dirigeants. De cette façon, les ingénieurs iOS pourraient être des renforts pour le côté Android et vice versa. C'est très courant pour une startup dans les silicon valleys comme Coursera.
  2. Pour une application hybride utilisant une technologie multiplateforme, il n'y a pas d'autre choix qu'une équipe mobile unifiée. Cela est dû au fait qu'il n'y a pas de différence entre les versions iOS et Android. Au contraire, chaque membre de l'équipe travaille sur une seule base de code unifiée (elle sera compilée en deux produits partageant presque exactement les mêmes fonctionnalités sur iOS/Android) avec la même technologie. L'exemple très classique est l'équipe de gestion des annonces chez Facebook.
  3. Pour une application de taille moyenne, par exemple Zillow, il est recommandé d'avoir des équipes iOS et Android séparées. Cela est dû au fait que chaque plateforme a ses propres caractéristiques et exigences uniques ; par conséquent, deux équipes pourraient se concentrer sur leur propre partie et s'assurer qu'elles ne seraient pas distraites par l'autre équipe. Cependant, généralement, deux équipes travaillent étroitement dans la même organisation pour assurer la communication afin de partager l'expérience.
  4. Pour une application se vantant pour sa grande taille et ses fonctions compliquées, les développeurs/PMs iOS et Android sont répartis entre les équipes en fonction des fonctionnalités. Prenons l'appli Uber comme exemple - elle dispose d'équipes responsables des nouveaux passagers à l'embarquement, des fonctions Uber X et pool, de l'optimisation des algorithmes d'itinéraire, de la sécurité des trajets, du paiement et de la transaction, etc. Toutes ces équipes ont des ingénieurs iOS/Android qui travaillent sur des parties connexes. Cependant, il y a toujours une équipe d'architecture mobile a seulement des développeurs iOS/Android pour gérer les questions d'infrastructure de base de l'app.

Dans l'ensemble, cela dépend du niveau d'expérience utilisateur que vous voulez offrir : plus votre app est native/compliquée, plus il y aura d'équipes séparées.