Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Debates (https://www.clubdelphi.com/foros/forumdisplay.php?f=29)
-   -   De forks y versiones (https://www.clubdelphi.com/foros/showthread.php?t=80981)

AzidRain 29-09-2012 00:29:02

De forks y versiones
 
No había puesto atención a la importancia del control de versiones hasta que me topé con un cliente que de la noche a la mañana se reactivó pidiendo muchas cosas en poco tiempo respecto a un sistema desarrollado para él.

Nos encontramos digamos en la version 1.0 que se liberó y cobró y todo.

Posteriormente nos habla y requiere que se haga un cambio x en el sistema por lo que se empieza a trabajar en la version 1.1.

Durante el desarrollo, digamos a la mitad, nos dice que ahora también requiere otra funcionalidad no relacionada con la que se está desarrollando. (Aquí surge el primero "fork") Nombramos a esta version 1.1.1 y otro programador comienza a trabajar en ella.

Y así sucesivamente hasta que ya estamos trabajando con 4 forks distintos y algunos de ellos ya empiezan a tocar código común por lo que hacer un "merge" o juntarlos se esta volviendo una pesadilla ya que lo que funciona en una version que consolida 2 forks no funciona con otra que une 3 y bueno...

Se le explicó al cliente que de oportunidad a terminar al menos las funcionalidades que se pueden juntar sin perjucio de las otras pero quiere ver todas las variantes juntas. Se le ha explicado que muchas reglas de negocio que él mismo cambió afectan el desarollo de lo que ya se llevaba avanzado pero obviamente el cliente no tiene porque entender como se hace el desarollo, nos pago por resultados.

Hoy día ya logramos juntar algunas variantes y nos quedamos con 2 "forks" (perdón por el anglicismo pero no encuento algo más descriptivo en español) sin embargo son mutuamente excluyentes, lo que funciona en uno, no funciona en el otro. Algunas veces lo hemos resuelto terminando el "fork" mas antiguo y luego pasando los archivos modificados al proyecto del "fork" mas nuevo, pero es tedioso y nada amigable.

Hace unos días leía algo sobre el tema, pero quise comentarlo aquí a ver que opinan, seguramente a alguien más le ha pasado.

cancun 29-09-2012 01:42:31

Hola

Efectivamente es un problema cuando realizas un desarrollo para varios clientes con necesidades diferentes, yo he optado (un sistema de punto de venta) por hacerlo configurable, lo que me pide un cliente pero se que a otro no le sirve e incluso le estorbaría, hago que se oculte para los demas si no es activado en la configuración.

Esto me funcionó hasta que un cliente me pidio demasiados cambios y cosas nuevas y opté por manejar una versión para este cliente.

He visto algo por ahí respecto al control de versiones pero no se como funciona, tal vez sea algo que me sirva si entiendo como funciona, espero algun compañero nos de alguna luz.


Saludos

Casimiro Notevi 29-09-2012 10:18:32

Muchas es mejor tener módulos distintos y que se puedan activar/desactivar según el cliente.
Porque llevar distintas versiones de un programa para distintos clientes es engorroso cuando tenemos un programa para todos, hay que estar controlando que no afecte lo de uno con el del otro, lo que te ha pasado.
De todas formas, dependiendo de lo que sea, también es muy válido un control de versiones y 'forks'.
Yo prefiero hacer el proprama configurable y hacer uso de unas tablas u otras mediante un módulo u otro.

D-MO 30-09-2012 06:37:41

Esta historia se me hace muy conocida... lo mismo (o algo mas o menos similar) me pasaba hasta que me topé con los DVCS.

Mucho tiempo antes intenté utilizar VCS como Subversión o CVS, pero quizá mi poca experiencia y desconocimiento hicieron que terminara odiándolos (y lo sigo haciendo a día de hoy).

Cuando empecé a usar Mercurial todo fue diferente, mas simple, sencillo pero con igual o mayor funcionalidad... luego conocí git y bazaar, este último no es de mi total agrado, sin embargo, me toca usarlo a diario.

Aun siendo un desarrollo individual es de mucha ayuda el uso de un DVCS ya que queda la bitácora de todo lo que hemos hecho... créanme, son de mucha utilidad ;).

Para muestra, un botón.


Saludos

roman 01-10-2012 16:44:32

He revisado un poco eso del mercurial y como que no le hallo. Me de la impresión de que termina uno con una infinidad de posibles caminos no lineales sin tener mucha idea de qué hacer con todos ellos.

Claro que es una visión desde la ignorncia, pero es la impresión que me da.

// Saludos


La franja horaria es GMT +2. Ahora son las 10:54:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi