U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

16
INGENIERÍA DEL SOFTWARE Ingeniería de Sistemas y Telecomunicacion Perfiles y Roles del sector Software

description

Role y perfiles en el sector software: el caso Colombiano.

Transcript of U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Page 1: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

INGENIERÍA DEL SOFTWAREIngeniería de Sistemas y TelecomunicacionesPerfiles y Roles del sector Software

Page 2: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

La fábula de la granja

«Un día cualquiera, los animales de una granja decidieron hacer una fiesta, con el propósito de pasar un momento agradable. Para organizar la fiesta, se reunieron el mismo día en la mañana. Cada animal debía llevar algo a la fiesta. Como es lógico, a la vaca le pidieron la leche. A la gallina, le tocó llevar los huevos. Y al chancho, el tocino.»¿Quién tiene mejor

participación?

Page 3: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

La fábula de la granja

«…En este caso, la vaca y la gallina participan de la fiesta. Sin embargo, el chancho seencuentra involucrado. Su participación le obliga a entregar parte de si mismo comoaporte para la fiesta. Al chancho le toca aportar una cuota de sacrificio mayor. Loanterior muestra la diferencia entre participar en un evento y estar involucrado.»

Page 4: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Tomemos esta fábula para caracterizar a los miembros del grupo de un desarrollo de software. ¿Cómo se comportan, en general? ¿Participan o están comprometidos en el proceso de desarrollo de software?

Page 5: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software
Page 6: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles in the software industry

Roles that one can perform in a software industry:Programmer, software tester, solution architect, solution integrator, solution designer, software developer, Enterprise architect, system architect, system engineer, Configurative management engineer, test engineer, team leader, project manager, Portfolio manager, process owner,  implementation engineer, deployment and maintenance engineer,  hardware and interfacing process engineer, business analyst, functional/domain consultant, quality assurance engineer,  technical support engineer, technical sales engineer, IT professional, Management information systems manager, business intelligence and reporting engineer, technologist specialist, industry analyst, web master, web developer, application developer, technical content writer, security expert, search engine optimization engineer, technical evangelist, technology evangelist, user interface designer.

There exists a wrong notion that software is all about programming, designing and development. But it actually is not all. It includes a variety of other roles which are as important and implicit for the successful completion and implementation of a project.

One can perform any of the following roles in a software industry.

“The Indian information-technology (IT) services industry is one of the fastest-growing

industries in the country”, smithSon, 2011

Page 7: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles en el sector Software

Perfil

Gerente de proyecto/Administrador de Proyecto/Gestor del Proyecto

Ingeniero de requerimientos/Ingeniero de requisitos

Ingeniero de servicio/Ingeniero del lado del cliente

Ingeniero analista

Ingeniero de modelado/Ingeniero de diseño/Arquitecto de software

Ingeniero desarrollador/Ingeniero programador/Ingeniero de codificación/Analista desarrollador

Ingeniero Tester/Ingeniero de pruebas/Ingeniero de validación/Analista de pruebas

Ingeniero de calidad/Ingeniero asegurador

Ingeniero de configuración/Ingeniero de documentación

Ingeniero de manutención/Ingeniero de mantenimiento

Page 8: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: el Gerente/Administrador/Gestor del proyectoEl administrador de proyecto es la persona que administra y controla los recursos asignados a un proyecto, con el propósito de que se cumplan correctamente los planes definidos. Los recursos asignados pueden ser recursos humanos, económicos, tecnológicos, espacio físico, etc. En un proyecto, siempre debe existir un administrador/gerente/gestor.

No obstante, un Gerente puede dirigir más de un proyecto. El administrador no es dueño de nada, es sólo un administrador temporal de los recursos. Como no es dueño de nada, debe dejarlos en la misma o mejor condición decómo los recibió.

«Los Gerentes de Desarrollo son quienes lideran las diferentes iniciativas y proyectos de desarrollo de software para algunas de las más importantes compañías del continente. Son personas con experiencia en la coordinación y gestión de equipos multidisciplinarios de tareas, orientados y comprometidos al logro, proactivos, con mucha energía y motivación. Personas organizadas, con destacadas habilidades gerenciales y que puedan mantener excelentes relaciones interpersonales con su equipo y con los clientes. El Gerente de Proyecto es una persona metódica, persistente y organizada en el manejo de los diferentes frentes de los proyectos de clase mundial»

PSL, 2011

Page 9: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: el Ingeniero de requisitosComprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requisitos de los inversores, que pueden entrar en conflicto entre ellos.

Muchas veces se habla de requerimientos en vez de requisitos; esto se debe a una mala traducción del inglés. La palabra requirement debe ser traducida como requisito, mientras que requerimiento se traduce al inglés como request.

«Los Ingenieros de Requisitos son personas que actúan como el punto de conexión entre los clientes y los equipos técnicos, asegurándose que entienden lo que los clientes realmente necesitan y saben comunicarlo efectivamente a los demás equipos al interior de la compañía. Es una persona con experiencia en desarrollo, levantamiento de requisitos o gerencia de proyectos de software, con amplias capacidades de comunicación asertiva, análisis y resolución de problemas, con disposición y facilidad para trabajar con el cliente y el equipo de desarrollo.»

