Priorización de Requisitos

5,045 views

Published on

Se propone un sistema para la priorización de requisitos o características de productos de diversa índole utilizando usuarios y su interacción con el sistema basado en Karma

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,045
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Priorización de Requisitos

  1. 1. José Luis Marina Máster Investigación Informática Aplicación de Principios Económicos al Desarrollo de Software Priorización de Requisitos Software: Propuesta de Sistema abierto
  2. 2. Ingeniería de Requisitos <ul><li>La Ingeniería de Requisitos trata de los principios, métodos, técnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora , de forma sistemática y repetible . </li></ul><ul><li>A través de los requisitos satisfacemos necesidades. </li></ul><ul><li>Necesitamos requisitos para poder desarrollar. </li></ul><ul><li>Errores en los requisitos: </li></ul><ul><li>Producto no-deseado. </li></ul><ul><li>Esfuerzos y recursos desperciados. </li></ul><ul><li>Muy difíciles de solventar. </li></ul>Máster Investigación Informática Principios Económicos y software
  3. 3. Proyectos Software Informe CHAOS – Standish Group Máster Investigación Informática Principios Económicos y software Construir puentes, automóviles o edificios también es complejo pero....
  4. 4. Problemas IR - Tradicional <ul><li>[Boehm] – Modelo Tradicional </li></ul><ul><ul><li>Mayor número de errores en la fase de Requisitos. </li></ul></ul><ul><ul><li>Son los más difíciles de arreglar. </li></ul></ul><ul><ul><li>Entre 5 y 10 veces más “caro” de arreglar . </li></ul></ul><ul><li>Informe CHAOS – Principales factores de Fracaso: </li></ul><ul><ul><li>Falta de Información Usuario. </li></ul></ul><ul><ul><li>Requisitos Incompletos. </li></ul></ul><ul><ul><li>Requisitos Cambiantes. </li></ul></ul>Informe CHAOS – Standish Group Máster Investigación Informática Principios Económicos y software
  5. 5. Metodología Ágiles “ Implementar los Requisitos de un Software correctamente y a tiempo y caminar sobre el agua es posible ........ ...... si agua y requisitos están congelados” La Realidad <ul><li>Las estimaciones acaban resultado incorrectas. </li></ul><ul><li>Los objetivos no están claros. </li></ul><ul><li>El usuario no sabe lo que quiere. </li></ul><ul><li>El desarrollador tampoco. </li></ul><ul><li>Cambios constantes. </li></ul><ul><li>Es necesario adaptarse. Reacciones Rápidas. </li></ul><ul><li>¡¡No podemos congelar los Requisitos!! </li></ul>Máster Investigación Informática Principios Económicos y software
  6. 6. Metodología Ágiles Los métodos ágiles abren el proceso de definición de requisitos a los usuarios durante todo el proceso de elaboración del producto ” Datos de Éxito: Los métodos ágiles tienen como máxima prioridad satisfacer al cliente o usuario sacando versiones del producto pronto y cada poco tiempo. Igualmente los cambios en los requisitos son bienvenidos . Se convierte la necesidad de un cambio por parte del usuario en una ventaja competitiva. Proyectos software (37signals.com) No software (Toyota Prius – [10 Dyer]). Máster Investigación Informática Principios Económicos y software
  7. 7. Desarrollo Comunitario <ul><li>El software Libre Permite: </li></ul><ul><li>Que cualquiera pueda ver el código y modificarlo. </li></ul><ul><li>Poder Distribuir esas modificaciones </li></ul><ul><li>Cientos de Programadores. </li></ul><ul><li>Sin control centralizado (Catedral vs Bazar) </li></ul><ul><li>Éxito en desarrollos muy complejos. </li></ul><ul><li>De nuevo se implica al usuario (aunque técnico) </li></ul><ul><li>Comunicación Basada Internet - Ágil. </li></ul>Máster Investigación Informática Principios Económicos y software
  8. 8. Desarrollo Comunitario <ul><li>Kernel de Linux </li></ul><ul><li>WikiPedia </li></ul><ul><li>¿Qué lleva a una persona a trabajar horas de forma en principio desinteresada en un proyecto de este estilo? </li></ul><ul><li>Avances significativos en las TI: </li></ul><ul><li>- Desde el punto de vista organizativo. </li></ul><ul><li>- Más que el puramente tecnológico. </li></ul>Máster Investigación Informática Principios Económicos y software
  9. 9. Propuesta <ul><li>Sistema para crear comunidades de usuarios de productos con capacidad para: </li></ul><ul><ul><li>Auto-organizarse alrededor de unos recursos y servicios compartidos en Internet. </li></ul></ul><ul><ul><li>Proponer Productos y Requisitos para que sean validados. </li></ul></ul><ul><ul><li>Priorizar los requisitos de acuerdo a sus intereses cualesquiera que sean. </li></ul></ul><ul><ul><li>Valorar la calidad y fiabilidad en la consecución de esos requisitos una vez implementados y devueltos por parte de los desarrolladores. </li></ul></ul>Máster Investigación Informática Principios Económicos y software
  10. 10. Propuesta Principios: Más usuarios con capacidad para influir en los requisitos no implica mayor complejidad o mayores tiempos de definición si hay unas normas básicas claras y aceptadas. El dueño de producto recibe beneficios por el hecho de abrir el proceso de definición de requisitos. Visibilidad, análisis de tendencias, realimentación rápida de la respuesta de los usuarios. Mayor precisión en qué se quiere, optimización de tiempos y recursos. Los usuarios participan directamente en el diseño del producto y pueden influir en lo que reciban. Muchas veces un usuario no sabe lo que quiere hasta que tiene una primera versión con la que trabajar. Y así de forma sucesiva para nuevo requisito o área de funcionalidad. En ocasiones en lugar de hacer más cosas es mejor hacer menos , pero las importantes. Máster Investigación Informática Principios Económicos y software
  11. 11. Conceptos Producto: Conjunto de Requisitos cada uno de ellos en un estado. - Tiene unos requisitos activos. - Tiene unos requisitos ya implementados en una historia de versiones. Versión: Un código de versión y un conjunto de requisitos ya implementado. La versión puede evaluarse a través de sus requisitos. Calidad de Producto (P): Valoraciones de los usuarios de los requisitos implementados. Teóricamente el comportamiento en cuanto a plazos, ajuste a lo pedido y calidad de implementación se verán reflejados en el índice de calidad P. Máster Investigación Informática Principios Económicos y software
  12. 12. Conceptos Máster Investigación Informática Principios Económicos y software <ul><li>Requisito: </li></ul><ul><li>Cualidad deseable de producto propuesta por un usuario o dueño de producto. </li></ul><ul><ul><li>Propuesto y en Definición </li></ul></ul><ul><ul><li>Definido </li></ul></ul><ul><ul><li>Aceptado para Priorización (o Rechazado) </li></ul></ul><ul><ul><li>En desarrollo – Implementado </li></ul></ul><ul><li>Aceptado conlleva que se ha evaluado su coste (Cij) relativo. </li></ul><ul><li>No es igual un requisito que tardo una hora en desarrollar que tres meses. </li></ul><ul><li>Los requisitos se ordenan en la cola re priorización según su: </li></ul><ul><li>Valoración de Requisito (V) </li></ul><ul><ul><li>Número de Votos . </li></ul></ul><ul><ul><li>Calidad o “karma” del usuario que emite el voto. </li></ul></ul><ul><ul><li>Coste relativo. </li></ul></ul>
  13. 13. Conceptos <ul><li>Dueño de Producto </li></ul><ul><li>Gestiona los Requisitos de un Producto. </li></ul><ul><li>- Da de alta al Producto. </li></ul><ul><li>- Pide información sobre los requisitos propuestos. </li></ul><ul><li>- Acepta o rechaza los requisitos. </li></ul><ul><li>- Los planifica para su implementación en una versión del producto. </li></ul><ul><li>- Valora el esfuerzo o coste relativo de cada requisito. </li></ul><ul><li>- Puntúa negativamente a los usuarios “malos” influyendo en su karma. </li></ul><ul><li>Usuario de Producto: </li></ul><ul><li>Agente interesado en influir en los requisitos de un producto </li></ul><ul><li>- Propone requisitos y aporta información de definición. </li></ul><ul><li>- Evalúa la implementación de Requisitos. </li></ul><ul><li>- Vota para priorizar unos requisitos sobre otros. </li></ul><ul><li>Karma de Usuario (k): </li></ul><ul><li>Representa la calidad del usuario; puede hacer más cosas y sus </li></ul><ul><li>votos “pesan” más. Valor mínimo y máximo. </li></ul><ul><ul><li>Actividad de votos en los últimos días. </li></ul></ul><ul><ul><li>Participa en los requisitos. Propone y comenta. </li></ul></ul><ul><ul><li>No tiene votos negativos. </li></ul></ul>Máster Investigación Informática Principios Económicos y software
  14. 14. Elementos Producto Propuestos Activos Dueño de Producto Usuarios ( karma ) Alta Propone Aporta Información Propone Evalúa Esfuerzo Rechaza Vota o Prioriza Aporta Información Selecciona para Implementar Selecciona para Implementar X Implementados Evalúa Implementa Calidad Máster Investigación Informática Principios Económicos y software Definición Versión 1.0 RI 1 RI 2 Versión n.0 RI n1 RI n2 R1 R2 R3 ... R N r1 c1 c2 r2 c1
  15. 15. Bienes Públicos <ul><li>Economistas y Expertos en Teoría de Juegos: </li></ul><ul><li>Comportamiento Egoísta </li></ul><ul><li>Sociólogos, políticos-cientificos: </li></ul><ul><li>Comportamiento Altruista mediante normas sociales. </li></ul><ul><li>Sobre datos reales de trabajo en proyectos de Software libre y en la WikiPedia (también en la comunidad científica): </li></ul><ul><ul><ul><li>Aumento de prestigio y sus beneficios derivados. </li></ul></ul></ul><ul><ul><ul><li>Satisfacción del Ego ante los demás. </li></ul></ul></ul><ul><ul><ul><li>Mejora de currículo profesional. </li></ul></ul></ul><ul><li>Conclusión: No trabajamos con la idea de bien público para modelizar el sistema. </li></ul><ul><li>Karma </li></ul>Máster Investigación Informática Principios Económicos y software
  16. 16. Funciones de Utilidad <ul><li>Dueño de Producto: </li></ul><ul><li>Busca satisfacer al usuario (aunque sea inderectamente). </li></ul><ul><li>La medida directa de la satisfacción de los usuarios es: </li></ul><ul><li>la Calidad del Producto (P) . </li></ul><ul><li>Un dueño de producto buscará maximizar los siguientes elementos: </li></ul><ul><ul><li>Calidad de Producto : Buenos tiempos de desarrollo, calidad de implementación de requisitos, refinamiento de requisitos, etc. </li></ul></ul><ul><ul><li>Valoración de los Requisitos de Producto : Que a su vez depende del número de votos recibido y de la calidad o karma de los usuarios al emitirlos. </li></ul></ul>Máster Investigación Informática Principios Económicos y software
  17. 17. Funciones de Utilidad <ul><li>Usuario de Productos: </li></ul><ul><li>¿Influir en las características de uno o varios productos? </li></ul><ul><li>¿Aumentar su karma, su prestigio? </li></ul><ul><li>La medida directa de un usuario y cómo se comporta en el sistema es: </li></ul><ul><li>el karma de Usuario (k) . </li></ul><ul><li>Como hemos visto aumenta con: </li></ul><ul><ul><li>Actividad de votos : </li></ul></ul><ul><ul><li>Participación. </li></ul></ul><ul><ul><li>Valoración por los dueños de producto. </li></ul></ul>Máster Investigación Informática Principios Económicos y software
  18. 18. Priorización Productos y Requisitos en el Sistema Máster Investigación Informática Principios Económicos y software
  19. 19. Priorización <ul><li>Productos y Requisitos en el Sistema </li></ul><ul><li>Al dueño de producto le interesan más los requisitos populares y fáciles. Mucho karma y bajo coste (o alta facilidad). </li></ul><ul><ul><li>Valoración de Requisito </li></ul></ul>Máster Investigación Informática Principios Económicos y software
  20. 20. Priorización <ul><li>Karma de Usuarios </li></ul><ul><li>Se calcula diariamente entre mín (1) y máx. </li></ul><ul><li>Valor Máximo = Comportamiento Modelo </li></ul><ul><li>Actividad de votación en los últimos “d” días. </li></ul><ul><li>Ha emitido todos sus votos y se asigna un porcentaje. </li></ul><ul><li>Actividad en la Propuesta de Requisitos en los últimos “D” días. </li></ul><ul><li>100% si ha propuesto más de X requisitos en los últimos días. </li></ul><ul><li>Actividad en la Definición de Requisitos en los últimos “F” días. </li></ul><ul><li>100% si ha participado en más de Y comentarios en los últimos días. </li></ul><ul><li>Actividad en la Evaluación de Requisitos </li></ul><ul><li>Ha evaluado todos los requisitos implementados en los que participó en los últimos “E” días. </li></ul><ul><li>Ausencia de Votos Negativos </li></ul>Máster Investigación Informática Principios Económicos y software
  21. 21. Priorización Karma de Usuarios Máster Investigación Informática Principios Económicos y software
  22. 22. Trabajo Futuro <ul><li>Implementar el Sistema en Internet: </li></ul><ul><ul><li>Inicialmente Orientado a Productos de Software Libre </li></ul></ul><ul><ul><li>Usuarios acostumbrados a trabajar en Comunidad </li></ul></ul><ul><li>Respecto a los algoritmos y principios económicos para el mecanismo de priorización de la cola de requisitos y de cálculo de karma </li></ul><ul><ul><li>Estudiar cómo influyen los parámetros en el sistema. </li></ul></ul><ul><ul><li>Cómo evitar comportamientos maliciosos. </li></ul></ul><ul><ul><li>Manejo de Incompatibilidad entre Requisitos. </li></ul></ul><ul><li>Investigar en la literatura sobre márketing de tendencias y análisis de mercado </li></ul><ul><li>Abrir el Sistema a otros tipos de Producto. </li></ul><ul><ul><li>Características ideales del próximo automóvil de la marca X </li></ul></ul><ul><ul><li>Selección de Asignaturas de un máster en función de los intereses de los posibles alumnos. </li></ul></ul><ul><ul><li>Priorizar elementos de un programa electoral. </li></ul></ul>Máster Investigación Informática Principios Económicos y software
  23. 23. Algunas Referencias 1] How Large Are Software Cost Overruns? A Review of the 1994 CHAOS Report Magne Jørgensen1 and Kjetil Moløkken Simula Research Laboratory [2] Software requirements as negotiated win conditions Boehm, B. Bose, P. Horowitz, E. Ming-June Lee – Apr 1994 Dept. of Comput. Sci., Univ. of Southern California, Los Angeles, CA; [6] The Cathedral and the Bazaar Eric S. Raymond - 1999 http://www.firstmonday.org/issues/issue3_3/raymond/index.html [7] Economics of Open Source Software Justin Pappas Johnson - May 2001 http://akgul.bilkent.edu.tr/telekom/johnson.pdf [9] Why Do People Write for Wikipedia? Incentives to Contribute to Open-Content Publishing Andrea Forte and Amy Bruckman - 2005 Georgia Institute of Technology, College of Computing http://www-static.cc.gatech.edu/~aforte/ForteBruckmanWhyPeopleWrite.pdf [10] Creating and managing a highperformance knowledge-sharing network : The toyota case JH Dyer, K Nobeoka – 2000 Strategic management journal, Vol 21 nº 3 [11] Public Goods: A Survey of Experimental Research J.O. Ledyard – Feb 1994 Division of the humanities and social sciences. California Institute of Technology. Máster Investigación Informática Principios Económicos y software
  24. 24. jlmarina [at] gmail [-dot-].com Aplicación de Principios Económicos al Desarrollo de Software Máster Investigación Informática U.C.M. 2008 ¿Preguntas?

×