Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas •...

32
Tecnología de la Información Prof. Alberto Zimerman Tecnologia de la Información - Ciclo Vida - [email protected]

Transcript of Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas •...

Page 1: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Tecnología de la Información – Prof. Alberto Zimerman

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 2: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Ciclo de Vida de los Sistemas

• Identificar necesidades del usuario

• Establecer requerimientos

• Diseño del Sistema

• Construcción o compra del sistema

• Desarrollo de Test de Aceptación del Sistema

• Integración del sistema a la organización

• Operación, modificación y mejora del sistema

Tecnologia de la Información - Ciclo Vida - [email protected]

Ciclo de Vida: etapas por las que pasa un sistema a lo largo de su vida, desde su concepción hasta el abandono en su uso.

Las vemos en esta clase

Page 3: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Identificación de las necesidades del usuario

• Se toman los requerimientos del usuario para el nuevo sistema

• Se determina el alcance del proyecto, enunciando sus funciones y límites, dejando

así claro también lo no alcanzado

• Se identifican las alternativas de realización

• Se realiza el cálculo de costo-beneficio, incluyendo tanto el desarrollo del proyecto

como la operación posterior

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 4: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Establecimiento de los requerimientos de los usuarios

• Las siguientes preguntas ayudarán a realizar una buena definición de

requerimientos:

1. Qué problema se busca resolver?

2. Por qué se necesita resolver el problema?

3. Cuánto tiempo hay para lograr la solución?

4. Qué alternativas puede haber para llegar a la solución?

5. Cuáles son las ventajas y desventajas de cada alternativa en tiempo, costo y

funcionalidad?

6. Cómo se suple hoy la falta de esta solución?

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 5: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema

• Esta etapa parte de los requisitos presentados en las etapas anteriores

• Se establecen las bases para la construcción del sistema

• Principales tareas de Diseño:

1. Definir y diseñar los procesos “To-Be”

2. Diseñar pantallas y flujos de navegación

3. Diseñar datos

4. Diseñar integraciones

5. Diseñar roles y seguridad

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 6: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• Procesos “As-Is” vs. Procesos “To-Be”

• Los procesos “As-Is” documentan la operatoria actual. Son la forma en la que se

están haciendo hoy las cosas

• Los procesos “To-Be” son los procesos futuros. Se diseña como se quiere operar

en el futuro cercano, cuando se implemente el nuevo sistema

• Los paquetes de software contienen procesos estándar, los cuales son muy

convenientes como modelo para el diseño de los procesos “To-Be”. De esta

manera, el Gap a cubrir entre la funcionalidad estándar del paquete y lo requerido

por la empresa será menor.

Tecnologia de la Información - Ciclo Vida - [email protected]

Definir y diseñar los procesos “To-Be”

Page 7: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• El programador

• El analista funcional

• El analista de procesos

• El usuario

Tecnologia de la Información - Ciclo Vida - [email protected]

Quién debe diseñar los procesos “To-Be”?

Page 8: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• Una vez que tengo los procesos que se incorporarán al nuevo sistema, debemos

diseñar las pantallas en las que se ejecutarán, y los flujos para navegar de una

pantalla a otra en el sistema

• Algunos conceptos a tener en cuenta:

1. Destacar la información más relevante

2. Automatizar todo lo que sea posible, minimizando las decisiones a tomar por

el usuario (ej: derivación de un incidente o una posible venta a otro canal, o

el ingreso de un código postal)

3. Minimizar la introducción de datos, y la cantidad de pasos a ejecutar

4. Minimizar la cantidad de pantallas a visualizar

Tecnologia de la Información - Ciclo Vida - [email protected]

Diseñar flujos de navegación y pantallas

Page 9: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• Últimamente, al hablar del diseño de la interfaz de usuario de los sistemas, se

habla mucho de User Experience (UX) o experiencia del usuario.

• Esto consiste en entender más profundamente a las personas y sus necesidades, y

reflejarlo en las pantallas del sistema.

• Principios de UX:

1. Colocar al usuario en el centro del proceso de diseño

2. Identificar qué es importante para el usuario (tareas, objetivos, necesidades,

contexto)

3. Diseñar de manera iterativa y con la participación de los usuarios

4. Evaluar la experiencia y recolectar información para mejorarla (mediante test

de usabilidad)

Tecnologia de la Información - Ciclo Vida - [email protected]

Diseñar flujos de navegación y pantallas: UX

Page 10: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• Junto con las estructuras para almacenar los datos, es necesario diseñar los datos

