Fuente: 10 respuestas principales a las 10 preguntas principales de gestión de proyectos que un desarrollador senior de software debe saber
Esta publicación está inspirada en la publicación de blog de Jurgen Appelo, donde hace las 100 preguntas principales que un desarrollador de software debe saber. Las preguntas son de diferentes categorías que cubren varias áreas del cuerpo de conocimiento de ingeniería de software.
Sin embargo, me gustaría agregar que un desarrollador de software, la mayoría de las veces, desconoce muchas de las preguntas planteadas aquí. A menos que haya estado en la gerencia, o haya hecho algo de gestión de proyectos como parte de la descripción de su trabajo. Estas preguntas pueden plantearse a desarrolladores senior que hayan participado en tales actividades y que tengan más de 6 años de experiencia. Pero definitivamente, no se espera de un desarrollador de software junior.
- ¿Cómo se puede llegar a ser el presidente de la India?
- Cómo conseguir un trabajo soñado en una universidad de grado B
- ¿Cuáles son los peligros de seguir tu pasión?
- Solía trabajar en tecnología Java y ahora me etiquetaron en un dominio diferente IBPM (IBM BPM). ¿Afectará mi carrera? ¿Puede IBPM ser mi elección correcta?
- ¿Cuál será la mejor opción de carrera para un estudiante de CSE, el GATE o el CAT?
Algunos de los términos que se usan con frecuencia:
Comprador , que significa Cliente o Cliente
Vendedor , lo que significa usted, o proveedor de servicios, o consultor, contratista, etc.
Gestión de proyectos:
1. ¿Qué son las restricciones triples? ¿Cuántas de las tres variables alcance, tiempo y costo pueden ser fijadas por el cliente?
Las restricciones triples son: costo, alcance y tiempo. Pero según Rita Mulchay, también incluye la calidad y la satisfacción del cliente.
El cliente puede establecer cualquiera o todas las variables, dependiendo del escenario del proyecto. Un vendedor (el que brinda los servicios de solución) debe considerar el tipo de contrato (Precio fijo, Costo reembolsable o Tiempo y material, etc.) antes de firmar el contrato.
2. ¿Quién debe hacer estimaciones para el esfuerzo de un proyecto? ¿Quién puede establecer la fecha límite?
Idealmente, el equipo, el equipo de desarrollo, debería proporcionar estimaciones realistas, basadas en la estructura de desglose del trabajo.
Pero el “plazo” puede ser impuesto por el cliente. Incluso en ese caso, las estimaciones realistas deben provenir del equipo de desarrollo. Esas estimaciones deben compartirse con el cliente, junto con las opciones de bloqueo, seguimiento rápido de la ruta crítica, o eliminación de los ciclos de prueba, alcance de corte, etc.
El impacto de cada cambio debe ser notificado al cliente; tenga en cuenta que no solo las “adiciones” son cambios. Un cliente puede solicitar eliminar una parte del alcance; lo cual, también es un cambio.
Página en 3. ¿Prefiere minimizar la cantidad de lanzamientos o minimizar la cantidad de trabajo en progreso?
Ambos.
Minimizar el número de versiones ayudará en la gestión de la configuración de la versión. Minimizar la cantidad de trabajo en progreso ayudará a enfocarse en áreas / funcionalidades específicas.
Por cierto, esto realmente depende de la restricción triple y otras variables disponibles. Por ejemplo, ¿tenemos suficiente tiempo para construir la versión? ¿Con qué frecuencia podemos pagar eso? ¿Cuál es la cantidad de recursos dedicados a este proyecto? ¿Cuáles son los requisitos del cliente? ¿Cuál es la metodología del proyecto que se utiliza? Si se trata de un modelo iterativo, puede limitar el número de lanzamientos a la funcionalidad específica. Por ejemplo, si hay 10 áreas funcionales de la aplicación, usted decide que, según el tiempo y los recursos disponibles, implementará 2 funciones por versión.
Además, el modelo iterativo ayuda al comprador y al vendedor a centrarse en áreas específicas de la aplicación. Además, ayuda al comprador a ver el resultado de sus requisitos tan pronto como pasa a la fase de desarrollo.
4. ¿Qué tipo de diagramas utiliza para seguir el progreso en un proyecto?
Diagrama de Gantt / diagrama de barras
Básicamente, puede usar cualquier gráfico o diagrama que muestre el nombre de la tarea y las fechas de inicio / finalización. Por lo tanto, puede marcar la fecha actual, todo lo que esté más allá de esa marca debería haberse terminado, y todo después de esa línea, debería estar en estado de finalización pendiente.
5. ¿Cuál es la diferencia entre una iteración y un incremento?
Piense en el modelo iterativo como repetible. Puede repetir un requisito funcional y desplegar la versión tantas veces como desee, a menos que el comprador esté satisfecho.
El modelo incremental contiene la funcionalidad añadida.
Por ejemplo, tiene una aplicación que tiene 10 funcionalidades. Entonces, planifica los incrementos con 2 funcionalidades por versión. Por lo tanto, despliega la versión con 2 funciones, el comprador probará, proporcionará sus comentarios, “iterará” a través de la funcionalidad 2, corregirá errores, agregará cambios, etc., y nuevamente lanzará una nueva versión o solución con estos dos Funcionalidad actualizada. Esto puede iterar tanto como usted decida.
6. ¿Puede explicar la práctica de la gestión de riesgos? ¿Cómo deben gestionarse los riesgos?
PMI define los procesos involucrados en la gestión de riesgos, es decir, identificación de riesgos, análisis cualitativo de riesgos, seguido de análisis cuantitativos de riesgos, luego planificación de respuesta a riesgos y luego monitoreo y control de riesgos durante todo el ciclo de vida del proyecto.
Tenga en cuenta que la gestión de riesgos es un gran tema en sí mismo. Hay personas que son contratadas por organizaciones solo para fines de gestión de riesgos.
Para que te hagas una idea de lo que significa cada proceso, déjame elaborar un poco.
La identificación de riesgos es un proceso en el que cierra los ojos y anota todos y cada uno de los elementos que puede considerar como un riesgo.
El análisis cuantitativo de riesgos permitiría identificar la probabilidad y el impacto de un riesgo.
El análisis cualitativo de riesgos es el proceso de asignación de niveles. Por ejemplo, en una escala de Alta, Media y Baja.
Y luego preparando la respuesta al riesgo;
Las siguientes son las estrategias de respuesta al riesgo que puede usar:
Evitar el riesgo: evitar el riesgo. Por ejemplo, elimine la funcionalidad o el módulo del proyecto.
Transfiera el riesgo: transfiera la responsabilidad a otra persona. Por ejemplo, subcontrato.
Mitigar el riesgo: trate de minimizar el impacto del riesgo. Por ejemplo, tener seguro.
Acepte el riesgo: si tiene que suceder, deje que suceda. Puede incluir riesgos con menores impactos.
Un punto a tener en cuenta es que el riesgo también puede ser de naturaleza positiva. Eso se llama riesgo positivo . Los gerentes tienden a asumir riesgos positivos en beneficio del proyecto.
Un pequeño ejemplo de riesgo positivo podría ser que, un cambio en el precio particular del equipo de hardware, debido a un cambio en el gobierno, o por ejemplo, debido a nuevas políticas para aumentar la inversión extranjera directa (IED) en el país. Por lo tanto, esto se puede llamar un riesgo positivo, y usted querría correr ese riesgo. Por lo tanto, su respuesta a este tipo de riesgo es “mejorar” las posibilidades de que ocurra. No sé cómo “influiría” en los departamentos estatales para aumentar la probabilidad de que el gobierno federal adopte dicha política; requiere relaciones profesionales / personales a nivel “estatal” (0;
Página en 7.¿prefiere una estructura de desglose de trabajo o una planificación de ola rodante?
¿Una respuesta? Estructura de desglose del trabajo.
¿Por qué? Porque la estructura de desglose del trabajo significa el alcance del trabajo. Todo lo que forma parte de WBS es parte del alcance, y no se necesita hacer nada más. El alcance del trabajo es claro.
Pero a veces, para proyectos más grandes; proyectos que abarcan un período de varios años, en los que el alcance del trabajo no está claro, debido a la naturaleza del proyecto. En tales casos, lo que haces se llama “planificación de ondas ondulantes”. Identifica el alcance del trabajo para el año 1, por ejemplo, si es un proyecto de 6 años, y comienza a trabajar sobre él (diseño, desarrollo, pruebas, etc.); y tan pronto como avance, el alcance para el resto del trabajo se aclarará, el cliente comprenderá mejor el negocio, los cambios entrarán; luego, actualiza el alcance para agregar más funcionalidades, por ejemplo para el segundo año. Espero que captes la idea.
Tenga en cuenta que, en cualquier caso, un proyecto grande o un proyecto más pequeño, debe usar WBS, ¿por qué? Porque WBS identifica claramente el alcance del trabajo; El trabajo que hay que hacer. Está claro para usted, su cliente, su equipo y para todos.
8. ¿Qué necesita para poder determinar si un proyecto está a tiempo y dentro del presupuesto?
Gestion del valor ganado; Esto incluye el análisis de varianza.
La gestión del valor ganado es una técnica de gestión de proyectos que le permite identificar dónde se encuentra actualmente el proyecto; con respecto al presupuesto real, línea de tiempo real; y responda las preguntas como, ¿cuánto dinero se necesita para terminar el proyecto, cuánto tiempo se requiere para terminar el trabajo, qué se planeó originalmente, cuánto se ha gastado realmente, qué se debería haber gastado?
El Índice de rendimiento de costos (IPC) le informa sobre el costo, el Índice de rendimiento de programas (SPI) le informa sobre el programa del proyecto. Un valor de IPC de más de 1 significa que el proyecto está por debajo del presupuesto; un valor SPI de más de 1 significa que el proyecto está adelantado a lo programado.
Como nota al margen, si esto puede interesarle, una desventaja con el EVM es que no tiene ninguna disposición para medir la calidad del proyecto; lo que significa que es posible que EVM indique que un proyecto está por debajo del presupuesto, antes de lo programado y el alcance completado, pero aún tiene clientes descontentos. Busque soluciones alternativas, porque el resultado final de cada proyecto debe ser ” Cliente encantado “.
9. ¿Puedes nombrar algunas diferencias entre DSDM, Prince2 y Scrum?
DSDM es un método de desarrollo de sistemas dinámicos, es un método de desarrollo de software, utiliza modelos iterativos e incrementales con estrategias RAD / JAD.
Prince2 es una metodología de gestión de proyectos basada en procesos; proporciona un conjunto específico de procesos que definen qué, cuándo y cómo se realizará una actividad y por quién durante la vida de un proyecto.
Scrum , es un método de gestión de proyectos, se inclina más hacia la gestión de proyectos iterativa e incremental, un atributo de las metodologías de desarrollo de software ágil.
10. ¿Cómo acuerda el alcance y el tiempo con el cliente, cuando el cliente quiere demasiado?
“Discutiría”, con el cliente, el impacto de las restricciones.
En mi experiencia, las ventas (departamento de ventas) tienden a prometer software excepcional con plazos “excepcionales”. Ahora, las líneas de tiempo excepcionales pueden estar bien, pero la línea de tiempo poco realista no está bien.
¿Qué pensaría su cliente cuando le diga que ha incumplido una fecha límite? y luego cuál sería la reacción del cliente si continúa deslizando los plazos.
Te encontrarás con las siguientes razones principales cada vez que termines en la situación anterior:
Motivo principal 1: ¡Ventas! Para “alcanzar” sus objetivos, las Ventas tienden a prometer plazos que solo se pueden lograr si cualquiera de los clientes está muerto, sin impacto de la línea de tiempo, o si sus recursos son humanoides. Si sabes a lo que me refiero. Si no lo sabe, entonces estoy “realmente” hablando de las líneas de tiempo realistas. Por lo general, los plazos se “imponen” al equipo, y se frotan el culo para hacer el trabajo.
Lo siguiente es cómo termina todo el equipo:
Razón principal 2: Alternativamente, las líneas de tiempo “impuestas” pueden venir directamente de su jefe. ¡Sip! ¡No ventas, sino tu BOSS! Un jefe, que “una vez” fue desarrollador, y puede “asumir” que un trabajo de 4 días puede exprimirse en 1 día debido a las últimas máquinas Intel Core i7.
Esta decisión generalmente proviene de un jefe que no conoce mucha gestión de proyectos. Quién puede haber sido un buen programador hace algún tiempo y cree que la tarea se puede lograr en unas pocas noches. Estos son aquellos que son promovidos a un puesto por “afecto”, Hank Gilman los llama gerentes accidentales; mientras que PMI llama a este acto de afecto, Hallo Affect.
Un ejemplo simple podría ser, cuando miras a una persona atractiva, vestida / calzada en una plaza de compras, tiendes a creer que es una mujer educada y gentil. Contrariamente a esto, Hallo Affect dice que ella podría ser cualquiera. “Una floreciente estrella de cine, un científico galardonado, un ladrón de bancos o un intento de asesinato en serie.
Entonces, básicamente está en contra de la teoría de WYSIWYG (0;
O la única otra razón podría ser que eres demasiado flojo como desarrollador. Toma tiempo, más de lo necesario para desarrollar una funcionalidad.
De todos modos, todo el ciclo de vida del producto termina:
Eso es todo. Planeo responder al resto de las 90 preguntas, tan pronto como tenga algo de tiempo.
Hasta entonces, ¡disfruta!
Fuente: 10 respuestas principales a las 10 preguntas principales de gestión de proyectos que un desarrollador senior de software debe saber