2. Ingeniería de Sistemas
➔ La I.S. posee una abundante cantidad de técnicas,
métodos y herramientas para mejorar el proceso de
desarrollo del software.
Por otro lado:
El software no es solo el resultado del uso de herramientas:
1. El software es desarrollado por personas, utilizado por
personas y permite la interacción entre personas.
2. Con esta característica humana, la cooperación tiene un
eje central en el éxito o fracaso del desarrollo.
3. Importancia del Equipo.
1. En algunos casos una persona, puede desarrollar un
sistema, pero en la mayor parte de la industria, solo un
equipo puede hacer el trabajo.
2. Un equipo de software será exitoso si la dinámica del
equipo es la correcta.
3. Muchos profesionales del área tienen la reputación de no
saber trabajar en equipo.
4. Es esencial aportar para el éxito del proyecto,ayudando a
colegas y otros participantes (Stakeholders) del proyecto.
4. Requerimientos para ser Analista
1. Por supuesto tener experiencia en herramientas
tecnológicas. (lenguajes, bases de datos, redes).
2. Ser capaz de aplicar el conocimiento para resolver
problemas.
3. Desarrollar el software y testearlo para obtener un
producto de calidad.
4. Manejar las fechas, la responsabilidad, la comunicación
con los participantes (stakeholders).
5. Seleccionar y utilizar las herramientas apropiadas según
el proyecto.
5. Aspectos Humanos del Ingeniero
Un efectivo ingeniero/analista de software es alguien con:
1. Sentido estricto de la responsabilidad: entrega los
productos en el plazo y con la calidad acordada.
2. Colaborativo: si un miembro necesita una solución que
otro conoce, debe facilitar la integración.
3. Brutalmente honesto: Las opiniones deben ser honestas.
Es imposible saber todo: plazos, factibilidad, etc.
4. Listo para el cambio: Pueden existir modificaciones en
cuanto a performance, tecnologías, licencias, etc.
5. Sentido de justicia: Si el aporte fue realizado por un
colega, debe darle el crédito y no llevarse el mérito.
6. ¿Qué es un Equipo de Software?
Un equipo no solo es: un conjunto de expertos.
1. Cuando el equipo está unido, el resultado es mejor que la
suma de las partes.
2. Es el equipo de desarrollo quien dará una ventaja
competitiva y no basta con tener a los mejores individuos,
como equipo deben entregar el mayor valor al negocio.
La pregunta es: ¿Cómo armar este equipo campeón o élite?
7. ¿Cómo armar un Equipo Exitoso?
➔ Buscar que el equipo sea interdisciplinario: diferentes
puntos de vista enriquecerán el proceso.
➔ Además de perfiles técnicos, tener gente con:
1. Personalidad positiva, y habilidades de comunicación.
2. Visión de negocio.
3. Capacidad de proponer mejoras o cambios.
4. Capacidad de aceptar retroalimentación.
5. Apertura para entender que los logros del equipo se basan
en los entregables de todo el equipo.
(No limitarse a buscar culpables).
8. ¿Cómo es un Equipo Exitoso?
Un equipo élite se caracteriza por el valor que entrega al
negocio. Es un equipo capaz de:
1. Auto-administrarse.
2. Auto-motivarse.
3. Apoyarse mutuamente para la consecución de las metas.
4. Aceptar críticas.
5. Proponer mejoras y áreas de oportunidad.
9. Equipo XP. (extreme programming)
XP define 5 propiedades: 1.Comunicación, 2.Simplicidad, 3.
Retroalimentación, 4.Coraje y 5.Respecto.
Para alcanzar una comunicación efectiva con el cliente, XP
enfatiza la comunicación cercana e informal (verbal): entre
desarrolladores y clientes.
Para conseguir simplicidad, el equipo ágil solo ataca las
necesidades inmediatas, y posterga las futuras.
Un equipo XP tiene el coraje de desarrollar para el día a día.
Reconociendo que en el futuro los requerimientos pueden
cambiar.
10. Impacto de las Redes Sociales
➔ Email y videoconferencia son alternativas a las reuniones
en persona.
➔ El valor de las redes sociales se incrementa, cuando las
personas están geográficamente dispersas.
➔ Los miembros se comunican e intercambian experiencias.
➔ Un blog puede ser usado para compartir aspectos del
proyecto, o intercambiar opiniones sobre la aplicación.
➔ Foros online permiten hacer preguntas específicas.
➔ Redes sociales (Facebook, Linkedin), permiten la creación
de Comunidades de usuarios con intereses similares.
11. Trabajo en la Nube de Internet.
Cuando un equipo trabaja en la nube de Internet, se tiene
acceso a todas las herramientas y código fuente de forma
sincronizada.
Permite trabajar de forma independiente a la plataforma
(Windows, Apple, Linux).
Sin importar la ubicación física de los miembros, todos
podrán colaborar en simultáneo.
Más allá de las ventajas, implica tomar
resguardos de seguridad en el acceso.
12. Conclusiones
➔ Un ingeniero de software debe tener habilidades técnicas.
➔ Pero como agregado, debe tomar la responsabilidad de
cooperar con otros profesionales de forma efectiva.
➔ Un equipo consolidado de software es más productivo,
que un grupo desorganizado.
➔ Para ser efectivo, el equipo debe tener una visión clara del
objetivo del proyecto.
➔ Un buen equipo debe eliminar a las personas que no
colaboran o tienen una conducta tóxica.
Preguntas