en sí que contendrá el sistema.

• El nuevo sistema a operar se encuentra “vacío” de datos, los cuales deben cargarse

en la herramienta. En empresas grandes hablamos de cientos de miles, e incluso

millones de datos.

• Deben seleccionarse los tipos de datos a migrarse al nuevo sistema, (ej: cuentas,

reclamos) desde que fecha migrarlos (ej: últimos dos años), y realizar las tareas de

cleansing (limpieza) necesarias para asegurarnos de ingresar solo datos de calidad

al sistema (depuración de datos duplicados, incompletos, etc.)

Tecnologia de la Información - Ciclo Vida - [email protected]

Diseñar datos

Page 11: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• Los usuarios necesitan compartir datos y funcionalidades a través de los distintos

sistemas en la empresa (ej: CRM, ERP, etc.)

• Mediante integración, se coordina la operación de las aplicaciones en la

organización, de manera que las mismas funcionen como un sistema integrado.

• Estas aplicaciones pueden ser desarrollos o soluciones independientes, con

tecnologías distintas y gestionadas independientemente

• El objetivo fundamental del diseño de la integración, debe ser lograr que

soluciones desarrolladas independientemente trabajen como su fueran una

sola aplicación

Tecnologia de la Información - Ciclo Vida - [email protected]

Diseñar integraciones

Page 12: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Diseño del Sistema (cont.)

• Objetivos principales del diseño de roles y seguridad:

1. Lograr que el usuario vea solo lo que necesite ver en el sistema, y no se

“maree” con menúes y opciones innecesarias y que nunca va a utilizar

2. Lograr que cada usuario tenga acceso solo a los datos que necesita para

operar según su función, evitando el acceso a datos críticos de personal no

autorizado

• Ejemplos:

1. El diseño debe contemplar que cada vendedor acceda a sus clientes, y no

pueda consultar datos de los clientes de otros ejecutivos comerciales

2. El supervisor comercial debe acceder a los datos de todos los ejecutivos que

reportan a él

3. Un agente de atención al cliente debe acceder a información de todos los

clientes.

Tecnologia de la Información - Ciclo Vida - [email protected]

Diseñar roles y seguridad en la aplicación

Page 13: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Construcción del sistema

• Conceptos a tener en cuenta para la construcción de los sistemas:

1. Programación

2. Customización de paquetes de software

3. Parametrización de aplicaciones cloud o SAAS

4. Metodologías ágiles

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 14: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Construcción del sistema (cont.)

• El sistema se programa desde cero, en algún lenguaje de programación (ej: java,

VB .net, PHP)

• La programación es compleja e “inentendible” para el usuario

• La participación del usuario es limitada a ciertas etapas:

1. Aporta sus necesidades y requerimientos

2. El programador y el analista lo consultan ante dudas

3. Una vez terminada la construcción, realiza el testeo de los desarrollos y

acepta o rechaza el producto

Tecnologia de la Información - Ciclo Vida - [email protected]

Programación

Page 15: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Construcción del sistema (cont.)

• Se adquiere un paquete de software, y se lo adapta a las necesidades del cliente (ej:

Oracle Siebel CRM, SAP)

• Gran parte de la customización es compleja y requiere conocimiento y expertise

del área de sistemas, pero hay tareas que pueden ser realizadas por los usuarios (ej:

armado de reglas)

• La participación del usuario abarca más áreas que en un sistema desarrollado

desde cero:

1. Aporta sus necesidades y requerimientos

2. El programador y el analista lo consultan ante dudas

3. Realiza algunas parametrizaciones y customizaciones

4. Una vez terminada la construcción, realiza el testeo de los desarrollos y

acepta o rechaza el producto

Tecnologia de la Información - Ciclo Vida - [email protected]

Customización de paquetes de software

Page 16: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Construcción del sistema (cont.)

• Una tendencia cada vez más fuerte en el mercado, es adquirir productos de

software como un servicio (SAAS – Software as a Service). Estas aplicaciones se

alojan en internet (cloud), y no en el centro de cómputos de la empresa que lo

adquiere.

• Estos sistemas son más simples de parametrizar, y los proyectos mas cortos y

rápidos

• El usuario final tiene muchas más participación, ya que muchas funcionalidades

pueden ser customizadas por el, dejando las mas complejas para el programador

(ej: integraciones)

• Estas aplicaciones surjen en respuesta a los pedidos del negocio en cuanto a mayor

rapidez de respuesta de los sistemas ante las necesidades cambiantes y urgentes del

