Ir al contenido

Desarrollo de software a medida

Desarrollo de software a medida con Laravel

La mayor parte de una aplicación de negocio es infraestructura que nadie quiere pagar. Qué trae Laravel de serie, a dónde debe ir el presupuesto, y cuándo gana un producto.

Una aplicación de negocio no trata, en su mayor parte, del negocio.

Si cuentas el código de cualquier sistema de este tipo, la parte que codifica cómo funciona de verdad tu empresa es una minoría. El resto es el aparato que toda aplicación así necesita antes de poder hacer nada útil, y esa distinción es lo más provechoso que se puede entender antes de encargar una, porque es donde se ganan y se pierden los presupuestos.

El veinte por ciento que es realmente tuyo

La parte valiosa de un desarrollo propio es la que un producto nunca podría haberte dado: tus reglas de precio, tu cadena de aprobación, el camino de un trabajo desde presupuestado a planificado a facturado, la excepción que se aplica a un cliente por motivos que vienen de hace una década.

Ahí es donde debe ir el pensamiento, y en un proyecto mal llevado ahí es donde el pensamiento se acaba, porque el presupuesto se consumió haciendo funcionar la infraestructura.

La pregunta que conviene hacerle a un proveedor no es qué framework usa. Es qué proporción de la estimación se gasta en cosas que son idénticas en todas las aplicaciones que ha construido.

Qué necesita una aplicación de negocio en Laravel antes de hacer nada útil

La lista es más larga de lo que se espera y nada de ella es negociable.

Alguien tiene que entrar, y alguien tiene que poder restablecer una contraseña sin un desarrollador. Personas distintas tienen que ver cosas distintas, impuesto en algún sitio mejor que un elemento de menú oculto: la autorización no es la autenticación, y la diferencia se ve la primera vez que una exportación alcanza registros que su operador no debía ver.

El trabajo tiene que ocurrir fuera de una petición web. Generar un documento, enviar un correo, una importación nocturna, recalcular una cifra. Eso significa una cola, que significa reintentos, que significa trabajos seguros de ejecutar dos veces - y una cola construida a la ligera es cómo un cliente recibe tres veces la misma factura.

El esquema necesita un historial en vez de un estado actual, para que un cambio se pueda revisar y reproducir en otro entorno. Hay que aceptar ficheros de gente de fuera de la organización sin que eso sea un incidente de seguridad. Y tiene que haber pruebas sobre los caminos donde el dinero y el estado cambian, o en el segundo año nadie se atreverá a tocar el sistema.

Laravel trae todo eso de serie, con una calidad que la mayoría de los equipos no alcanzaría construyéndolo, y - más importante - con una forma que el siguiente desarrollador reconoce. Un framework propio inventado hace cuatro años por alguien que ya se fue es el tipo de software a medida más caro que existe.

Las integraciones suelen ser el alcance real

La parte de estos proyectos que se desborda casi nunca son las pantallas.

Es que la aplicación tiene que ponerse de acuerdo con una contabilidad, un ERP, una pasarela de pago, una empresa de transporte, un CRM y una hoja de cálculo, ninguno de los cuales se diseñó para ponerse de acuerdo con nada. La ingeniería de hablar con ellos es sencilla. Las decisiones no.

Qué sistema es dueño del nombre de un cliente, y qué pasa cuando cambia en el otro lado. Quién asigna el número de factura. Qué hace un abono en cada lado. Cómo se aplica un pago parcial. Qué pasa cuando un sistema está caído y el otro ya ha registrado la operación.

Son decisiones comerciales con aspecto técnico, y se resuelven con tu gente de finanzas y de operaciones en vez de estimarlas nosotros. Este tipo de trabajo está en ingeniería de integraciones; en un desarrollo a medida es con frecuencia la mitad del proyecto, y un plan que lo trata como una línea al final es un plan que se retrasa.

Cómo se desarrolla un proyecto Laravel a medida

Por fases, cada una terminando con algo desplegado que la gente pueda usar de verdad.

La primera fase coge un flujo de principio a fin - no el contorno de cinco - porque eso es lo que obliga al esquema a encontrarse con datos reales. También es lo que produce una estimación del resto que valga algo, lo que una cifra dada en la semana uno no hace.

Cada fase se acota por escrito antes de empezar. Donde tengas desarrolladores, están en los pull requests desde la primera semana; así se transfieren las convenciones, y es la única forma en la que el sistema sigue siendo mantenible cuando dejamos de trabajar en él.

La migración de los datos existentes va en paralelo, no al final. El sistema nuevo se reconcilia contra el viejo, registro a registro, hasta que coinciden - las discrepancias son hallazgos y no errores, y siempre hay más de las que alguien predijo.

Qué recibes de un proyecto Laravel a medida

Al cierre de cada fase, una aplicación funcionando en infraestructura que controlas.

