Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Done right
El producto correcto significa satisfacer las necesidades de sus
clientes y usuarios finales y no sólo a sus necesidades. Esto implica
la comprensión el problema que se tiene que resolver y las tareas
Managed que necesitan cumplir con el software.
right
Para lograr el producto bien hecho y bien gestionado, el software
desarrollo debe comenzar con un conjunto calidad de
requerimientos del software, que serán más adelante planeado,
diseñado, implementado, y probado.
Introducción a los requerimientos
¿Qué es un requerimiento?
Uno de los aspectos más críticos de la Gestión de Producto de Software es lidiar con
condiciones conocidas como requerimientos.
Con las actividades correctas, los requerimientos adecuados pueden ser establecidos,
escritos en la forma apropiada, e incluso mejorada.
Exploraremos cinco actividades requerimientos importantes:
La actividad de la obtención de
requerimientos es un proceso
interactivo y de investigación,
que se produce en reunión con el
cliente y usuarios.
La actividad de la obtención de
requerimientos es un proceso
interactivo y de investigación,
que se produce en reunión con el
cliente y usuarios.
La actividad de la obtención de
requerimientos es un proceso
interactivo y de investigación,
que se produce en reunión con el
cliente y usuarios.
¿Qué requerimientos se
PODRIAN hacer para mejorar el
proyecto o producto pero no es
necesario?
Introducción a los requerimientos
Actividades de Requerimientos
Sobre la base de la comprensión de los requerimientos asociado a las actividades, se
considerará los siguientes tipos de requerimientos :
Las reglas de negocio son a veces necesarias realizar para un proyecto apropiado o
exitoso. A menudo son los presupuestos, políticas, lineamientos o reglamentos.
Hay muchas maneras de expresar los requerimientos del usuario. Estas pueden incluir:
• Casos de uso (use cases)
• Historias de usuario (user stories)
• Storyboards
• Escenarios
Tipos de Requerimientos
Requerimientos Funcionales
Requerimientos Funcionales, son aquellos comportamientos que el producto desarrollado debería
hacer o apoyar. Estos por lo general son expresados como entradas del producto, salidas del
producto, o una descripción de la conducta en sí misma.
Facilidad de
La precisión Fiabilidad Seguridad Facilidad de uso Eficiencia Rendimiento
mantenimiento.
Por ejemplo, si un producto está siendo desarrollado para el mapeo bajo el agua, es posible que
tenga que ser resistente al agua. Del mismo modo, si el producto fue diseñado para su uso en el
desierto o en la Antártida, lo haría necesitará para soportar y función en esos ambientes.
Restricciones de Desarrollo
Limitaciones de desarrollo afectan todo, desde tecnología de aplicación, documentación y el
proceso utilizado para desarrollar el producto. Por lo general, se refieren a las limitaciones
relacionadas con la creación del producto, tales como los que dispositivos o plataformas serán
soportadas, o la cantidad de memoria, ancho de banda, o el poder de procesamiento del
producto se limita a utilizar.
Es beneficioso para las limitaciones de desarrollo abordarlo lo más tarde posible en la fase de
especificación porque la tecnología cambia rápidamente.
Cambios en los requerimientos
Controlar el Alcance
Cuando un producto está diseñado, es guiado por un
principio conocido como la visión del producto. La Karl Wiegers
visión del producto es lo que describe el valor de un La visión es un "concepto estratégico a largo
producto para el cliente y su lugar dentro del más plazo de la última finalidad y forma de un nuevo
amplio mercado. Se refiere a la finalidad del producto, sistema, el Alcance es lo que "dibuja la frontera
así como el problema o necesidad el producto se entre lo que esta dentro y fuera para el proyecto".
propone resolver.
Los cambios que se producen en el proyecto deben entrar
en la visión de la producto. En otras palabras, los cambios en
el proyecto no debe cambiar el propósito del producto.
• Sucede cuando el alcance de un proyecto crece es el resultado de un aumento o cambio en los requerimientos.
Por consiguiente, la probabilidad de éxito del proyecto por lo general disminuye significativamente a través del
tiempo.
Proporcionar plazos concretos para el desarrollo de los requerimientos con las fechas de inicio y fin claros
Un principio básico del manifiesto ágil es evaluar propuesta de cambio sobre una base de caso por caso y la forma en que el cambio pueden
afectar al proyecto. Los cambios deben ser introducidos a para aumentar el éxito comercial del proyecto. Cualquier cambio aceptado
también debe implicar modificaciones en las estimaciones y los planes para el producto desarrollo.
Cambios en los requerimientos
Requerimientos y Diseño
En ágil, a veces las líneas entre la formación de requerimientos y el diseño de un producto puede estar borrosa.
Requerimientos se centran en qué, el producto está diseñado para hacer, mientras que el diseño se centra en cómo el
producto puede satisfacer las necesidades del usuario.
Es común que ambos requerimientos y el diseño puedan ser trabajados simultáneamente y los requerimientos
podrían formarse con elementos de diseño en mente. El uso de técnicas tales como dibujos de productos también
pueden ayudar a identificar si los requerimientos encajar en su conjunto y son correctos, consistente y clara.
El gerente de producto de software también debe tener cuidado de no imponer restricciones innecesarias sobre el
producto difuminando requerimientos y diseño.
Estrategias para evitar problemas en el corrupción de requerimientos y diseño incluyen las siguientes preguntas:
¿Es la solución sólo una opción posible?
¿Es la solución la única posible?
Es la solución frente al problema equivocado?
¿Es la solución justa para atraer interés de los desarrolladores?
Esta el cliente mas "enfocado a la solución"
Interacción con los Usuarios
Interacción con clientes
Consideraciones de Usuario
En el diseño de un producto, una de las cosas más Usuarios primarios
importantes para tener en cuenta es que el usuario
• Los principales usuarios son los usuarios finales, o las
final. Los usuarios finales son las personas que personas que utilizarán el producto.
utilizarán el producto, se encuentran entre los
stakeholders (partes interesadas) del proyecto. Usuarios secundarios
Un stakeholders es cualquier persona afectada por o •Son aquellas personas que lo hará de vez en cuando usar el
producto o utilizarlo a través de un intermediario
que tiene un efecto sobre el éxito del proyecto, como
los usuarios finales, clientes, administradores de Usuarios terciarios
usuarios, administradores de sistemas. Un proyecto
exitoso aborda las necesidades de todos los •Usuarios terciarios son aquellos que se ven afectados por el uso
del producto o hacer decisiones sobre el producto, tales como
interesados. clientes.
Una serie de problemas que pueden surgir en la consideración de usuario interacciones incluyen:
George A. Miller, uno de los fundadores del • Que abarcan lo diferente antecedentes culturales de los
usuarios potenciales pueden afectar interpretación de los
campo de la cognitiva psicología, descubrió elementos de diseño, como símbolos y iconos, diseño,
que los seres humanos tienen un límite multimedia, y las necesidades de traducción.
promedio de corto plazo capacidad de
memoria. La gente puede recordar entre cinco
y nueve cosas, con siete siendo la media. Las
distracciones limitan la memoria aún más.
Interacción con clientes
La participación de los clientes y usuarios
En la obtención de requerimientos se enfatizó la Al participar en la discusión, los clientes son
importancia de involucrar a los clientes. Un buen conscientes de metas y plazos realistas, ¿qué se hará
gestor de producto de software y equipo de y que no se hace en el producto y, posteriormente,
desarrollo no se limitan a recoger las ideas de los se pueden priorizar requerimientos .
clientes, colaborar activamente con los clientes.
En consecuencia, de las discusiones las ideas
cliente puede cambiar desde el inicio, con el Una buena manera de involucrar a los clientes y para
aporte de tanto el equipo como el cliente, el entender su requerimientos es hacer buenas
preguntas!
mejor producto posible puede ser hecho.
Requerimientos también pueden provenir de Las buenas preguntas son abiertas y no se pueden
otras fuentes, incluyendo: responder con un simple sí o no. Las preguntas que
preguntan "¿por qué?", son particularmente buenas,
porque fomentan un cliente para analizar e identificar
• Entrevistas con los usuarios finales. su núcleo necesariamente, da una buena explicación
• Estudios de viabilidad con grupos focales. de lo que hace esta pregunta valiosa.
• Observar cómo los usuarios finales utilizan
el producto. "¿Qué quieres?" O "¿Cuáles son sus necesidades?"
• Consultar los productos anteriores. son preguntas menos útiles porque son demasiado
amplias y no proporcionan buena estructura para la
comprensión de las necesidades del cliente.
Interacción con clientes
La participación de los clientes y usuarios
Los requerimientos deben ser revisados a En resumen, Involucrar al cliente a través de reuniones y
menudo con el cliente. Después de la primera los aspectos revisión continua de requerimientos.
reunión, por ejemplo, es una buena idea para clave a tener
en cuenta en
mostrar al cliente maquetas y prototipos la interacción
Utilice otras fuentes de información, como los
usuarios finales.
producidos a partir de las reuniones iniciales. del cliente
incluyen:
Pida buenas preguntas.
producto. Metas
Goals
Excepción
Exception
Cualidades
Qualities
Interacción con clientes
Casos de Uso
Un Diagrama de Casos de Uso, es útil para describir
Ejemplo de caso de uso:
los casos de uso de un producto, Diagramas de Casos
de Uso son de alto nivel, muestran representaciones
visuales que describen todas las tareas del producto
que se está creando. Actores y sus casos de usos
respectivos usos también están representados.
Primer tipo
Primer tipo
Requerimientos Ágiles
Los requerimientos pueden ser expresadas a través de técnicas tales como casos de uso,
wireframes y storyboards, pero también se pueden expresar a través de muchos formatos escritos.
Necesidades y requerimientos del cliente se pueden expresar dentro de la filosofía del Software
de Desarrollo Ágil. Estos principios apoyan la creencia en que el software Ágil es dinámico.
En concordancia con esta filosofía, los clientes suelen cambiar de opinión acerca de la
funcionalidad del producto. Esto puede ocurrir incluso en medio del desarrollo.
Los requerimientos
Interacciones cara a cara Los requerimientos son cambiantes deben ser
con los clientes es clave una parte integral de ágil. bienvenidos y esperados.
para asegurar que los A su vez, si un principio La capacidad de dar la
requerimientos están Ágil es seguido en la bienvenida a los
correctos, aunque ellos creación de los requerimientos cambiantes
cambien. requerimientos, la calidad puede hacer la diferencia
entre el éxito o el fracaso de
es mayor.
un proyecto.
Escribiendo los Requerimientos
Historias de usuario son especiales debido a que utilizan un formato coherente para expresar los
requerimientos, que es fácil de escribir, leer y evaluar.
I
Independent
El requerimiento puede existir fuera de otras historias de usuario y seguir siendo significativo. Esto
permite que los requerimientos y sus historias de usuario ser reorganizados libremente si es necesario. Si una historia de
Negociable usuario contiene
Historias de los usuarios también deben ser lo suficientemente generales para el equipo de desarrollo y el descripciones que
N cliente trabajen en torno a su ejecución. Ellos no deben centrarse en los detalles técnicos específicos. En
cambio, habría que centrarse en los aspectos más importantes de los requerimientos, mientras que
recordar que estos podrían cambiar.
son demasiado
vagos o amplios, y
si es difícil estimar
V Valioso
Historias de los usuarios deben aportar valor al cliente. cuánto tiempo va a
tomar o cómo se
Estimable puede hacer, es
E Debería ser posible estimar la cantidad de tiempo que se necesitaría para diseñar e implementar el
requerimiento de la historia de usuario. probable que sea
una historia de
Pequeño (Small)
usuario épica.
S Una historia de usuario debe ser pequeña, ya que está destinada a ser desarrollada en un corto período
de tiempo. Si a la hora de diseñar e implementar un requerimiento es incierto, la historia de usuario es
probablemente demasiado grande, por lo que debe ser dividido en historias más pequeñas y manejables .
Testeable
T Historias de los usuarios deben ser verificables en contra de un conjunto de criterios con el fin de
determinar si es "Done", lo que significa que la historia de usuario ha logrado lo que se propuso hacer, y
no es necesario seguir trabajando. Esto se logra generalmente con pruebas de aceptación.
Escribiendo los Requerimientos
Product Backlog
Un Product Backlog es un conjunto o una lista de software
features que el gestor de producto de software y el equipo de
desarrollo planean para desarrollar para un producto. Son un
medio de organización del trabajo, dando prioridad a las
tareas dentro del proyecto, y la planificación de esas
prioridades.
Product Backlog
Como priorización es importante para todo el equipo, priorizando historias
de usuario en el Product Backlog se consigue mejor con discusiones con los
clientes, el gestor del producto de software, y el equipo de desarrollo. ¿Por
qué una historia de usuario es importante? debe ser claro a todo el mundo a
través de estas discusiones.
Product Backlog
Un Product Backlog es un conjunto o una lista de software
features que el gestor de producto de software y el equipo de
desarrollo planean para desarrollar para un producto. Son un
medio de organización del trabajo, dando prioridad a las
tareas dentro del proyecto, y la planificación de esas
prioridades.
Features en el Product Backlog incluyen Crear Product Listar User Enumerar los Listar otros
tareas de trabajo (trabajos físicos que se Backlog History User History Features
deben hacer en el proyecto, pero no
necesariamente están relacionados con
el desarrollo de las funcionalidades del Ayuda a determinar
Priorizar los User Ayuda a los clientes Ofrece perspectiva qué características
producto), tareas de conocimiento History / a identificar sus a los sobre lo que se puede lograr en
necesidades y es más importante un proyecto con la
(trabajo para las partes del proyecto que Features deseos. en un proyecto. tecnología y los
deben ser aprendidas), bugs (errores en recursos dados.
el código de producto ), y más
comúnmente, historias de usuario. Prioridades como Agrupar historias de
Determinar los
Planificar puntos de usuarios por
sprints
referencia unidades de trabajo
Escribiendo los Requerimientos
•Simplificar priorización de las historias de •Proporcionar contexto para desarrolladores mostrando que otra sencilla
usuario. funcionalidad es mejor implementarse antes del trabajo más complejo.
•Dar al Product Backlog una sensación visual de •Proporcionar una visión integrada del producto al no permitir que se centren en
seguimiento. una sola categoría, haciendo hincapié en las múltiples funcionalidades (o categorías)
•Dar perspectiva sobre cómo las historias de de la mayoría de los productos.
usuario pueden relacionarse entre sí. •Dar una mejor comprensión de cómo el producto va a desarrollar y encajar sobre
•Ayudar a identificar lo que podría faltar en cada etapas, es posible ver cómo un producto evolucionará fila por fila, lo que podría
categoría. ahorrar tiempo en el transcurso del proyecto.
Historias de usuario de calidad son importantes para guiar el desarrollo con el fin de evitar errores y
confusiones. En consecuencia, no debe haber historias de usuario que faltan, y historias de usuario existente
debe ser fácil de entender y libre de ambigüedad.
Historias de los Una historia de usuario Historias de usuario Este criterio requiere •Historias de los
usuarios deben ser completa es aquella son claras si son fáciles la verificación de que usuarios deben ser
correctas o el equipo donde se incluyen de entender y sólo los requerimientos no comprobables o
de desarrollo crearán todos los pueden ser están en conflicto medibles de alguna
funcionalidades que no requerimientos interpretadas de una entre sí. manera, con el fin de
están en línea con la necesarios para manera. determinar si cada
visión del cliente. Se describir el problema. Ejercicios de Revisión requerimiento ha sido
pierde tiempo tanto la Si los requerimientos Técnica y ajustes de satisfecho. A menudo,
creación de funciones faltan, esas requerimientos se la cuantificación de
incorrectas y la características se utilizan para reducir los aspectos de los
eliminación de ellas perderán en el ambigüedades. requerimientos ayuda
más tarde. producto final. Story Personas ajenas al a hacerlos verificable.
Maps se utilizan a proyecto, Wireframes
menudo para y Storyboards, entre
identificar los otras herramientas
requerimientos que visuales, también
faltan. pueden ayudar a
eliminar
ambigüedades.
Calidad en los Requerimientos
Historias de usuario de calidad son importantes para guiar el desarrollo con el fin de evitar errores y
confusiones. En consecuencia, no debe haber historias de usuario que faltan, y historias de usuario existente
debe ser fácil de entender y libre de ambigüedad.
Una historia de usuario Historias de los usuarios Una buena historia de Historias de los usuarios
factible cuando puede ser deben ser trazables, lo que usuario es manejable, lo deben ser simples, lo que
implementada de manera significa que cada que significa que es significa que deben
realista, cuando se tienen requerimiento en una idealmente independiente mantenerse minimalista.
en cuenta las limitaciones historia de usuario se debe de otras historias de Una buena historia de
del producto. Esto incluye ser capaz de realizarle un usuario y se puede usuario se centra sólo en
la tecnología, las seguimiento a lo largo del cambiar sin un impacto la función que será
herramientas, los recursos proyecto. excesivo en otras historias implementada; que no
y el personal disponible, Una técnica en la que los de usuario, esto no hace referencia a la forma
así como el presupuesto y identificadores únicos son siempre es realista por lo en que se llevará a cabo.
el calendario. asignados a cada que la agrupación o la Detalles de diseño
requerimiento se utiliza a vinculación de historias de innecesarios también no
menudo para facilitar el usuario a menudo ayuda a se incluyen en las buenas
seguimiento. Los mantenerlos manejables. historias de usuario. De
identificadores únicos hecho, una buena historia
pueden ser tan simples de usuario debe ser
como números independiente de la
secuenciales. tecnología.
Calidad en los Requerimientos
Requerimientos Ambiguos
Es posible evaluar la calidad de las historias de usuario utilizando un conjunto de criterios.
Historias de usuario de calidad son importantes para guiar el desarrollo con el fin de evitar errores y
confusiones. En consecuencia, no debe haber historias de usuario que faltan, y historias de usuario existente
debe ser fácil de entender y libre de ambigüedad.
"Un" o Las palabras "un" o "unas" no son específicas. Ellos podrían referirse a singular o plural de un artículo o evento.
"unas" Es mejor utilizar un cuantificador.
"Después" o Las palabras "después" o "antes", son vagas pueden describir bien la instancia inmediata después o antes del evento o el
"antes de" objeto en cuestión, pero que también podría referirse a cualquier instancia o después de antes del evento o el objeto en
cuestión. Es mejor para dar una descripción firme de la posición exacta en la secuencia que se produce un evento u objeto.
"Todo" El mundo de "todos" es confuso en algunas frases como no está claro lo que se conoce. Por ejemplo, "Todo vehículos en el
estacionamiento deben estar autorizados por una propietario "puede significar:
• un propietario debe conceder licencias a todos los vehículos en el estacionamiento
• cada vehículo está autorizada por un propietario diferente
• cada vehículo está autorizado por el propietario, sino un propietario podrá dar licencia a más de un vehículo
Es una buena práctica para ser lo más específico posible.
"Y" La palabra "y" puede ser ambigua porque podría enumerar dos condiciones independientes juntos en una frase, o podría
referirse a dos condiciones necesaria para que algo suceda. Si dos condiciones independientes por separado se han unido
es mejor romper esto en dos.
"Ambos" La palabra "ambos" puede ser confuso, ya que podría no estar claro cual sustantivo que se conoce de qué manera. Por
ejemplo, "Ambos restaurantes están a cargo de una gerente "puede significar:
• Cada restaurante está dirigido por una gerente diferente
• Un gerente está dirigiendo ambos restaurantes.
Es importante ser específico.
Calidad en los Requerimientos
Requerimientos Ambiguos
Ahora cada siguiente para desde ultimo sólo o mismo debería de ellos hasta nosotros cuando
Hay muchas otras palabras que pueden crear requisitos ambiguos, pero los mencionados anteriormente son los
más comunes.
Lenguaje no claro también puede surgir durante las conversaciones entre el cliente, el gestor de producto de
software y equipo de desarrollo. Es importante para el gestor de producto de software hacer preguntas para
aclarar las discusiones.
Las buenas preguntas incluyen el examen de la verdad de los hechos presentados y pidiendo explicaciones
sobre términos inciertos o ciertos percibidos en las necesidades y requerimientos.
La determinación de lo que significa para el cliente y por qué es importante la incrementa la calidad de los
requerimiento.
GRACIAS!