PSL, 2011

Page 10: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: el Ingeniero de servicioEl ingeniero de servicio es una persona que, durante la ejecución de un proyecto,

permanece «in situ».

Tiene como propósito garantizar que la empresa ejecutora del proyecto siempre tenga alguien que ofrezca información de primera mano sobre el proyecto a la organización contratante.

«Los Ingenieros de servicio son personas que actúan como la empresa en el sitio del cliente. Normalmente tienen capacidad para tolerar todas las exigencias previstas o imprevistas de un proyecto con el personal de la empresa contratante. Capacidad de servicio, de trabajo bajo presión, de vocabulario adecuado en el momento adecuado (asertividad), son características de la persona que ejerce este rol»

SEI, 2009

Page 11: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: el Ingeniero analistaEs una persona con capacidades de comunicación, debido a que deberá tener un contacto estrecho con el cliente. Por lo mismo anterior, debe ser una persona sociable, expresando sus ideas en forma clara en un lenguaje común con el cliente.También debe tener la capacidad de escuchar y entender al cliente. Se espera que losanalistas tengan un alto grado de desarrollo de su inteligencia emocional.

«Los analistas deben conocer y manejar perfectamente los métodos y las tecnologías de apoyo para realizar las fases de análisis. Además, se espera creatividad, lo que le permitirá establecer diferentes alternativas de modelos para la arquitectura del sistemaa construir. También es importante que los analistas estén muy familiarizados con las técnicas dediseño que se utilizarán en las siguientes fases. Además, se hace necesario que esté familiarizado con los diferentes lenguajes de programación para ayudar a escoger el apropiado para la construcción del sistema.»

SEI, 2009

Page 12: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: Ingeniero de modelado/Ingeniero de diseño/Arquitecto de software

• Generalmente son los más capacitados para realizar decisiones estratégicas debido a su experiencia en modelación, diseño y en la construcción de sistemas similares.

• No son necesariamente desarrolladores o programadores, aunque normalmente tienen habilidades de programación adecuadas.

• Deben conocer muy bien la metodología de diseño utilizada, así como sus herramientas de apoyo

«son personas con amplio conocimiento y/o experiencia en el diseño y desarrollo de soluciones de software, responsables de tomar decisiones acertadas en el diseño, tecnología, plataformas, frameworks de desarrollo de los proyectos asignados. Su objetivo es tener un completo entendimiento de las necesidades del cliente, siendo responsable del diseño óptimo de las soluciones tecnológicas desarrolladas, con buenas capacidades de análisis, abstracción y solución de problemas, líderes que puedan trabajar tanto individualmente como en equipos multidisciplinarios, que puedan comunicarse de manera fluida con clientes y compañeros de equipo, que entiendan de manera global y contundente el contexto de un proyecto, capacitados para asumir el diseño de soluciones.»

PSL, 2011

Page 13: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: Ingeniero desarrollador/Ingeniero programador/Ingeniero de codificación/Analista desarrollador.

Deben convertir la especificación del sistema en código fuente ejecutable utilizando uno o más lenguajes de programación, así como herramientas desoftware de apoyo a la programación.

Relevan al arquitecto de software en el proyecto.

Poseen gran habilidad en el manejo de paradigmas, metodologías, lenguajes y tendencias del desarrollo de software

«son personas con amplio conocimiento en herramientas relacionadas con las tendencias en el desarrollo de software: JAVA, PHP, SQL, .NET, etc.

Deben poseer gran capacidad para adaptarse a entornos tecnológicos y los cambios que éstos sufren. Su agilidad en el manejo de las herramientas es indispensable para lograr los tiempos estimados de pruebas y finalización de un proyecto.

Elaboran pruebas unitarias y para ello requieren un trabajo serio y respetuoso entre colegas (esto es, no seguir la corriente)»

AVLS, 2010

Page 14: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Roles: Tarea para el estudiante

CONSULTAR LOS DEMÁS PERFILES

Page 15: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

¿Cuánto devenga cada perfil?

Page 16: U1T2 - Ingesoft - Roles y Perfiles en el desarrollo de Software

Estudio de salarios en el sector SoftwarePerfil 2009 2011

Gerente de proyecto/Administrador de Proyecto/Gestor del Proyecto

4.620.000

5.100.000

Ingeniero de requerimientos/Ingeniero de requisitos

2.780.000

3.100.000

Ingeniero de servicio/Ingeniero del lado del cliente

2.400.000

2.750.000

Ingeniero analista 2.580.000

2.930.000

Ingeniero de modelado/Ingeniero de diseño/Arquitecto de software

3.970.000

4.290.000

Ingeniero desarrollador/Ingeniero programador/Ingeniero de codificación/Analista desarrollador

1.710.000

2.070.000

Ingeniero Tester/Ingeniero de pruebas/Ingeniero de validación/Analista de pruebas

2.650.000

3.000.000

Ingeniero de calidad/Ingeniero asegurador 3.100.000

3.450.000

Ingeniero de configuración/Ingeniero de documentación

2.980.000

3.090.000

Ingeniero de manutención/Ingeniero de mantenimiento

2.920.000

3.100.000