[Pgsql-ayuda] Migracion del esquema de bases de datos

Silvia Ortega sortega@toyotaperu.com.pe
Wed, 3 Dec 2003 10:32:29 -0500


Con mucho, el desarrollo de software es una actividad caótica,
frecuentemente caracterizada por la frase "codifica y corrige". El software
se escribe con un plan subyacente mínimo, y el diseño del sistema se
adoquina con muchas decisiones a corto plazo. Esto realmente funciona muy
bien si el sistema es pequeño, pero conforme el sistema crece llega a ser
cada vez más difícil agregar nuevos aspectos al mismo. Además los bugs
llegan a ser cada vez más frecuentes y más difíciles de corregir. La seña
típica de tal sistema es una larga fase de pruebas después de que el sistema
ha sido "completado". Tal fase larga de pruebas hace estragos con los planes
de pruebas y depurado llegando a ser imposible de incluir en el programa de
trabajo.

Hemos vivido con este estilo de desarrollo por mucho tiempo, pero también
hemos tenido una alternativa desde hace mucho: Metodología. Las metodologías
imponen un proceso disciplinado sobre el desarrollo de software con el fin
de hacerlo más predecible y eficiente. Lo hacen desarrollando un proceso
detallado con un fuerte énfasis en planificar inspirado por otras
disciplinas de la ingeniería.

Las metodologías ingenieriles han estado presentes durante mucho tiempo. No
se han distinguido precisamente por ser muy exitosas. Aún menos por su
popularidad. La crítica más frecuente a estas metodologías es que son
burocráticas. Hay tanto que hacer para seguir la metodología que el ritmo
entero del desarrollo se retarda.

Como una reacción a estas metodologías, un nuevo grupo de metodologías ha
surgido en los últimos años. Durante algún tiempo se conocían como
metodologías ligeras, pero el término aceptado ahora es metodologías ágiles.
Para mucha gente el encanto de estas metodologías ágiles es su reacción ante
la burocracia de las metodologías monumentales. Estos nuevos métodos buscan
un justo medio entre ningún proceso y demasiado proceso, proporcionando
simplemente suficiente proceso para que el esfuerzo valga la pena.

El resultado de todo esto es que los métodos ágiles cambian
significativamente algunos de los énfasis de los métodos ingenieriles. La
diferencia inmediata es que son menos orientados al documento, exigiendo una
cantidad más pequeña de documentación para una tarea dada, es decir un
camino mas fácil. De muchas maneras son más bien orientados al código:
siguiendo un camino que dice que la parte importante de la documentación es
el código fuente.

Sin embargo yo no creo que éste sea el punto importante sobre los métodos
ágiles. La falta de documentación es un síntoma de diferencias mucho más
profundas y el problema real es cuando el programador encuentra un proyecto
en el que han utilizado metodología ágil, se sentirá perdido, mientras que
con una metodologia monumental el trabajo es mucho mas ordenado y fácil de
seguir.

Los métodos ágiles son adaptables en lugar de predictivos. Los métodos
ingenieriles tienden a intentar planear una parte grande del proceso del
software en gran detalle para un plazo largo de tiempo, esto funciona bien
hasta que las cosas cambian. Así que su naturaleza es resistirse al cambio.
Para los métodos ágiles, no obstante, el cambio es bienvenido. Intentan ser
procesos que se adaptan y crecen en el cambio, incluso al punto de cambiarse
ellos mismos.
Los métodos ágiles son orientados a la gente y no orientados al proceso. La
meta de los métodos ingenieriles es definir un proceso que funcionará bien
con cualquiera que lo use. Los métodos ágiles afirman que ningún proceso
podrá nunca maquillar las habilidades del equipo de desarrollo, de modo que
el papel del proceso es apoyar al equipo de desarrollo en su trabajo.
Explícitamente puntualizan el trabajar a favor de la naturaleza humana en
lugar de en su contra y enfatizan que el desarrollo de software debe ser una
actividad agradable.

Puedes obtener mas informacion en :
http://www.programacion.com/tutorial/nuevametodologia/

----- Original Message -----
From: "felipe.molina" <felipe.molina@inegi.gob.mx>
To: "Alvaro Herrera" <alvherre@dcc.uchile.cl>
Cc: "Silvia Ortega" <sortega@toyotaperu.com.pe>; "Adrian Galindo"
<agalindo@liceaga.facmed.unam.mx>; <pgsql-ayuda@tlali.iztacala.unam.mx>
Sent: Wednesday, December 03, 2003 11:44 AM
Subject: Re: [Pgsql-ayuda] Migracion del esquema de bases de datos


Disculpen la ignorancia, pero me intereso bastante el tema de las
metodologias agiles. Estoy leyendo algo de programacion extrema en
internet. Hay alguna otra?

Saludos
El mar, 02-12-2003 a las 15:22, Alvaro Herrera escribió:
> On Tue, Dec 02, 2003 at 08:50:18AM -0500, Silvia Ortega wrote:
>
> > Alvaro Herrera wrote:
> > >
> > > Eso se supone que es con las metodologías tradicionales de desarrollo.
> > > Yo prefiero plegarme a las metodologías ágiles como programación
> > > extrema.  Ahí es casi un requerimiento el hacer evolucionar la
> > > aplicación (código), el diseño de la BD y el diseño de todo el sistema
> > > durante el camino de desarrollo.
> >
> > El exito de una aplicación está de hecho en un buen diseño desde el
> > principio, no omitir nada y no sobrellevar nada demás.
>
> Esos son los supuestos de las metodologias tradicionales de desarrollo.
> En mi opinion y experiencia (aunque es escasa), esas metodologias son
> mucho mas ineficientes que las metodologias agiles, entregando
> resultados de peor calidad, en mas tiempo y con mucho mayor costo.
>
> Lo malo de las metodologias agiles es que requieren que la gente
> involucrada sea de primer nivel.  Con metodologias tradicionales puedes
> trabajar con un lote de incompetentes y aun asi terminar con un producto
> que algo sirve.
> (No significa que toda la gente que use metodologias tradicionales sea
> incompetente -- solo que no es tan eficiente.)
>
> En resumen, hay un tema de la burocracia involucrada que ayuda a paliar
> los problemas de recursos humanos.
>
> --
> Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
> "Para tener más hay que desear menos"
> _______________________________________________
> Pgsql-ayuda mailing list
> Pgsql-ayuda@tlali.iztacala.unam.mx
> http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda


_______________________________________________
Pgsql-ayuda mailing list
Pgsql-ayuda@tlali.iztacala.unam.mx
http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda