Bienvenue dans les vraies affaires.
Il existe un style d'entreprise plus ancien, que j'ai tendance à appeler de manière dérisoire «développement traditionnel», puis un nouveau style, «développement agile». Si j'essaie de traiter ceux-ci comme des idéaux opposés, nous constatons une division claire au centre: les plans et les exigences sont définis dans la colonne traditionnelle, la découverte et l'évolution dans la colonne agile. C'est soigné, bien rangé et faux.
En réalité, les affaires sont une recherche du juste milieu entre les deux. Il est facile de montrer que l’un ou l’autre des extrêmes tombe à plat. Nous qui aimons Agile, nous démontrons avec enthousiasme tous les problèmes de l'idéal pur du développement traditionnel, et nombreux sont ceux qui peuvent montrer les nombreuses façons dont l'Agile pur s'effondre. Les entreprises agiles qui réussissent sont celles qui trouvent leur équilibre particulier entre les deux. Les entreprises traditionnelles qui réussissent sont celles qui trouvent leur équilibre particulier entre les deux. Vous ne pouvez pas avoir l'un sans l'autre.
Même notre processus béni SCRUM montre un équilibre entre les deux. Bien que l'on cherche clairement à maximiser l'agilité, quelques compromis clés sont faits. Par exemple, le responsable de produit a la tâche primordiale de défendre tous les clients. SCRUM ne spécifie pas intentionnellement comment cette interaction fonctionne. Il a intentionnellement laissé tomber le fait que tout le monde doit être payé à la fin de la journée. C'est le travail du propriétaire du produit de créer l'illusion que cela n'a pas d'importance.
(Il est intéressant de noter que l'agile pur fonctionne très bien, tant que vous n'êtes pas payé avant de produire un produit et que vous n'avez pas accès à des informations confidentielles tant que vous n'êtes pas acquis. Je pense que les seuls ingénieurs en logiciel qui sont à l'aise avec ce commerce sont les entrepreneurs)
La direction a donc dicté les fonctionnalités qui y figureront et à quel moment elles doivent l'être. C'est très bien. Une phrase que j'ai entendue est "le client choisit le quoi et le quand, le producteur choisit le qui et le comment". Vous avez été inscrit pour le "quoi" et le "quand". Ils n'ont rien dit à propos de qui ou de comment, sauf pour vous offrir une chance d'utiliser "Agile" comme votre comment. Il ne reste plus qu’à aider la direction à comprendre le nombre de personnes qu’elle devra embaucher pour répondre à ses besoins.
Dans un monde parfait, votre entreprise est agile de l'extérieur. Il interagit avec ses clients de manière agile, laissant les développeurs se développer facilement pour eux. Cependant, très souvent, l’entreprise doit interagir avec l’extérieur tout en se développant avec agilité. Entre les deux, il existe toujours un ensemble complexe de compromis, propres à chaque entreprise.
Personnellement, je considère cette situation comme un test pour quiconque pense comprendre le développement agile. Dans le futur, vous devrez développer un produit pour une date limite, et cette paire produit / date limite sera relativement fixe. Si un produit fixe / une échéance brise votre processus, pouvez-vous vraiment dire que vous étiez Agile en premier lieu?
Mon conseil: ne considérez pas cela comme une cascade. Vous contrôlez toujours le "comment". Vous pouvez toujours faire tout le sprinting rapide et le prototypage flexible pour lesquels Agile est si célèbre. Vous devez simplement être conscient que le caoutchouc rencontre la route, et vous devez livrer. C'est le monde réel, pas le monde idéal. Aurait-il été préférable pour eux de vous demander en premier lieu? Sûr. Ce n'est peut-être pas votre appel. Il y a peut-être mille raisons liées aux affaires de le faire que vous ne comprenez tout simplement pas. N'hésitez pas à les appuyer, mais comprenez qu'ils peuvent avoir une très bonne raison pour ce qu'ils ont fait.