¿Cuál es el trabajo más considerado en los Estados Unidos entre el ingeniero de software y el gerente de producto?

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.

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

No puedo dar una respuesta general, pero hay algunos indicadores. Como se ha señalado anteriormente, hay empresas que tienen carreras profesionales separadas para ingenieros, una que lleva a la gestión de ingeniería y una carrera técnica. En las empresas sin una carrera profesional técnica dedicada, la gestión de productos puede ofrecer una carrera profesional alternativa que no implique la gestión de personas. En esas empresas, la gestión de productos suele ser una carrera más prestigiosa.
Sin embargo, esto no significa que la gestión de productos en una empresa como esta sería una opción profesional atractiva, porque una empresa que no valora a sus ingenieros tendrá dificultades para ofrecer excelentes productos en términos de calidad y ambición tecnológica. Como gerente de producto, solo puede ser tan bueno como su equipo y si hay un techo de experiencia para su equipo de ingeniería, entonces buena suerte para estar a la altura del potencial de su mercado.
Desde mi experiencia, he visto la existencia de una carrera profesional que no es de ingeniería, principalmente en empresas estadounidenses, lo que me lleva a la conclusión de que la valoración relativa del rol de desarrollador de software es mayor en los EE. UU. Que en otros países.

Como muchas cosas, depende.

Algunos aspectos de la gestión de productos y la ingeniería de software se están convirtiendo en productos básicos. Los adolescentes escriben aplicaciones web y móviles. Algunos gerentes de producto son gerentes de proyecto con poca propiedad del producto.

Sin embargo, algunos ingenieros de software que se especializan en decir aprendizaje automático o tienen una profunda experiencia en algoritmos o que saben cómo administrar a otros gerentes pueden agregar un gran valor a una organización.

Del mismo modo, un gerente de producto que puede comprender profundamente un mercado, generar ideas que diferencien sus productos de los competidores y diseñar soluciones factibles también puede agregar un gran valor a una organización.

Si desea construir un producto sólido que satisfaga una necesidad real del mercado a escala, necesita buenos ingenieros y personas con buenos productos.

Aquí hay una respuesta de Stack Exchange que podría atraer más perspectiva. Sin embargo, no estoy considerando ninguna de estas profesiones:

Hablando como un ex desarrollador que ahora es Gerente de Desarrollo:
Lo primero que diría es que la mayoría de los ingenieros no entienden cómo la mayoría de los gerentes pasan su tiempo. Cuando dejé mi último cargo (Gerente de Desarrollo), uno de mis desarrolladores senior tomó el puesto y me comentó un par de meses después de asumir el cargo que realmente no tenía idea de cuántas cosas estaba tratando de las que no sabía.
Puede argumentar que podría haberlo comunicado mejor, pero en general mi experiencia es que los desarrolladores realmente no quieren saber y no los hace más productivos, por lo que tiendo a no mencionarlos a menos que pregunten.
Me paso la mayor parte del día haciendo cosas que los desarrolladores que trabajan para mí no conocen pero que no les dejan en el escritorio. Cuando la basura cae en su escritorio, generalmente era inevitable (o al menos más allá de mi influencia, ver más abajo). Creo que esta es la razón por la cual muchos desarrolladores piensan que su gerente no hace nada o es incompetente: es porque si está haciendo bien su trabajo y mantiene las cosas alejadas de ellos, por definición no lo saben y, por lo tanto, tienden a asumir que no está sucediendo .
En segundo lugar, cada desarrollador que se convierte en gerente tiene opiniones sobre lo que van a hacer para mejorar las cosas, pero la realidad es que, como gerente, su influencia no es mucho mayor que como desarrollador. En general, puede cambiar el proceso hasta cierto punto, etc., pero aún así será empujado por personas irrazonables (o personas razonables empujadas por otras personas irracionales), aún no tendrá el presupuesto para oficinas individuales o aquellas patearás las máquinas, y estarás aún más sujeto a la política y otros trucos que los desarrolladores tienden a odiar.
Lo que puede suceder es que entiendas que algunas de las personas que no fueron razonables en realidad no lo son, que las cosas no siempre son como parecen en el terreno, pero cuando intentas transmitirlo al equipo, es probable que lo hagas ser visto como parte de la gestión …
Entonces, si su percepción de que va a ser grandioso y sin sentido se basa en lo que va a cambiar y en cómo va a decir la verdad al poder, entonces buena suerte con eso, pero hay una buena probabilidad de que sea bromeando a ti mismo.
Hay dos buenas razones para convertirse en gerente: porque le interesa (y puede ser interesante y puede marcar la diferencia, simplemente no tanto como cree y no obtendrá el reconocimiento que merece) o por el dinero ( y mi respuesta muy bien escondida a su pregunta bien escondida: sí, la mayoría de los gerentes ganan más que la mayoría de los desarrolladores ).
Pero si ninguno de esos apela, entonces quédese donde está. En serio, fui más feliz como un desarrollo senior y si el dinero no fuera un objeto, eso es lo que volvería a hacer.