negocio

Tecnologia de la Información - Ciclo Vida - [email protected]

Aplicaciones Cloud o SAAS

Page 17: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Construcción del sistema (cont.)

• Son procesos de desarrollo que buscan una fuerte interacción con el usuario y

mayor rapidez en la implementación

• Se busca satisfacer al cliente a través de la entrega temprana y continua de

productos de software

• Los requerimientos cambiantes son bienvenidos. Los procesos ágiles se pliegan al

cambio en procura de una ventaja competitiva para el cliente

• La gente de negocios y los desarrolladores deben trabajar juntos cotidianamente a

través de todo el proyecto

• A intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y

ajusta su conducta en consecuencia

• Se promueve y promociona el trabajo en equipo y la colaboración

Tecnologia de la Información - Ciclo Vida - [email protected]

Metodologías ágiles

Page 18: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Desarrollo de tests de aceptación del sistema

• Diferentes testeos que se realizan sobre el sistema:

1. Testeo unitario

2. Testeo de integración

3. Testeo de aceptación

• Los dos primeros se realizan con anterioridad al test de aceptación de los

usuarios

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 19: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Desarrollo de tests de aceptación del sistema (cont.)

• Verifica que cada componente trabaja de acuerdo a sus especificaciones

• Lo ejecuta el desarrollador, en base a casos de prueba creados por él mismo

Tecnologia de la Información - Ciclo Vida - [email protected]

Testing Unitario

Page 20: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Desarrollo de tests de aceptación del sistema (cont.)

• Verifica que las interfaces entre los componentes, entidades externas y la

aplicación funcionen correctamente

• Verifica la integración entre los distintos casos de uso del sistema

• Son ejecutados por el tester

• El tester:

1. Es un perfil generalmente funcional, especializado en tareas de testeo

2. Es “experto” en detectar los errores que se le “escapan” al programador (ej:

campos numéricos que aceptan letras o números negativos, campos vaciós,

excepciones, etc.)

3. Garantiza que el sistema llegue a manos del usuario lo más libre de errores

posible, y con los límites de calidad establecidos por el cliente

Tecnologia de la Información - Ciclo Vida - [email protected]

Testing de Integración

Page 21: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Desarrollo de tests de aceptación del sistema (cont.)

• Verifica el cumplimiento de los requerimientos a partir del punto de vista del

usuario

• Se ejecutan los casos de prueba diseñados por el usuario con ayuda del analista

funcional

• Estos casos de prueba generalmente se confeccionan en base al diseño, y durante

la etapa de construcción

• Las pruebas las ejecutan los usuarios clave con soporte del analista funcional

• La aceptación del usuario es imprescindible para la puesta en producción del

sistema

• Las incidencias reportadas por el usuario durante las pruebas de aceptación deben

ser solucionadas antes de la puesta en marcha

Tecnologia de la Información - Ciclo Vida - [email protected]

Testing de aceptación

Page 22: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Integración del sistema a la organización

• Principales tareas para integrar el sistema a la organización:

1. Transferencia de las capacidades y conocimientos técnicos

2. Desarrollar entrenamiento a usuarios finales

3. Gestionar el cambio

4. Preparar el ambiente para la puesta en marcha

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 23: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Integración del sistema a la organización (cont.)

• La implementación de un nuevo sistema puede llevarse a cabo:

1. Con recursos internos de la empresa

2. Con recursos externos a la misma

3. Con recursos internos y externos

• Cuál de estas opciones es la más conveniente?

Tecnologia de la Información - Ciclo Vida - [email protected]

Transferir las capacidades y conocimientos técnicos

Page 24: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Integración del sistema a la organización (cont.)

• Cuando en el desarrollo del sistema participan recursos externos, debe planificarse

la transferencia de los conocimientos a personal de la empresa, para el posterior

mantenimiento y evolución del aplicativo

• Tener en cuenta:

1. Brindar cursos de capacitación al personal

2. Incorporar al personal de la empresa desde etapas tempranas del proyecto,

para que trabajan a la par de los expertos externos, pudiendo consultarles y

absorber sus conocimientos

3. Incorporar a la empresa recursos con el expertise específico que se requiere

(ej: CRM, SAP)

Tecnologia de la Información - Ciclo Vida - [email protected]

Transferir las capacidades y conocimientos técnicos

Page 25: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Integración del sistema a la organización (cont.)

• Se debe planificar cuidadosamente el entrenamiento de los usuarios en el nuevo

producto

• Tener en cuenta:

