ORGANIGRAMAS
Roles y Responsabilidades en un Equipo de Desarrollo de Software
Un equipo de desarrollo puede ser una sola persona,
o 50, pero en cualquier equipo
existen una serie de roles(funciones), que pueden ser identificados.
En un equipo pequeño, puede que una persona cubra
múltiples roles, mientras que en equipos más grandes, es más común tener
funciones dedicadas.
Independientemente del caso, la identificación de los roles en el equipo ayudará a estructurar el mismo, y a crear conciencia de las responsabilidades. Por ejemplo, si nadie se siente responsable de probar el software, será inevitable que se encuentren errores en la versión final.
Independientemente del caso, la identificación de los roles en el equipo ayudará a estructurar el mismo, y a crear conciencia de las responsabilidades. Por ejemplo, si nadie se siente responsable de probar el software, será inevitable que se encuentren errores en la versión final.
Al leer cada uno de los roles descritos aquí,
piense en su equipo de desarrollo (o si el desarrollo es unipersonal, piense en
usted mismo), y evalué cómo son tratadas dentro de su equipo las distintas
responsabilidades descriptas.
El
Cliente
Se puede pensar que tratar al cliente como parte
del equipo de desarrollo es extraño, pero en realidad, no lo es: El cliente es un factor importante en el
éxito de un proyecto, tanto como cualquier otro miembro del equipo,
por eso es importante contar con la participación activa del cliente dentro del
proyecto.
También es importante entender quién es en realidad
“El Cliente”. Tanto si se desarrolla software para clientes actuales, como si
se desarrolla para uno mismo, o para la propia empresa u organización, siempre
hay un rol de cliente. El cliente,
es en esencia, quien pone en marcha el proyecto, paga las cuentas, o define el
resultado final. Aun si no se tiene literalmente un “cliente”, es
bueno entender que aun así existe un rol “cliente” en su proyecto. Esto puede
ayudar a evitar confusiones. Si hay varias personas diciendo que
características se necesitan, hay que asegurarse de que exista algún
responsable de tomar las decisiones cuando estos requisitos sean
contradictorios.
El
Analista
El analista es alguien
que es responsable de entender las necesidades del cliente, y asegurarse de
que la solución que está siendo desarrollada se ajusta a esas necesidades.
Las actividades típicas de un analista incluyen la
elicitación de requisitos, reuniones con clientes y la redacción de
especificaciones funcionales.
Incluso si un proyecto es demasiado pequeño para
escribir un verdadero documento de especificación, la comprensión de las
necesidades del cliente es un trabajo importante, dado que a menudo el éxito de
un proyecto de desarrollo depende de qué tan cerca está la solución
desarrollada de las expectativas del cliente.
El
Arquitecto de Software
El papel del arquitecto
de software es traducir los requisitos, tal como se define por el analista, en
una solución técnica. Él puede crear un diseño técnico, o
simplemente algunos bocetos a mano alzada, de cómo el sistema va a estar
estructurado. En cualquier caso, es la responsabilidad del arquitecto a pensar
en el sistema antes de que se desarrolle. Si se hace bien, durante la fase de
diseño que se abordarán correctamente todos los problemas que se enfrenten en
el desarrollo de la solución.
A menudo hay muchas maneras de lograr algo. El arquitecto de una aplicación es el que
decide qué camino tomar, en base a la arquitectura global que ha elegido. Cuando
el desarrollo se ha iniciado, es responsabilidad del arquitecto realizar un
seguimiento del desarrollo, para ver si todavía se mantiene en consonancia con
el diseño general.
El
Arquitecto del Sistema
Al igual que el arquitecto de software, el Arquitecto del Sistema es responsable de
pensar el sistema antes de construirlo. Asi como el arquitecto de
software es responsable para el software, un arquitecto del sistema es
responsable del hardware. Muchas aplicaciones ejecutan completamente en un
único servidor. Muchos otros sin embargo se ejecutan en grupos de servidores,
con servidores dedicados de bases de datos, servidores web y balanceadores de
carga. Un arquitecto del sistema tiene en cuenta los requisitos de rendimiento
y disponibilidad, el número de usuarios / visitantes, etc. y en base a esto,
diseña una infraestructura de servidores y una red.
El
Desarrollador de Software
El desarrollo efectivo de una aplicacion es hecha
por los desarrolladores del equipo. Pero un desarrollador tiene más responsabilidades que solo escribir código. Él
es a menudo responsable de hacer el seguimiento de su propio progreso, e
informar al jefe de proyecto de los problemas a los que se enfrenta. Él es
también quien implementa las ideas del arquitecto, y como tal, puede tener que
discutir las (in)posibilidades de la implementación con el arquitecto.
Una responsabilidad
importante es documentar el código. Mientras que muchos desarrolladores piensan que
la documentación es algo que será realizado mejor por alguien más, esta es en
realidad una responsabilidad importante del desarrollador.
La Documentación de Código tiene como objetivo el
explicar a otros desarrolladores aquellas cosas que no resulten evidentes o
claras a partir de la lectura del propio código en sí. Se debe dar una idea de
por qué un fragmento de código es de la manera que es. El desarrollador es el único que conoce los
pensamientos e ideas detrás del código que escribe, lo cual lo convierte
en el candidato perfecto para documentarlo.
El
Jefe de Desarrolladores
Un desarrollador líder, que tiene las mismas
responsabilidades que los otros desarrolladores, pero también tiene añadidas
algunas más. Un desarrollador
líder debe entrenar a los otros desarrolladores, y ayudarles a resolver los
problemas que puedan enfrentar. Este desarrollador, que suele ser
el miembro del equipo más experimentado, también será capaz de asegurarse de
que la ejecución sigue de cerca al diseño planteado, y no se dé lugar a lo que
se denomina “invasión de características” durante el desarrollo. El
desarrollador líder tiene una gran influencia en la calidad del código.
El
Diseñador Gráfico
“Lo de dentro es lo que cuenta.”, es tan cierto,
como que también la percepción de los usuarios depende mucho de la mirada y la
sensación que le produce una aplicación o sitio web. No importa lo buena que la aplicación sea, si
la interfaz es inconsistente, se sentirá menos robusto.
Es importante reconocer
el papel del diseñador en un proyecto. Es bueno tener alguien encargado de la
disposición general de una aplicación. Esto puede ir desde el diseño completo
de la interfaz de usuario, hasta el definir sólo algunas directrices de interfaz
de usuario que los desarrolladores deban cumplir.
Incluso si el diseño está determinado por los
desarrolladores, es una
responsabilidad importante crear un diseño consistente en toda la aplicación.
El
Tester
Las pruebas son una parte
importante para asegurar que el software funciona de la manera que debería. El papel de
‘tester’ se realiza a menudo por los desarrolladores para los aspectos técnicos
y los usuarios para los aspectos funcionales. Un problema que surge de hacer a
los desarrolladores probar su propio código es que, no importa lo bueno que
sean, se ven influidos por la forma de su código fue creado. Cuando se prueba,
se tendrá en cuenta esas mismas situaciones que que ya se tuvieron en cuenta a
la hora de escribirlo.
Si se prueba código de otra persona, se puede
pensar en escenarios que la otra persona no los pensó. Así que incluso si no se
tiene un equipo de Testers dedicado, es una buena idea que cada desarrollador
pruebe código de otro desarrollador, en lugar del suyo propio.
El
Gerente del Proyecto
Un gerente de proyecto tiene muchas
responsabilidades. Es responsable
de la planificación del proyecto, de mantener el proyecto dentro del
presupuesto, y de la solución de problemas. En resumen, él resuelve
cualquier problema que ponga en peligro el progreso del proyecto.
Muchas de las tareas del gerente del proyecto
tienen que ver con la comunicación, la comunicación al cliente sobre el
progreso del proyecto y la comunicación con todos los miembros del equipo.
Incluso en los proyectos de desarrollo que no cuentan con un gerente de
proyecto, es conveniente asignar el rol de gerente de proyecto a alguien, para
que quede claro quién es responsable de la ejecución del mismo.
El
Administrador de Cuentas
Si usted desarrolla proyectos para clientes, sus
proyectos pueden beneficiarse de las funciones de un Administrador de Cuentas. Un administrador de cuentas cultiva la
relación con el cliente. Aunque la gestión de proyectos y
administración de cuentas se hace a menudo por la mismo persona dentro de un
proyecto, hay situaciones en las que ayuda a dividir estos roles.
Un administrador de cuentas puede mantener una
relación más independiente con el cliente, y avisar si el cliente no está
contento con la forma en que se ejecuta el proyecto por parte del gerente del
proyecto.
Al separar los roles de
Administrador de cuentas, y Gerente de proyecto, también lograremos evitar
conflictos de interés.
El director del proyecto puede concentrarse y
proyectar lo mejor de sus habilidades para el funcionamiento del proyecto,
mientras que el administrador de cuentas puede tomarse el trabajo de reconocer
oportunidades comerciales.
El
Administrador de sistemas
El sistema en que la
aplicación será instalada es creado por un administrador del sistemas.
Se arman los servidores, se instala el sistema
operativo, un servidor web, PHP, una base de datos y cualquier software
adicional que se requiera.
Incluso antes de que el proyecto se haya terminado,
un administrador del sistema puede tener que construir los entornos de
desarrollo y ambientes de prueba.
Más adelante en el proyecto, se ocupara de mantener
los sistemas operando.
El
Administrador de Código
El Código es importante y debe ser tratado como
tal, el código necesita ser gestionado. Si varios de los desarrolladores están trabajando en conjunto, el código
que escriben deben integrarse en algún momento, independientemente del
sistema de control de versiones utilizado.
Además, cuando haya terminado, el proyecto debe ser
implementado. La implementación del proyecto significa tomar el código y
desplegarlo en el servidor. Aunque usualmente no hay una persona manejando
esto, es importante identificar dicho rol.
El
Capacitador
Cuando un proyecto se
haya completado, los usuarios pueden necesitar ser capacitados, en particular si
en el proyecto se desarrollado una aplicación.
No es común capacitar a los usuarios de un sitio
web, pero a menudo hay un back-end que los administradores tendrán que ser
aprender a usar.
El Capacitador relaciona
las soluciones que se han creado con el usuario final.
Una
importante responsabilidad del Capacitador es explicar cómo la aplicación
resuelve el problema del cliente y, como tal, juega un papel importante en
asegurar que las expectativas del cliente sobre el software están en línea con
lo que ha sido creado.
OFERTAS DE TRABAJO
empresa integral especializada en desarrollo de software, diseño web y digital marketing.
Buscamos a desarrollador web PHP Senior/Laravel con experiencia para desarrollo de aplicaciones web a la medida, que le apasione lo que hace, sea independiente, autodidacta, perfeccionista y sobretodo le guste desarrollar grandes proyectos para todo tipo de clientes.
Requisitos
Lenguajes de Programación:
- PHP Avanzado
- HTML5/CSS
- Javascript
- SQL (MySQL, PostgreSQL y/o similares)
Uso de Frameworks:
- Laravel 5 en adelante
- Bootstrap, Foundation o similares
- VueJS, Angular o similares
- SASS, Less o similares
Otros conocimientos:
- Conozca estándares como PSR-7 para programación en PHP
- Uso de Linux / Administración de servidores
- Git
- Composer
No necesario pero un plus si conoce tecnologías como:
- Node.js, Socket.io, Redis,
- Desarrollo de Apps Hibridas (Ionic, Xamarin, Onsen UI, etc)
Detalles
- Tiempo completo
- Hasta $30,000MXN según conocimientos(negociable)
- Ubicación: Coyoacán, Ciudad de México
Te ofrecemos
- Buen ambiente laboral
- Trato directo con clientes y desarrollo de grandes proyectos
- La posibilidad de innovar
- Libertad de acción
- Sueldo competitivo + Prestaciones de ley
- Oportunidad de crecimiento
Postularme
Envíanos un correo a bolsa@vexilo.com mencionando esta vacante para agendar una cita presencial. De ser posible envíanos alguna muestra de tu trabajo.
Soporte Técnico - Ingeniero de Servicio Puebla en Puebla - INTEGRATIO
- $ 8.000,00 (Mensual)
- Puebla, Puebla
- Importante empresa dedicada a brindar servicios de TI solicita:
INGENIERO DE SERVICIO
REQUISITOS
• Escolaridad: Ing., Técnico ó Lic. en Informática, Computación, Sistemas o a fin (titulado o trunco)
FUNCIONES PRINCIPALES
• Recibir llamadas de usuarios
• Soporte vía remota en software y hardware
• Brindar asesoramiento y consultas en función de recursos informáticos
• Identificar y asignar prioridad
• Encuesta de satisfacción
• Control de base de datos
• Desarrollo de manuales
• Registro de reportes
• Soporte técnico de nivel 1 y 2
EXPERIENCIA
• 1 año
CONOCIMIENTOS
• Atención telefónica a 1er nivel y 2do nivel soporte técnico a computadoras (hardware/software)
• Conocimiento y manejo de tickets
• Alta, seguimiento y cierre de tickets
HABILIDADES Y COMPETENCIAS
• Trabajo bajo presión
• Orientado a servicio
• Trabajo en equipo
• Iniciativa
• Calidad de trabajo
OFRECEMOS
• Horario: Lunes a Viernes de 09:00 a 19:00hrs
• Sueldo: $7,000 netos + 1,000 bono a partir del 2do mes
• Acceso a Servicio Médico particular (familiar)
• Seguro social
• Aguinaldo
• Vacaciones
• Tarjetas de descuento
• Seguro de vida
• Caja de ahorro
• Zona de trabajo: CALLE LATERAL RECTA A CHOLULA PUEBLA
INTERESADOS QUE CUBRAN AL 100% EL PERFIL ENVIAR CV AL CORREO ANEXO - Cantidad de vacantes: 1
- Educación mínima: Educación media superior - Bachillerato Tecnológico
- Años de experiencia: 1
- Edad: entre 23 y 40 años
- Disponibilidad de viajar: No
- Disponibilidad de cambio de residencia: No
Sobre la oferta



No hay comentarios:
Publicar un comentario