Quiero desarrollar un software para mi empresa

Lo primero que cualquier empresa de desarrollo de software te va a preguntar es, ¿Cómo lo haces?.

Necesitamos saber como haces el proceso para el cual deseas desarrollar la aplicación o el sistema web que tienes en mente. La mayoría de las empresas son tan expertas en su proceso que no se detienen a pensar en ¿Cómo lo hago? y mucho menos a documentar ese proceso, es tan natural como respirar.

Este es el primer obstáculo a superar, así que pues la primera tarea que tenemos que hacer es documentar nuestro proceso, tratando de detallar las interacciones, quienes participan en el proceso, cuando es flujo normal, cuales son las excepciones o los caminos alternos, que información se necesita recopilar en cada paso, que se debe hacer con esa información y cual es el resultado esperado.

Para ello existen varias herramientas, en una primera instancia muy básica podría describir el proceso en pasos, antes de hacerlo tiene que tomar en cuenta que normalmente los procesos se dividen en procesos más pequeños, en tareas que nos permitirán llegar a un resultado mayor. Por ejemplo imaginemos el proceso de consulta en consultorio médico.

  • Paso 1: El paciente solicita cita con el Doctor, la recepcionista agenda la cita del paciente.
  • Paso 2: Al llegar el paciente al consultorio, la recepcionista lo recibe y registra su información personal.
  • Paso 3: El Doctor le informa a la recepcionista que el paciente puede pasar, la recepcionista informa al paciente que pase a consulta.
  • Paso 4: El Doctor atiende al paciente, registra el tratamiento que le dio, le expide su receta y le indica que puede pasar a pagar con la recepcionista y a agendar su cita de seguimiento.
  • Paso 5: El Paciente pasa con la recepcionista, paga su consulta y le agendan su siguiente cita para dentro de 2 semanas.

Una versión más sofisticada sería realizar un diagrama de secuencia:


Diagrama realizado con: Draw.io

Como puede ver es la misma información pero en forma de diagrama, lo que regularmente hace que sea más fácil de entender y sobre todo describe mejor las interacciones entre los participantes.

Desde la redacción en pasos, ya habíamos identificado a 3 participantes: Paciente, Recepcionista y Doctor, los tres interactuarán con el sistema que queremos desarrollar, pero solo dos accederán al sistema, así pues acabamos de descubrir 2 roles del sistema, el rol de Recepción y el Rol de Doctor, cada uno hará cosas específicas e interactuará con el paciente para completar su proceso.

Cuando hablamos de la cita, sabemos que lo mínimo que necesitamos es una fecha y una hora para agendarla, pero supongamos que el Doctor solo trabaja de lunes a viernes de 9am a 6pm y quiere dar sus citas en espacios de 30 minutos, aquí aparece lo que llamaremos «Regla de Negocio», las reglas de negocio son las condiciones con las que operará el sistema que queremos construir y es complicado de reflejar en la secuencia de pasos, por lo que conviene escribirlas por separado y asociarlas al paso en el que deberían aplicarse.

Por otro lado cuando decimos «Registra la información personal del paciente», también debemos identificar que información requerimos, por ejemplo: Nombres, Apellidos, Fecha de Nacimiento, Celular, Padecimientos anteriores, enfermedades crónicas, etc. Todo lo que necesites para integrar su expediente.

Cuando el Paciente pase a pagar, debemos considerar que quizás el Doctor acepta pago en efectivo o tarjeta de crédito, eh aquí otra regla de negocio; el paciente puede elegir la forma de pago antes de continuar con el proceso de pago.

Como puedes ver las reglas de negocio describen las condiciones que deben cumplirse para que el proceso continúe, se interrumpa o tome un camino alterno.

Buscando consolidar lo aprendido y plasmarlo en un formato, podría quedar así:

Proceso.
Llegada del paciente a consulta.

Precondición.
Debe tener una cita agendada, de otra manera tendrá que esperar a que el Doctor este libre.

Secuencia normal:

PasoAcción
1El Paciente solicita una cita y la Recepcionista agenda su cita. Aplica Regla de Negocio 1
2El Paciente llega al consultorio y la recepcionista registra su información personal
3El Doctor indica a la Recepcionista que el paciente puede pasar a consulta
4El Paciente pasa a consulta y el Doctor le da su tratamiento y receta médica, al finalizar le indica que pase a pagar y agendar su cita de seguimiento con la recepcionista.
5La Recepcionista recibe el pago y agenda la siguiente cita. Aplican Reglas de Negocio 1 y 2

Postcondición:
El paciente se marcha del consultorio con su tratamiento y su cita de seguimiento agendada.

Excepciones:

Al PasoAcción
2Si el paciente llega sin cita deberá esperar a que el Doctor este libre para atenderlo
5El paciente puede no agendar cita de seguimiento.

Reglas de Negocio.

Regla de NegocioCondiciones
1Las citas solo pueden darse en horario de Lunes a Viernes de 9am a 6pm, en espacios de 30 minutos, por ejemplo: 9:00, 9:30, 10:00, 10:30, etc
2Las formas de pago admitidas son: efectivo y tarjeta de crédito. Aceptamos 6 meses sin intereses en tratamientos mayores a $3,000 pesos

Comentarios:

El horario de atención del doctor puede variar según sus necesidades, extender el horario, los días, reducirlos, inclusive bloquear fechas o rangos de fechas en los que no podrá dar consulta.

Si llegó hasta aquí lo felicitamos,
podemos notar que esta motivado y quiere hacer las cosas bien.

Recabar esta información y documentarla es parte de nuestro proceso de toma de requerimientos, técnicamente le llamamos Casos de Uso y nos sirven para descubrir las interacciones de su proceso y crear módulos para su sistema que cumplan con cada proceso que nos señale.

Si usted llega preparado, será más rápido para nosotros poder estimar los tiempos, costos y el equipo que necesitaremos asignar a su proyecto para llevarlo a cabo.

Sin embargo, no debe preocuparse si no lo preparó con anticipación, solo debe tener en cuenta que tendremos que hacerlo juntos y tomará tiempo documentar sus procesos, y hasta finalizar podremos darle una estimación de tiempos y costos.

Desarrollar una Aplicación o Sistema, es un trabajo laborioso, no hay caminos simples, debemos involucrarnos al 100%, pues de la atención y empeño que le pongamos al proyecto, dependerá el éxito del mismo.