Normalmente se establece un contrato que marca las condiciones, aunque en cualquier caso estará formada por tres partes:
- Análisis
Se recogen los datos y los requerimientos del cliente y se analizan los procesos a seguir, se definen las bases de datos, el lenguaje a utilizar, la interfaz de usuario, etc. para entregar esta información a programación.
Nota: Puede darse el caso de que se necesite parte o todo el análisis para entregar un presupuesto, en ese caso dicho trabajo se deberá independientemente de la aceptación del presupuesto.
- Programación
El trabajo de llevar a cabo mediante programación las disposiciones que se marcó en el análisis.
- Implementación y Formación
Son los trabajos de colocar en los equipos del cliente la solución. y cualificar en el uso de la solución al cliente.
- Mantenimiento
Opcional en la mayoría de los casos. Es el coste por período de tiempo (establecido en un contrato) que se debe de satisfacer para mantener la solución en funcionamiento, actualizada o corregir los problemas/errores que surjan. Es importante destacar que el hecho de pagar un mantenimiento no lleva implícito el derecho a recibir nuevas funcionalidades en la solución, ya que ello requiere de un nuevo trabajo tanto de análisis como de programación o formación/implementación. Dicho mantenimiento puede o no ser imperativo su contrato para el funcionamiento de la solución y dependerá de la necesidad de la misma.
Cada apartado tiene su coste por hora diferente.