1. Ir familiarizando a los usuarios con el nuevo sistema desde etapas tempranas

(ej: demos del producto, presentaciones)

2. Preparar los entrenamientos con suficiente antelación, pero no demasiado

lejanos a la fecha de implementación (ej: si se hacen 2 meses antes de la

salida en producción, es factible que los usuarios olviden lo aprendido)

3. Si los usuarios a capacitar son muchos, y/o muy distribuidos

geográficamente, utilizar la modalidad de train-the-trainers

4. Apoyar la capacitación con distintos medios gráficos (ej: ppts, videos con

explicaciones de los sponsors, grabaciones del producto, manuales

detallados)

5. Buscar lugares cómodos, y sacar a los usuarios de sus responsabilidades

cotidianas (ej: lugares fuera de la empresa)

Tecnologia de la Información - Ciclo Vida - [email protected]

Desarrollar entrenamiento a usuarios finales

Page 26: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Integración del sistema a la organización (cont.)

• Gestión del cambio es un área que generalmente depende de la Gerencia de

Recursos Humanos de la empresa

• Se ocupan de disminuir el impacto que el nuevo sistema acarrea para los usuarios

(nuevos procesos, nueva interfaz de usuario, etc.)

• Su trabajo debe colaboran en disminuir la resistencia al cambio y la percepción de

que todo cambio es negativo, que muchas veces tienen los usuarios

• Entre otras cosas, colaboran en la planificación de tareas de capacitación y las

comunicaciones del proyecto (ej: kick-off, outings, tareas de integración, etc.)

Tecnologia de la Información - Ciclo Vida - [email protected]

Gestionar el cambio

Page 27: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Integración del sistema a la organización (cont.)

• Se debe efectuar la carga de datos en el ambiente para la puesta en marcha

• Planificar y establecer los mecanismos de soporte a los usuarios durante los

primeros días de uso del sistema (y luego también)

• Probar todo varias veces! No olvidar que los tiempos de migración de un sistema a

otro son muy reducidos, ya que generalmente implican tiempos en que los sistemas

están bajados (no productivos ni accesibles)

• Es recomendable armar una hoja o plan con todas las tareas de migración, para no

olvidar ninguna y hacerlas en la secuencia correcta

Tecnologia de la Información - Ciclo Vida - [email protected]

Preparar el ambiente de producción para la puesta en marcha

Page 28: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Operación, modificación y mejora del sistema

• Puntos a tener en cuenta una vez el sistema está productivo:

1. Brindar asistencia a los usuarios

2. Comenzar el mantenimiento

3. Establecer oportunidades de mejora

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 29: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Operación, modificación y mejora del sistema (cont.)

• Los primeros días de operación del nuevo sistema suelen ser los más críticos

• Algunas cosas no funcionan de acuerdo a lo previsto.

• Los usuarios están desorientados, y no todos recuerdan lo aprendido en la

capacitación

• Tener en cuenta:

1. Establecer un mecanismo de soporte adecuado y multicanal (presencial,

telefónico, base de conocimientos)

2. Monitorear la nueva aplicación para evaluar su comportamiento y

performance (ideal hacer armado indicadores para tomar como base en la

medición)

3. Responder rápido y eficientemente. En los primeros días de operación es

cuando los usuarios deciden si “compran” o no la herramienta

4. Documentar las incidencias que se van presentando, clasificarlas según su

criticidad, y resolverlas

5. Obtener feedback de los usuarios y realizar refuerzos de capacitación

Tecnologia de la Información - Ciclo Vida - [email protected]

Brindar asistencia a los usuarios durante la puesta en marcha

Page 30: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Operación, modificación y mejora del sistema

• Una vez puesto el sistema en funcionamiento y reemplazado el sistema anterior (si

hubiera), es momento de brindar el soporte correctivo y evolutivo del sistema:

1. Corregir errores que se hubieran presentado durante los primeros días de

producción

2. Mantener contacto con los usuarios para evaluar posibles mejoras e

implementarlas

3. Evolucionar el sistema en base a los nuevos requerimientos de los usuarios y

del negocio

Tecnologia de la Información - Ciclo Vida - [email protected]

Brindar mantenimiento y establecer oportunidades de mejora

Page 31: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Preguntas? Opiniones? Comentarios?

Tecnologia de la Información - Ciclo Vida - [email protected]

Page 32: Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas • Identificar necesidades del usuario • Establecer requerimientos • Diseño del Sistema

Ary Eppel

[email protected]

Tecnologia de la Información - Ciclo Vida - [email protected]