stringtranslate.com

gestión de proyectos de software

La gestión de proyectos de software es el proceso de planificar y liderar proyectos de software. [1] Es una subdisciplina de la gestión de proyectos en la que se planifican, implementan, monitorean y controlan proyectos de software .

Historia

En las décadas de 1970 y 1980, la industria del software creció muy rápidamente, ya que las empresas de informática reconocieron rápidamente el costo relativamente bajo de la producción de software en comparación con la producción de hardware y los circuitos. Para gestionar nuevos esfuerzos de desarrollo, las empresas aplicaron los métodos de gestión de proyectos establecidos, pero los cronogramas de los proyectos fallaron durante las ejecuciones de prueba, especialmente cuando se produjo confusión en la zona gris entre las especificaciones del usuario y el software entregado. Para poder evitar estos problemas, los métodos de gestión de proyectos de software se centraron en hacer coincidir los requisitos del usuario con los productos entregados, en un método conocido ahora como modelo en cascada .

A medida que la industria ha madurado, el análisis de las fallas en la gestión de proyectos de software ha demostrado que las siguientes son las causas más comunes: [2] [3] [4]

  1. Insuficiente participación del usuario final
  2. Mala comunicación entre clientes, desarrolladores, usuarios y directores de proyectos.
  3. Objetivos del proyecto poco realistas o no articulados.
  4. Estimaciones inexactas de los recursos necesarios
  5. Requisitos y especificaciones del sistema mal definidos o incompletos
  6. Informes deficientes sobre el estado del proyecto.
  7. Riesgos mal gestionados
  8. Uso de tecnología inmadura.
  9. Incapacidad para manejar la complejidad del proyecto.
  10. Prácticas de desarrollo descuidadas
  11. Política de las partes interesadas (por ejemplo, ausencia de apoyo ejecutivo o política entre el cliente y los usuarios finales)
  12. Presiones comerciales

Los primeros cinco elementos de la lista anterior muestran las dificultades para articular las necesidades del cliente de tal manera que los recursos adecuados puedan alcanzar los objetivos adecuados del proyecto. Las herramientas específicas de gestión de proyectos de software son útiles y, a menudo, necesarias, pero el verdadero arte en la gestión de proyectos de software es aplicar el método correcto y luego utilizar herramientas que respalden el método. Sin un método, las herramientas no valen nada. Desde la década de 1960, los fabricantes de software han desarrollado varios métodos de gestión de proyectos de software propietario para su propio uso, mientras que las empresas de consultoría informática también han desarrollado métodos similares para sus clientes. Hoy en día, los métodos de gestión de proyectos de software todavía están evolucionando, pero la tendencia actual se aleja del modelo en cascada hacia un modelo de entrega de proyectos más cíclico que imita un proceso de desarrollo de software.

Proceso de desarrollo de software

Un proceso de desarrollo de software se ocupa principalmente del aspecto de producción del desarrollo de software , a diferencia del aspecto técnico, como las herramientas de software . Estos procesos existen principalmente para respaldar la gestión del desarrollo de software y, por lo general, están sesgados hacia la solución de inquietudes comerciales. Muchos procesos de desarrollo de software se pueden ejecutar de manera similar a los procesos generales de gestión de proyectos. Ejemplos son:

Planificación, ejecución, seguimiento y control de proyectos.

El propósito de la planificación del proyecto es identificar el alcance del proyecto, estimar el trabajo involucrado y crear un cronograma del proyecto . La planificación del proyecto comienza con los requisitos que definen el software a desarrollar. Luego se desarrolla el plan del proyecto para describir las tareas que conducirán a su finalización. La ejecución del proyecto es el proceso de completar las tareas definidas en el plan del proyecto.

El objetivo del seguimiento y control del proyecto es mantener al equipo y a la dirección actualizados sobre el avance del proyecto. Si el proyecto se desvía del plan, entonces el director del proyecto puede tomar medidas para corregir el problema. El seguimiento y control del proyecto implica reuniones de estado para recopilar el estado del equipo. Cuando es necesario realizar cambios, se utiliza el control de cambios para mantener los productos actualizados.

Asunto

En informática, el término "problema" es una unidad de trabajo para lograr una mejora en un sistema. [6] Un problema podría ser un error , una característica solicitada , una tarea, documentación faltante , etc.