La respuesta que busca depende de su personalidad, aptitud, calificación y valores.

El Gerente de Producto es esencialmente una posición de marketing Obtiene una mejor exposición a redes, salarios más altos y prestigio.

El ingeniero de software puede variar según la definición, el tamaño de la empresa, la industria y la calificación. Una cosa segura es que son personas técnicas.

Elegir qué carrera es obvia si buscas aceptación social. Sugeriría ser sincero contigo mismo al decidir tu carrera.

Personalmente, preferiría ser (y soy) un ingeniero de software que un gerente de personas (independientemente del título).

Sin embargo, me gusta ganar más dinero. En algunas compañías, hay dos carreras que puede tomar: una que conduce a la administración y otra que no.

He visto mucho estancamiento en los trabajos de ingeniero de software en los Estados Unidos. Mientras que los gerentes crecen comparativamente más rápido. Tenía ingenieros de software trabajando conmigo que tenían entre 25 y 26 años de experiencia con la misma designación, mientras que había gerentes que se movían a través de roles y designaciones con relativamente menos experiencia. Mi perspectiva – Gerente de producto!

More Interesting

¿Qué carrera profesional es la mejor para mí (SEO, marketing en línea)?

¿Me arrepentiré más tarde? ¿Es el camino correcto?

Cómo decidir si debo cambiar de carrera y a qué

¿Qué curso financiero se puede seguir aparte de un MBA después de un B.Tech.?

¿Es un doctorado en informática una buena carrera profesional para obtener un trabajo bien remunerado en investigación?

¿Por qué la gente quiere unirse a un banco después de completar un BE / B.Tech?

Como ingeniero de software Java, ¿cómo debo planificar mi carrera profesional?

Quiero estudiar algo relacionado con la biotecnología. ¿Qué carrera debería elegir?

¿Cuáles son las opciones profesionales futuras después de una maestría en educación de TISS?

¿Qué elegirías para convertirte en ingeniero de software o jugador de la NBA?

¿Puede el marketing ser una carrera profesional estable y sólida para mí?

¿Debería unirme a Rocket Internet como gerente de desarrollo de riesgo, o unirme a una gran empresa tecnológica haciendo bizops? ¿Cuál tiene mejores opciones de salida?

Conocí a una chica maravillosa en Siberia durante un programa de entrenamiento de un mes por el cual me enviaron a Siberia. Nos enamoramos pero ha sido muy difícil mantenerse en contacto teniendo en cuenta que trabajo en la India. Traté de obtener una transferencia a Rusia pero no funcionó. Tengo un par de opciones de trabajo en Siberia que no son tan buenas teniendo en cuenta mi perfil y experiencia laboral actual. ¿Debo seguir adelante y tomar el trabajo y comprometer mi carrera (hasta cierto punto) por la chica que amo?

¿Qué me hará un mejor candidato para puestos fuera de mi país de origen?

Si quiero disfrutar del poder, ¿cuál es la mejor carrera, un juez o un oficial de IAS / IPS?