You are on page 1of 37

Modelado de Business

Proceses
Conceptos y primeros ejemplos con
Petri-Nets
Fuente:
• Apuntes del curso cc50x Procesos
• Profesores: José A. Pino, Nelson Baloian
• Carrera de ingeniería civil en computación,
Universidad de Chile
• Cuando ya se han pasado todos los ramos
“coladores”
Business processes

• Hay 3 tipos:
– Management processes, procesos que gobiernan la
operación de un sistema. Procesos de administración
incluyen típicamente: "Corporate Governance" y
"Strategic Management".
– Operational processes, procesos que constituyen el
núcleo del negocio de la empresa y crean el flujo
primario de creación de valor de la empresa.
Típicamente incluyen procesos como Adquisiciones,
Manufactura, Marketing y Ventas.
– Supporting processes, procesos de apoyo a los
procesos centrales. Ejemplos son Contabilidad,
Reclutamiento, Soporte técnico.
Business Process Modeling
• Empieza con la identificación de una necesidad del cliente y termina
con la satisfacción de esta necesidad.
• Un BP se puede descomponer en varios sub-procesos que tienen
sus propios atributos pero también contribuyen al alcance de las
metas del super-proceso. El análisis de los BPs típicamente incluye
el “mapeo” de procesos y sub-procesos hasta el nivel de la
actividad.
• Los BPs son designados para agregar valor al cliente y no deben
incluir actividades innecesarias. El resultado de esta actividad es un
incremento en la efectividad (mayor valor para el cliente) y la
eficiencia (menor costo para la compañía).
• Los BPs se pueden modelar con un gran número de métodos y
técnicas. Por ejemplo, el Business Process Modeling Notation
(BPMN) es una técnica de modelado de BPs que puede ser usada
para graficar BPs de la forma de un workflow.
Ejemplo 2
Casos y Procesos
• Caso: “Cosa” tangible que se produce o modifica por un trabajo
• Un caso también puede ser de naturaleza más abstracta:
• demanda judicial,
• petición de indemnización a una compañía de seguros.
• Trabajar casos sigue un principio discreto: casos son distinguibles y
tienen principio y fin.
• Cada caso sigue un proceso.
• Un proceso consiste de un número de tareas que necesitan llevarse
a cabo y un predicado que determina el orden de las tareas. Un
proceso también puede llamarse un procedimiento.
• Una tarea es una unidad lógica de trabajo que se desarrolla por un
recurso único (persona, máquina, grupo de personas, grupo de
máquinas que pueden realizar tareas específicas): ejecución no
necesariamente independiente por un recurso, pero la
responsabilidad es única.
Ejemplo de proceso: cómo una compañía de
seguros procesa una petición de indemnización.
• Tareas:
1. Registrar la petición
2. Determinar tipo de petición (incendio, accidente,…)
3. Chequear póliza del cliente, para confirmar cobertura
4. Chequear pago actualizado de la prima
5. Rechazar, si 3 o 4 tienen resultado negativo
6. Producir carta de rechazo
7. Estimar cantidad a pagar
8. Designar un liquidador (circunstancias, establecer valor)
9. Considerar medidas de emergencia para limitar daño o aliviar problemas
10. Proveer medidas de emergencia si se aprueba
11. Establecer o revisar cantidad a pagar y ofrecerla a cliente
12. Registrar reacción: aceptación o rechazo
13. Considerar objeción y decisión de revisar (tarea 11) o tomar acciones legales
(tarea 14)
14. Acciones legales
15. Pago de la indemnización
16. Cierre de la petición: archivo.
Diagrama del proceso
• Rectángulos representan
tareas
• Arcos muestran la
secuenciación de las
tareas
• Orden estricto:
secuencia.
• Tareas optativas
(liquidador? Medidas de
emergencia?). Selección.
• Tareas en paralelo
(chequear póliza prima).
Ambas deben hacerse
antes de rechazo.
Sincronización.
• Iteración (revisión de la
cantidad a pagar): en
teoría: eternamente.
Elementos del Diagrama
• Diagrama de proceso: orden de las tareas.
• Más información que la lista de tareas; ej., cierre
• Tarea tiene más de un sucesor: una de esas tareas
• Tarea tiene más de un predecesor: todas deben
completarse antes de comenzar (sincronización)
• Círculos: flujos se juntan o separan.
• Círculos blancos: varios precursores, y una tarea
subsecuente. Sólo una de las tareas precedentes
necesita haberse terminado para poder continuar.
• Círculos negros: un predecesor y varias subsecuentes.
Todas las tareas subsecuentes deben efectuarse.
• Cuatro mecanismos básicos en estructuras de
procesos: secuencia, selección, paralelización e
iteración.
Knowledge management
• Los humanos que realizan tareas requieren
conocimiento para ejecutar tareas.
• Conocimiento tácito: conocimiento no estructurado,
difícil de comunicar.
• Otras formas de conocimiento pueden obtenerse
mediante aprendizaje y recuperación de info:
conocimiento explícito.
• Conversión de conocimiento tácito en explícito
• Administración de conocimiento: adquisición,
enriquecimiento, distribución de conocimiento para
que la persona que va a ejecutar una tarea tenga el
conocimiento necesario y en el momento preciso.
Procesos y casos
• Un proceso lleva a cabo varios casos.
• Varios casos pueden tener el mismo proceso, pero cada caso puede
tener una ruta diferente. Ruta depende de los atributos del caso.
• Nº. de procesos en una organización es finito y mucho mas
pequeño que el número de casos: rutina. (Mas fácil hacer 100
faldas con el mismo diseño que 100 faldas con diseños distintos).
“Off-the rack” es más barato que “a la medida”. También: 1000
faldas es más barato que 10 veces hacer 100 faldas del mismo
diseño. Economía de escala.
• → Nº. de procesos pequeño, y Nº. de casos que pueden incluir tan
grande como posible.
• → Mejor tener varios procesos simples que poquísimos procesos
muy complicados.

