Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas •...
Transcript of Tecnología de la Información Prof. Alberto Zimerman€¦ · Ciclo de Vida de los Sistemas •...
Tecnología de la Información – Prof. Alberto Zimerman
Tecnologia de la Información - Ciclo Vida - [email protected]
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
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]
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]
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]
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”
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”?
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
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
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
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
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
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]
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
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
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
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
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]
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
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
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
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]
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
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
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
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
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
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]
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
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
Preguntas? Opiniones? Comentarios?
Tecnologia de la Información - Ciclo Vida - [email protected]
Ary Eppel
Tecnologia de la Información - Ciclo Vida - [email protected]