Por ejemplo, OpenOffice.org solía llamar a su versión modificada de Bugzilla IssueZilla. A partir de septiembre de 2010 , llaman a su sistema Issue Tracker. [ necesita actualización ]

Niveles de gravedad

Los problemas suelen clasificarse en términos de niveles de gravedad . Diferentes empresas tienen diferentes definiciones de gravedad, pero algunas de las más comunes son:

Alto
El error o problema afecta una parte crucial de un sistema y debe solucionarse para que reanude el funcionamiento normal.
Medio
El error o problema afecta una parte menor de un sistema, pero tiene cierto impacto en su funcionamiento. Este nivel de gravedad se asigna cuando se ve afectado un requisito no central de un sistema.
Bajo / Fijo
El error o problema afecta a una parte menor de un sistema y tiene muy poco impacto en su funcionamiento. Este nivel de severidad se asigna cuando un requerimiento no central de un sistema (y de menor importancia) se ve afectado.
Trivial (cosmético, estético)
El sistema funciona correctamente, pero la apariencia no coincide con la esperada. Por ejemplo: colores incorrectos, demasiado o muy poco espacio entre contenidos, tamaños de fuente incorrectos, errores tipográficos, etc. Este es el problema de menor gravedad.

Gestión de problemas

En algunas implementaciones de procesos de desarrollo de software, los analistas de control de calidad investigan los problemas, se verifica la corrección del sistema y luego se asigna nuevamente a un miembro del equipo de desarrollo para resolver el problema identificado. También pueden ser identificados por los usuarios del sistema durante la fase de Prueba de aceptación del usuario (UAT) .

Los problemas se pueden registrar y comunicar mediante sistemas de seguimiento de problemas o defectos . En ausencia de un sistema formal de seguimiento de problemas o defectos, es común utilizar simplemente cualquier forma de comunicación escrita, como correos electrónicos o mensajes instantáneos, para comunicar la existencia de un problema encontrado.

Filosofía

Como una subdisciplina de la gestión de proyectos, algunos consideran la gestión del desarrollo de software similar a la gestión de la fabricación , que puede ser realizada por alguien con habilidades de gestión, pero sin habilidades de programación. John C. Reynolds refuta este punto de vista y sostiene que el desarrollo de software es enteramente un trabajo de diseño , y compara a un gerente que no sabe programar con el editor en jefe de un periódico que no sabe escribir . [7]

Referencias

  1. ^ ab Stellman, Andrew; Greene, Jennifer (2005). Gestión de Proyectos de Software Aplicado. Medios O'Reilly. ISBN 978-0-596-00948-9. Archivado desde el original el 9 de febrero de 2015.
  2. ^ "Por qué falla el software", en IEEE Spectrum
  3. ^ ab Producción de software de código abierto: cómo ejecutar un proyecto de software libre exitoso (libro electrónico, descargable gratuitamente), por Karl Fogel
  4. ^ ab Robert Frese y Vicki Sauter , "Mejorar sus probabilidades de éxito en proyectos de software", IEEE Engineering Management Review , vol. 42, No. 4, cuarto trimestre, diciembre de 2014
  5. ^ Philip Greenspun , en Fundadores en el trabajo de Jessica Livingston (2007), ISBN 1-59059-714-1 
  6. ^ Danés, Bertram (2009). "La naturaleza social del seguimiento de problemas en la ingeniería de software" (PDF) . Archivado desde el original (PDF) el 8 de noviembre de 2016 . Consultado el 7 de octubre de 2023 .
  7. ^ John C. Reynolds, Algunas reflexiones sobre la enseñanza de la programación y los lenguajes de programación , Avisos SIGPLAN , Volumen 43, Número 11, noviembre de 2008, p.108: "Algunos argumentan que uno puede gestionar la producción de software sin la capacidad de programar. Esta creencia parece Surgen de la visión errónea de que la producción de software es una forma de fabricación, pero la fabricación es la construcción repetida de objetos idénticos, mientras que la producción de software es la construcción de objetos únicos, es decir, todo el proceso es una forma de diseño. a la producción de un periódico [sic], de modo que un administrador de software que no sabe programar es similar a un editor en jefe que no sabe escribir".
General

enlaces externos

fracaso del proyecto