• ¿Se podrá siempre combinar dos procesos en uno solo? Suponga


que una empresa tiene dos procesos distintos A y B. ¿Se podrá
crear un solo proceso C que los reemplace?
Asignación de Trabajos
• La mayoría de la gente trabaja bajo órdenes o
asignaciones dadas por asignantes (clientes o
jefes) (excepciones: artistas, científicos,
políticos).
• Jerarquía de asignaciones. Una persona a
quien se le asigna una tarea es un contratista
o recurso (también pueden ser máquinas).
• Asignantes y contratistas pueden ser deptos. o
compañías separadas. Usaremos actor para
referirnos a asignantes y contratistas.
Asignación de Trabajos
• Un contratista puede subcontratar a terceros. Pero
dirige el trabajo que acepta.
• “Trabajar para el jefe” vs. “trabajar para el cliente”.
En organizaciones grandes está ganando terreno el
segundo enfoque: resultado bueno del trabajo
asegura nuevas órdenes (!=Gendarmería).
• Entre un asignante y recurso existe un contrato
(puede ser implícito) acerca del caso a realizar, fecha
de completación y precio a pagar.
• Si el contratista es una compañía aparte, hay un
proceso de comunicación que da orígen a un
protocolo de comunicación.
Ejemplo: descripción de un
protocolo de comunicación
Descomposición
• Un actor responsable de un proceso puede
asignar o delegar (outsource) una tarea como un
todo a un recurso o descomponerla en un
proceso (red de tareas), cada una de las cuales
asigna a un contratista. Este proceso de
descomposición puede continuar: árbol de
contratos.
• La descomposición no necesariamente se hace
igual para todos los casos. También es posible
hacer la red de tareas para cada caso en
particular, seleccionando allí los subcontratistas.
Ej. Diagrama de descomposición
Estructuras Organizacionales

• Roles y personas. Responsabilidad y autoridad.


• Mecanismos de coordinación: organización jerárquica;
matricial; red.
• Jerárquica: estructura de árbol (diagrama
organizacional). Nodos no-hojas: rol o función
individual. Hojas: grupos de staff o deptos. Tope de una
rama: persona tiene autoridad para ordenar trabajo a
las personas o deptos. bajo ella. La comunicación entre
dos nodos pasa por su predecesor común más cercano.
• Organizaciones puramente jerárquicas no existen hoy
(demasiado inflexibles).
Tres criterios de asignación de
personas a departamentos.
a) Grupos por capacidad: todos tienen mismas habilidades
(intercambiables). Tarea del jefe de depto.: mantener actualizado
al grupo, y “vender” a las otras unidades.
Ejemplos: ingenieros de mantención, grupo de servicios
secretariales.
b) Deptos. funcionales: tareas interdependientes con similares
habilidades. El jefe es responsable.
Ejemplos: deptos. de contabilidad, marketing, mantención.
c) Deptos. de proceso o producción: depto. es responsable del
proceso comercial completo o la fabricación de un producto.

