El desarrollo de software y la gestión de proyectos van de la mano como el signo menor que y el signo mayor que en una página de HTML. Por lo general, preferiría no ver uno sin el otro.

En esta guía, lo guiaremos a través de todo lo que hace que la administración de proyectos de software sea especial, incluido cómo funciona, cómo se puede usar y cómo gestión de proyectos de desarrollo de software difiere de otras implementaciones de procesos de gestión de proyectos.

¿Qué es la gestión de proyectos de desarrollo de software?

La gestión de proyectos de software es el uso de prácticas y sistemas de gestión de proyectos para ayudar a lograr los objetivos relacionados con el software.

Lo utilizan los equipos de desarrollo de software para entregar proyectos de todas las formas y tamaños, que incluyen:

  • Desarrollo de nuevo producto

  • Parches y actualizaciones

  • Gestión de configuración

  • Desarrollo de sistemas de información

  • Desarrollo impulsado por pruebas (TDD)

En pocas palabras, es probable que casi cualquier proyecto de desarrollo de software sea lo suficientemente complicado como para justificar el uso de la gestión de proyectos.

Casi toda la gestión de proyectos de desarrollo de software se facilita mediante un plataforma de gestión de proyectos. Este es un espacio de trabajo digital compartido donde se gestiona el proyecto.

El proceso de gestión de proyectos de desarrollo de software

La mayoría de los proyectos de desarrollo de software pasan por las siguientes fases:

  • Iniciación

  • Planificación

  • Ejecución

  • Finalización / Evaluación

Fase # 1: Iniciación

Durante la Iniciación, definimos los requisitos más básicos del proyecto. Esto podría ser cualquier cosa, desde crear un nuevo software hasta reparar un software existente que tiene una UX defectuosa. La parte interesada comisionada y los líderes del equipo del proyecto deben documentar los requisitos que acuerden como carta del proyecto. Una vez que la carta haya sido aprobada y firmada por todos los partes interesadas del proyecto, comienza el proyecto.

Fase # 2: Planificación

Luego viene la fase de planificación, donde el equipo trabaja en conjunto para formular el plan de proyecto. Uno de los resultados clave de la planificación del proyecto son los entregables del proyecto. Estos son los elementos que entregará el proyecto, que pueden variar desde nuevos productos de software hasta parches. Es común que los proyectos de software tengan múltiples entregables.

Otro elemento importante de la planificación es definir los criterios que se utilizarán para medir el éxito del proyecto. Los criterios de éxito ampliamente utilizados para proyectos de software incluyen objetivos de calidad y si el proyecto se entregó a tiempo y dentro del presupuesto. Básicamente, ¿qué hará que el proyecto sea un éxito?

Una vez que sus entregables y criterios de éxito estén alineados, puede pasar a planificar las actividades que conforman el trabajo del proyecto. Los elementos de este proceso de planificación incluyen:

  • Identificar, crear y asignar tareas.

  • Especificando hitos del proyecto, que representan hitos clave en el camino hacia la finalización del proyecto.

  • Identificando dependencias entre tareas, donde la finalización de una tarea depende de que se complete primero otra.

  • Agrupar tareas vinculadas en listas de tareas.

Fase # 3: Ejecución

La fase de ejecución de un proyecto de software abarca el trabajo activo del proceso de desarrollo de software. Esto, como saben todos los desarrolladores, representa una serie adicional de procesos que incluyen tareas de diseño, desarrollo, pruebas y aseguramiento de la calidad (QA). Este trabajo debe completarse a través de su elegido flujo de trabajo de desarrollo.

El papel de la gestión de proyectos a lo largo de la fase de ejecución se centra principalmente en el seguimiento del proyecto. Esto incluye hacer un seguimiento del progreso del proyecto en función del tiempo disponible e identificar los bloqueos que podrían impedir el progreso del equipo.

Fase # 4: Evaluación

En la fase final del ciclo del proyecto, los equipos de software deben reunirse (ya sea cara a cara o digitalmente) y evaluar conjuntamente el proyecto.

Pregúntense: ¿qué funcionó realmente bien, qué nos decepcionó o frenó, y hubo algún aprendizaje que se pueda incorporar directamente en la planificación del próximo proyecto? Las respuestas a estas preguntas podrían ser clave para la mejora de su equipo a largo plazo.

En algunos metodologías de gestión de proyectos, este proceso de evaluación se facilita a través de reuniones denominadas retrospectivas.

Desarrollo de software <3 gestión ágil de proyectos