Junto con ella: el repositorio y su historial completo, con una compilación y un despliegue que no dependen de nosotros. Migraciones en vez de un volcado de base de datos. Una descripción escrita del modelo de datos, de cada restricción y de lo que evita, porque una restricción que nadie puede explicar es una que un futuro desarrollador borrará. Pruebas sobre los caminos que mueven dinero o cambian estado. Y las decisiones de integración registradas, incluidas las que discutimos, porque son lo que necesita un desarrollador nuevo y lo que un documento de entrega siempre omite.

Dónde comprar gana a construir

Esta respuesta a veces es no, y es más barato oírla ahora.

Si un producto cubre la mayoría y el hueco es gusto en vez de proceso, compra el producto y configúralo. La comparación honesta es cinco años contra cinco años, no el año uno contra el año uno, y a la vista larga configurar gana más a menudo de lo que la gente espera.

Si el proceso todavía se está inventando, un desarrollo pondrá en hormigón una decisión que nadie ha tomado. Mantenlo manual hasta que la forma deje de moverse.

Si el volumen es tan bajo que la versión manual cuesta una hora a la semana, automatizarlo es una afición y no una inversión.

Y si nadie dentro de la empresa está mejor cuando funciona - ninguna persona concreta cuyo trabajo se vuelva más fácil -, se abandonará por bueno que sea. Ese es el fallo que hemos visto más a menudo, y nunca es técnico.

Alcance y condiciones

Modelo de colaboración
Alcance cerrado, acordado por escrito antes de empezar. No es una tarifa por día contra una lista abierta.
Precio y plazo
Los dos se fijan por proyecto, una vez fijado el alcance. Se ofertan juntos, antes de construir nada.
Qué necesitamos de usted
Una persona que pueda aprobar decisiones, y acceso a su repositorio y a su gestor de incidencias.
No incluido
Todo lo que quede fuera del alcance acordado. Pasa a ser su propio alcance, no una modificación.
Costes de terceros
El alojamiento, las licencias, las tarifas de API y las suscripciones SaaS los contrata y paga usted.
Facturación
Codefacture Yazılım A.Ş., Türkiye. EUR, USD o GBP por transferencia, sin IVA turco en servicios exportados.

Preguntas frecuentes

¿Cómo sabemos si de verdad necesitamos un desarrollo propio?
Cuenta los apaños. Una empresa con dos hojas de cálculo, un buzón compartido usado como cola y una persona que sabe qué cifra es la correcta ya está pagando software - en sueldos - y no recibe ninguna de las garantías. Ese caso es un desarrollo. Una empresa cuya queja es que un producto resulta incómodo pero hace el trabajo, no lo es: cambiar incomodidad por una obligación de mantenimiento es un mal trato, y es la versión de la que se arrepiente la gente.
¿Por qué importa Laravel si lo nuestro es nuestra lógica de negocio?
Porque la lógica de negocio es una minoría del código. Sesiones, permisos, trabajo en segundo plano con reintentos, tareas programadas, migraciones, correo, gestión de ficheros, un armazón de pruebas: toda aplicación de este tipo necesita todo eso, nada de ello te distingue, y todo ello se puede hacer mal de formas que cuestan dinero real. Tomarlo de serie es cómo el presupuesto llega a la parte que es tuya. Además, quien mantenga el sistema dentro de cuatro años reconocerá la forma, algo que un framework casero nunca ofrece.
¿Qué resulta siempre mayor de lo previsto?
Las integraciones y el estado de los datos existentes, en ese orden. Meter una factura en un sistema contable son dos semanas; acordar qué sistema es dueño del nombre de un cliente, qué hace un abono y cómo se aplica un pago parcial es el resto del proyecto. Y los datos que se van a migrar están peor de lo que cree todo el mundo: duplicados, un campo de fecha con cuatro formatos, una columna de estado con valores que nadie puede explicar. Reconciliamos contra el sistema antiguo en vez de hacer un corte, que es más lento y es la única manera de que la empresa siga fiándose de sus propias cifras.
¿Cómo se presupuesta?
Por fases, fijadas por escrito antes de empezar cada una, nunca como una tarifa diaria abierta. La primera fase es pequeña a propósito y termina con algo funcionando. Una cifra global dada antes de que nadie haya visto tus datos no es una estimación, y tratarla como tal es cómo los proyectos acaban con un precio fijo y un alcance que encoge en silencio.
¿Qué somos dueños al final?
De todo. El repositorio con su historial, un despliegue que funciona sin nosotros, el esquema como migraciones, y el razonamiento escrito mientras se decidía. Sin licencia, sin ningún componente alojado que nos alquiles y sin ninguna parte del sistema que solo nosotros podamos cambiar. Si eso no es cierto en una propuesta que estés leyendo, merece la pena preguntar por qué.
Llamar+1 848 272 7583WhatsApp+90 850 308 5436Correoinfo@codefacture.comPágina de contacto