Soy un ingeniero de software de pila completa. He trabajado en muchas empresas, desde compañías Fortune 100 hasta nuevas empresas, y este tema es algo sobre lo que he escuchado diferentes puntos de vista. Esta es la situación.
En un proyecto de software en el que es necesario ingerir datos de 1 sistema, implemente alguna lógica comercial en esos datos y luego envíe los datos a otro sistema para que la empresa pueda consumirlos.
En la situación anterior, ¿es responsabilidad del propietario del producto comprender cuáles son los datos que se están incorporando y también proporcionar los requisitos sobre cómo transformar/mapear esos datos para que la empresa pueda enviarlos a un sistema consumible?
Si no es responsabilidad del propietario del producto, ¿cómo se puede esperar que un desarrollador proporcione con precisión una estimación de tiempo cuando debe realizar la investigación para comprender los datos, determinar si el mapeo es posible y luego involucrar a la empresa para ver cómo funciona el mapeo? debe hacerse de una manera que proporcione valor y luego hacer el trabajo?... Dado que esto implicaría mucho descubrimiento, parece imposible dar estimaciones de tiempo precisas.
gracias de antemano
Hay muchas áreas grises, pero la respuesta directa a su pregunta de acuerdo con la Guía de Scrum es no: no es responsabilidad del propietario del producto proporcionar asignaciones de datos. https://scrumguides.org/scrum-guide.html#propietario-del-producto
Entonces... en su situación, el pedido de compra tiene un elemento pendiente que dice algo así como "Como ejecutivo de ventas, quiero ver un gráfico de ventas correlacionado con X datos demográficos". o algo así. Ahora bien, los equipos saben cómo funcionan esos datos (al menos lo suficientemente bien como para hacer una estimación aproximada y comenzar el trabajo) o no. Si no es así, es posible que necesite otros tipos de elementos pendientes, como picos. Un pico es un medio para reducir la incertidumbre y el riesgo.
Ahora, ¿podría hacer un pico para cada historia de usuario que aparece? Sí... pero... esta es una forma muy ineficiente de trabajar. Un buen experto en scrum alentará al equipo a explorar lo que pueden hacer para simplificar sus sistemas de datos o generar conocimiento en áreas comúnmente aprovechadas para que esto no siempre suceda.
La confianza es la base de la agilidad. La falta de confianza está pintada en toda la forma en que se enmarca la pregunta.
De hecho, el Product Owner es responsable de impulsar la creación de las historias de usuario. El PO, sin embargo, no es el único responsable de eso. Especialmente en las Historias que tienen una cantidad considerable de antecedentes técnicos, el equipo de desarrollo debe desempeñar un papel crítico y activo para comprender los requisitos e identificar posibles brechas.
No es responsabilidad de la OP anotar los requisitos hasta el último detalle. Es responsabilidad de Desarrollo comprometerse y estar dispuesto a construir, colaborar con la OP sobre cómo se pueden cumplir los requisitos de manera evolutiva.
En pocas palabras, el PO es responsable de contarle una historia sobre lo que se necesita y responder a todas las preguntas sobre lo que se necesita . Depende del equipo de desarrollo hacer las preguntas correctas para acordar dentro del equipo de desarrollo cómo se implementará la solución. A la OP no le preocupa cómo se implementará la solución. Es responsabilidad del equipo de desarrollo asegurarse de que la forma en que se construye el código cumpla con los estándares esperados por el equipo .
Como se enmarca la pregunta, no hay un equipo ágil. Hay un analista funcional que pasa los requisitos al equipo de desarrollo con un enfoque muy similar al de una cascada.
Si una empresa necesita lidiar mucho con este tipo de historias técnicas, contrata/tiene propietarios de productos técnicos. Si tales historias surgen de vez en cuando, los propietarios de productos preparan las historias con el apoyo de los desarrolladores de software del equipo.
Entonces, mi respuesta es; esto está completamente dentro del alcance del rol del propietario del producto.
El equipo en su conjunto es responsable de los requisitos y especificaciones. El refinamiento de la cartera de pedidos (preparar elementos de la cartera de pedidos para que estén listos para participar en futuros sprints) es un proceso continuo. Algunos equipos asignan formalmente una cierta cantidad de tiempo cada sprint para el refinamiento de la cartera de pedidos o, alternativamente, simplemente lo hacen como una tarea en segundo plano.
Sin embargo, el punto del refinamiento de la cartera de pedidos es que la historia está lista para comenzar , no que esté detallada de manera integral en cada detalle. Con respecto a la estimación, el equipo solo necesita suficiente información para juzgar si una historia es lo suficientemente pequeña como para hacerla en un solo sprint o si necesita desglosarse más. En el caso de una transformación, puede ser suficiente conocer el número y tipo de fuentes, el número de atributos y tal vez el tipo de cálculos que podrían ser necesarios, pero quizás no sea necesario conocer cada elemento del mapeo para que la historia sea listo.
Bogdán
Dan
usuario3067860
Dan
usuario3067860
Dan