Los proyectos de desarrollo de software a menudo se gestionan de acuerdo con gestión de proyectos ágiles principios. Esto tiene mucho sentido, dado que ágil fue inventado por desarrolladores de software.

Agile es un conjunto de principios que forman la base de las principales metodologías de gestión de proyectos, como scrum y kanban. Es la base del pensamiento detrás de la mayoría de los procesos de gestión de proyectos contemporáneos.

Según Agile Alliance, el enfoque ágil se puede dividir en los siguientes principios:

  1. Satisfacer al cliente mediante la entrega temprana y continua de software valioso

  2. Dar la bienvenida al cambio y aprovecharlo para la ventaja potencial del cliente

  3. Entregue software de trabajo con frecuencia, en escalas de tiempo cortas

  4. Las personas del lado comercial y de desarrollo del equipo deben trabajar juntas en estrecha colaboración, día a día

  5. Los miembros del equipo deben contar con el apoyo total y la confianza para hacer su trabajo

  6. Las conversaciones uno a uno son la mejor manera de transmitir información

  7. El software funcional es el mejor indicador de progreso

  8. La tasa de trabajo, progreso y uso del software debe ser sostenible.

  9. Debe prestarse una atención constante a la excelencia técnica y al diseño eficaz.

  10. Sencillez

  11. Los equipos deben estar habilitados para autoorganizarse

  12. El equipo debe tener oportunidades periódicas para reflexionar y organizarse a sí mismo.

Prestar atención a estos principios generalmente resulta ser un acierto para los equipos de desarrollo de software, por lo que le recomendamos que integre los 12 en su proceso de gestión de proyectos.

La gestión ágil de proyectos fue reconstruida gradualmente por ingenieros de software, en las últimas décadas del siglo XX. Hoy en día, todo tipo de equipos lo utilizan para entregar sus proyectos, incluidos departamentos gubernamentales, agencias creativas, desarrolladores web y, por supuesto, ingenieros de software. No tenemos ninguna duda de que los ingenieros de software continuarán utilizando durante mucho tiempo los principios de gestión de proyectos que creó su propia profesión para construir cosas útiles para el futuro.

undefined

Gerente de proyectos de software: rol y responsabilidades 

La mayoría de los equipos de desarrollo de software se beneficiarán de trabajar con un software especializado. gerente de proyecto. Esta persona dirige al equipo a través del proceso de gestión de proyectos. Es probable que estén bien calificados para gestionar proyectos de software, con una combinación de conocimientos de desarrollo de software y experiencia en gestión de proyectos.

Las responsabilidades que se enumeran comúnmente en las descripciones de funciones del administrador de proyectos de software incluyen:

  • Liderar y ayudar proyectos de software

  • Entrega de informes de estado a las principales partes interesadas

  • Líder en el control de cambios (este proceso garantiza que los cambios en un entregable estén dentro de los parámetros aceptados)

  • Comunicación del proyecto

  • Gestionar varios proyectos a la vez

  • Crear y mantener la documentación del proyecto

  • Medir el desempeño del proyecto utilizando herramientas y métricas adecuadas

Otra cosa que el director de proyectos de software debe hacer bien es comunicarse. En particular, deberán actuar como intermediarios entre el cliente o la parte interesada encargada y el equipo de desarrollo. Esto ayuda a los desarrolladores del equipo a concentrarse en hacer lo que mejor saben hacer y también le da a la parte interesada encargada un punto de contacto constante.

El director del proyecto también debe hacer todo lo posible para garantizar que el proceso de gestión del proyecto siga funcionando. Tendrán que asegurarse de que el equipo haga su trabajo de acuerdo con la metodología de gestión de proyectos elegida, mientras optimizan el proceso de gestión de proyectos para que funcione para el equipo.

¿Puede administrar un proyecto de software sin un gerente de proyecto?

Ya sea por elección o por necesidad presupuestaria, algunos equipos de desarrollo de software utilizan un enfoque de gestión de proyectos sin la participación de un director de proyecto. Si eso le suena a su equipo, tenga la seguridad de que los miembros habituales del equipo de desarrollo de software pueden realizar las tareas de gestión de proyectos a la perfección.

Si va a tomar la gestión de proyectos "en equipo", asegúrese de tener estas tres cosas en su lugar:

  • Fuertes capacidades de gestión de proyectos en el equipo. Esto se logra mejor a través del entrenamiento y la práctica. Una buena manera de poner al día a todos los miembros del equipo es hacer que la responsabilidad de la gestión del proyecto gire a través del equipo de un proyecto a otro.

  • Asignación clara de las tareas de gestión de proyectos a los miembros del equipo, para que todos sepan quién está haciendo qué en cada proyecto.

  • Una plataforma de gestión de proyectos intuitiva, con un atento soporte al cliente.