(a) o (b) se eligen principalmente para procesos de apoyo. (c) para los
primarios. Debe preferirse el mínimo número de capas de
administración.
Administración de procesos
• Hay 4 niveles basados en la frecuencia y ámbito
de las decisiones. (Ámbito = período sobre el
cual la decisión tiene influencia , y su impacto
financiero ).
– Administración en tiempo real: decisiones muy
frecuentes, efecto muy corto, consecuencias de
decisión errónea son muy pequeñas.
– Administración operacional: decisiones muy regulares
, ámbito limitado.
– Administración táctica: Decisiones periódicas, ámbito
relativamente limitado.
– Administración estratégica: Decisiones por una vez, o
no más de una cada dos años, y su ámbito es amplio.
Influencia permanece por muchos años.
Tipos de decisiones:
• Tiempo real: control de máquinas y vehículos
• Operacional: asignación de recursos a casos y
ruteo de esos casos. Ejs.: programación de la
producción, y ruteo de trenes.
• Táctica: Planificación de capacidad y
presupuestos. Ejs.: administración de inventarios.
• Estratégica: aspectos estructurales de los
procesos y tipos de recursos.
• Cada nivel (excepto tiempo real): cuidar
excepciones. Administración táctica está
involucrada en asignación de recursos si nivel
operacional no tiene éxito.
Cuatro etapas en resolver problemas
de toma de decisiones (Simon):
• Definición: exactamente cual es el problema?
(criterio de optimización?)
• Creación: soluciones dentro del ámbito
• Evaluación: sopesar las diferentes soluciones
(análisis multi-criterio?)
• Selección
• Implementación
Modelamiento de workflows:
• Objetivo de un sistema de workflow: tratar casos. Ejs. de
casos: petición de indemnización de seguros, solicitud de
crédito hipotecario, formulario de declaración de impuestos,
una orden de compra, un paciente en un hospital.
• Cada caso tiene período de vida limitado. Entre la aparición y
desaparición de un caso, siempre se tiene un estado
particular.
• El estado consiste de tres elementos: 1) valores de los
atributos relevantes del caso, 2) las condiciones que se han
cumplido, y 3) el contenido del caso.
• Atributos: variables asociadas a cada caso. Ej: “valor estimado
de la indemnización” El valor de un atributo de un caso puede
variar cuando el caso avanza.
El Caso
• Las condiciones sirven para ver cuánto ha progresado
un caso (atributos no sirven para esto). Ejs.: “orden
aceptada”, “solicitud rechazada”, “bajo
consideración”. También consideramos como
condición a un requerimiento que debe ser
satisfecho antes que se pueda hacer una tarea. Para
cada caso, en todo momento es claro qué
condiciones se han cumplido y cuáles no.
• El sistema de workflow no tiene detalles del
contenido del caso, el que se encuentra en archivos,
documentos, y/o bases de datos que no son
manejados por el sistema de administración de
workflow.
La Tarea
• Una tarea es una unidad lógica de trabajo. Es indivisible y así,
es siempre llevada a cabo completamente. Si algo malo ocurre
con su ejecución -> re-comenzar la tarea completa. Llamamos
a esto un roll-back. Ejs.: “escribir carta”, “chequear datos
personales”, “asignar monto de indemnización”.
• Tareas manuales, automáticas o semi-automáticas.
• Definición:
• Tarea es trozo de trabajo genérico (no la realización de una actividad
para un caso específico.) A veces, para evitar confusiones: ítem de
trabajo y actividad. Un ítem de trabajo es la combinación de un caso
y una tarea que justo está lista para ser llevada a cabo. Un ítem de
trabajo se crea tan pronto como el estado del caso lo permita. El
término “actividad” se refiere a la ejecución misma de un ítem de
trabajo. Tan pronto como comienza el trabajo en un ítem de trabajo,
se transforma en actividad. Un ítem de trabajo y una actividad están
asociados a un caso específico.
El Proceso
• El proceso describe la manera en que una clase
particular de casos debe ser llevada a cabo.:
tareas.
• El proceso es un procedimiento para un tipo de
casos particular. Muchos casos se manejan
usualmente con un mismo proceso. Por lo tanto,
el tratamiento específico se basa en los atributos
del caso. Las condiciones determinan el orden.
• Procesos y subprocesos. Los procesos complejos
se pueden estructurar jerárquicamente.
• El ciclo de vida de un caso se define por un
proceso. Debido a que cada caso tiene un ciclo de
vida finito, con un claro comienzo y fin, el proceso
también debe tenerlo: comienzo y final.
El Ruteo
• El ruteo por diversas ramas determina qué tareas necesitan
realizarse (y en qué orden). Hay cuatro posibilidades:
– Secuencial: tareas se realizan una detrás de la otra. Dependencia
es usualmente clara: resultado de una tarea es la entrada a la
siguiente.
– Paralelo: tareas pueden realizarse simultáneamente, o en
cualquier orden. Resultado de una tarea no afecta la otra. Las
dos tareas se inician con un AND-split y se re-sincronizan
después con un AND-join.
– Selectivo: elección entre dos o más tareas. Depende de
propiedades del caso: atributos. OR-split. Las trayectorias
alternativas se reunen en un OR-join. (también se dice ruteo
condicional).
– Iteración: realizar una misma tarea varias veces (hasta que se
verifique cierta condición); en una situación ideal, una tarea no
se realiza más de una vez por caso.
Activación
• Cuando el estado de un caso lo permita, la
asignación de un item de trabajo puede llevarse a
cabo. Pero se necesita más que esto. Si se lleva a
cabo por una persona, ésta debe tomar la asignación
desde su bandeja de entrada. Es decir, cuando el
empleado ha tomado la iniciativa. Triggering. Tipos
de triggers: 1) iniciativa del recurso, 2) evento
externo, 3) una señal de tiempo. Items de trabajo
que deben llevarse a cabo de inmediato no requieren
triggers.
Redes de Petri
• Definición formal. Evita ambigüedades,
incertezas, contradicciones. Algunas técnicas
analíticas.
• Carl Adam Petri (1962). Descripción gráfica.
Base matemática.
• Muchas veces es demasiado formal para
describir con simplicidad y adaptabilidad
situaciones compliadas
Redes de Petri clásicas
• Consiste de places y transiciones. Indicamos un place con un
círculo, una transición con un rectángulo
• Arco dirigido. No es posible poner arcos entre dos places o entre
dos transiciones.
• Un place p es un place de entrada para una transición t (ssi) hay un
arco dirigido de p a t. Un place p es un place de salida de una
transición t (ssi) hay un arco dirigido desde t a p.
Tokens
• Los places pueden contener tokens (puntos
negros). La estructura de la red de Petri es fija.
La distribución de los tokens puede variar. La
transición “registro” puede puede tomar
tokens del place de entrada “petición” y
ponerlos “bajo consideración”. Esto es el
disparo de la transición registro. El disparo
está sujeto a reglas estrictas, que veremos.
Transiciones
• La transición puede disparar desde el momento que esté
habilitada. Cuando dispara, se saca un token de cada place de
entrada y se coloca uno en cada place de salida. La transición
consume tokens de place de entrada y produce tokens en place
de salida. Después del disparo de arriba, el estado es (2,1,0).
• Note que después del disparo de registro, quedan tres
transiciones habilitadas: registro de nuevo (hay al menos un
token en petición) y pagar y enviar carta. No es posible decir
cuál transición disparará primero. Si sucede que la transición
pagar es la que dispara, la situación final puede describirse por
el estado (2,0,1). Ahora enviar carta no está habilitada (justo
antes lo estaba). La transición registro continúa habilitada y por
lo tanto, disparará. Eventualmente, después de 6 disparos, el
estado es (0,0,3), y no habrá más disparos.
Transiciones (2)
• Las transiciones son los componentes activos de una red de
Petri. Por el disparo de una transición, el proceso bajo
modelamiento pasa de un estado a otro. Una transición
típicamente representa un evento, una operación, una
transformación o un transporte. Los places son componentes
pasivos: no pueden cambiar el estado de la red. Un place
representa un medio, buffer, ubicación geográfica, sub-estado,
fase o condición. Los tokens indican objetos. Pueden ser físicos,
pero también de información. En el ejemplo, un token
representa una solicitud de indemnización de seguros.
• Varios casos pueden estar en proceso al mismo tiempo. Si
registro dispara dos veces seguidas, habrá al menos dos tokens
en el place bajo consideración.
Modelemos el mismo caso anterior, con la
limitación de que en “bajo consideración”
haya un solo token a la vez
Un semáforo enfrentando una
sola calle
Dos semáforos, enfrentando cada
uno de ellos a calles que se cruzan

Implementar en coolmodes y ver cómo funciona


Redes de Petri de alto nivel
• Las redes de Petri clásicas tienen problemas para modelar
situaciones prácticas: extensiones
• En la red clásica no podemos distinguir entre los tokens.
Indeseable: dos casos de petición de indemnización,
características tales como naturaleza de la petición, número de
póliza…
• En la Extensión de color, cada token tiene un “color” o “valor”.
Un valor para un auto, por ej. sería: marca: “Ford”; placa
patente: “CZRJ 25”; año: “2008”; Distinguimos tokens!
• Una transición que dispara produce tokens que se basan en los
valores de los consumidos en el disparo. Los valores de los
producidos pueden entonces depender de los consumidos. El
número de tokens producidos es también variable: determinado
por los valores de los consumidos.
Modelar un proceso para manejar fallas técnicas en un depto.
de productos. Cada vez que ocurre una falla (por ej. Una
máquina atascada) es categorizada por el mecánico del depto.
La falla puede arreglarse mientras se categoriza; en caso
contrario, hay que hacer una reparación. Después de esto, se
hace una verificación (test) con uno de los siguientes resultados:
1) la falla ha sido resuelta, 2) una reparación posterior se
necesita, 3) la componente fallada debe ser reemplazada.

You might also like