gatopanda.com

  • Aumentar el tamaño de la letra
  • Tamaño de letra predeterminado
  • Reducir el tamaño de la letra
Home Web Engineering Management Requerimientos en las aplicaciones web

Requerimientos en las aplicaciones web

Correo electrónico Imprimir PDF

Empezaré con una afirmación tajante: si quieres que tu aplicación web se resuelva con éxito cierra correcta y completamente el análisis de requerimientos. De no ser así el resultado será insatisfactorio siempre. Lo siento para todos aquellos que quieren desembarazarse de previos al desarrollo. Esto es así. No he visto en todos los proyectos en los que he participado nada que desmienta esta afirmación. Y más importante todavía no conozco a través de nadie o de la literatura ejemplos o afirmaciones contrarias.

La toma de requerimientos y su análisis es la pieza clave del desarrollo de aplicaciones web. Me remitiré a lo comentado al respecto por Paul Grünbacher en libro Web Engineering, The Discipline of Systematic Development of Web Applications: ".. los requerimientos a menudo no son descritos de forma apropiada o puede estar especificados de manera ambigura, vaga o incorrecta. Las típicas consecuencias de requerimientos pobres son la baja aceptación del usuario o cliente, fallos de planificación o arquitecturas de software inadecuadas".

Si somos sensibles a lo comentado entiendo que nos preocuparemos en tener un documento vivo de requerimientos y procedimentada su gestión. Sin embargo esto no es suficiente si estamos hablando de aplicaciones web. Las aplicaciones web son multidisciplinares porque requieren la participación de expertos en diferentes campos: multimedia, SEO, contenidos, arquitectos de software, especialistas en bases de datos, .. También es un hecho de que una parte de los participantes de la definición de los requerimientos no están disponibles, como pueden ser un colectivos de usuarios de una plataforma de la que se quiere soporte. Y cuando están disponibles participan del lema IKIWISI (I know It When I See It), que quiere decir que no saben con certeza que quieren hasta que lo vean ejecutandose. Y es posible además que lo quieran ver sobre contenidos que ellos mismos gestionan. En sí, los propios requerimientos, son muy volátiles y las restricciones sobre entornos aparecen y desaparecen con más frecuencia de la que podemos gestionar. Y como la web incluyen nuevas técnicas cada día es dificil tener un equipo cualificado y con experiencia un mes tras otro.

Hay que cumplir unos principios básicos en la definición y análisis de requerimientos, y para los que vienen del desarrollo clásico y estructurado algún sacrificio:

  • Entender el contexto de proyecto. Una solución web muy extrañamente se desarrollará como solución aislada a un problema o demanda sino que formará parte de un conjunto ya funcionando. Es importante que el equipo de desarrolladores lo entiendan.
  • Implicar a todos los participantes. El desarrollo de aplicaciones web implica a muchos actores. Como ya hemos mostrado antes hay personal que dota de contenidos, personal de posicionamiento, consultores de negocio, el mismo equipo de desarrollo, miembros del equipo de sistemas, usuarios finales, .. Que complicado es hacer que todas estas partes representadas tomen conciencia de que son parte del éxito o fracaso del proyecto y que deben participar de forma coordinada y activa de la definición y análisis de requerimientos.
  • Definir de forma iterativa los requerimientos. La definición de requerimientos en un proyecto web puedo decir que no se cierra ni cuando sube el nuevo desarrollo a producción. Está en continuo cambio. Que se echen las manos a la cabeza los clásicos gestores de desarrollo de software pero en el mundo web a cada momento se puede encontrar una personalización, una actualización, una ampliación al conjunto de usuarios, .. un afinamiento a la definición original. Pero no se tiene que pensar en una caos o anarquia total del "quiero que tenga...". La definición de requerimientos clave (entendidos como los que definen la arquitectura del sistema, diferentes escenarios o planning de proyecto) tiene que tener una fecha límite y consenso de todas las partes. Más allá de esto, el resto de requrimientos participan de la propia flexibilidad de la web y de la comprensión en ello de la dirección.
  • Enfocar la arquitectura del sistema. Como hemos indicado en el punto anterior encontrar la arquitectura del sistema y construir alrededor de ella el resto de requerimientos es el camino adecuado para desarrollar aplicaciones flexibles y escalables.
He leido en varios autores y sitios que la tendencia es a entender estos puntos y que una nueva generación de gestores procedimenten alrededor de estas ideas la toma de requirimientos. Supongo que con ello vendrá el uso cooperativo de herramientas de gestión de requerimientos con pesos especificos para cada grupo de usuarios participantes. Las herramientas de bugtracking son las candidatas para ello, con ciertas adaptaciones. También me ha llamado mucho la atención al respecto cuando he oido decir que ya empieza una tendencia a hacer desaparecer la barrera entre desarrollo y uso de aplicaciones en desarrollo, entendiendo que todo el que participe en la definición del proyecto puede utilizar la aplicación a medida que esta se va desarrollando enriqueciendo así la afinación de requeriemientos. Sinceramente es una idea genial en el marco que hemos comentado. Sin embargo el esfuerzo de organización y madurez del colectivo necesitan ser máximos.
Última actualización el Domingo 11 de Enero de 2009 12:00  

Nice Social Bookmark

Facebook MySpace Twitter Digg Delicious Stumbleupon Google Bookmarks RSS Feed 

Newsflash

With a library of thousands of free Extensions, you can add what you need as your site grows. Don't wait, look through the Joomla! Extensions library today.