Tácticas de gestión de proyectos recomendadas para equipos de desarrollo de software

Si bien un enfoque de gestión de proyectos genérico generalmente funciona para administrar proyectos de desarrollo de software, recomendamos incorporar los siguientes métodos especializados en su proceso:

Técnicas de estimación de proyectos

El alcance de un proyecto de software puede ser difícil de definir. ¿Cómo podemos estimar cuánto trabajo le llevará a un equipo crear algo nuevo para ellos, y tal vez incluso nuevo para todos?

La estimación de proyectos de software es difícil incluso para los ingenieros de software con experiencia, y es un problema especialmente desafiante para las partes interesadas no técnicas, que pueden carecer de la intuición del desarrollador para la complejidad de las tareas de desarrollo de software.

Podemos superar el desafío de estimar el alcance del proyecto de desarrollo de software mediante el uso sistemático de técnicas de estimación de proyectos. Recomendamos explorar las siguientes opciones:

  • Estimación análoga

    , donde los elementos del alcance del proyecto se estiman en base a la comparación con elementos similares de proyectos anteriores.

  • Estimación paramétrica, donde se utilizan medidas como el costo promedio de escribir un cierto número de líneas de código para estimar el costo del proyecto.

  • Técnica de revisión de la evaluación del programa (PERT)

Gestión del alcance del proyecto

Los proyectos de software pueden ser vulnerables a excesivos alcance fluencia, también conocido como feature creep. No tenemos ninguna duda de que la sola idea de esto es suficiente para darles algunos escalofríos.

La fluencia del alcance es donde los requisitos de un proyecto aumentan considerablemente durante la vida útil del proyecto. Es de esperar un cierto grado de fluencia, pero demasiado puede evitar que los proyectos se entreguen a tiempo y dentro del presupuesto.

La primera y mejor precaución que puede tomar contra el avance del alcance es adoptar un enfoque exhaustivo y crítico para la planificación del proyecto. Es muy preferible identificar un problema potencial durante la fase de planificación, en lugar de durante la ejecución del proyecto, ya que esto le permitirá planificar cuidadosamente una solución alternativa, en lugar de agregar características del proyecto sobre la marcha. Durante la ejecución del proyecto, puede evitar el exceso de alcance mediante una gestión cuidadosa del cambio del proyecto.

Gestión de riesgos del proyecto

"Riesgo del proyecto’ es un término específico de gestión de proyectos que puede no significar exactamente lo que espera. Un riesgo de proyecto es cualquier evento fuera de un proyecto que podría afectar el resultado del proyecto para bien o para mal. Esto podría ser cualquier cosa, desde el lanzamiento inesperado de un producto de software de la competencia, hasta un cambio en el comportamiento del usuario como resultado de una pandemia global, hasta una bandada de pájaros volando por la ventana de su oficina y picando todas sus computadoras en millones de pedazos con sus pequeños picos afilados .

No hace falta decir que algunos riesgos son más dignos de seguimiento que otros. La forma más conveniente de monitorear el riesgo de un proyecto es agregar riesgos a su plataforma de administración de proyectos. Esto le recordará que debe seguir controlando el factor de riesgo, para que pueda seguir adaptando su plan a los factores situacionales emergentes.

Herramientas de gestión de proyectos para equipos de desarrollo de software

Los equipos de desarrollo de software tienden a utilizar un herramienta de gestión de proyectos para ayudar a entregar su proyecto. Esta herramienta proporciona un espacio de trabajo de proyecto digital donde los miembros del equipo pueden colaborar y realizar un seguimiento de todas las partes móviles del proyecto. Todos los procesos de gestión de proyectos deberían ser facilitados por esta herramienta.

Algunos equipos de desarrollo de software pueden optar por integrar sus herramientas de terceros favoritas con su herramienta de gestión de proyectos. Por ejemplo, la integración de Teamwork con Dropbox permite a los equipos adjuntar archivos a tareas en Teamwork directamente desde sus cuentas de Dropbox. Si planea integrar una herramienta de terceros con su herramienta de gestión de proyectos, solo asegúrese de verificar si la integración se facilita, ya que crear su propia integración a medida podría resultar difícil, o incluso imposible.

Con la herramienta de gestión de proyectos adecuada de su lado, su proceso de gestión de proyectos estará equipado para funcionar sin problemas y ofrecer un excelente software.