Guillermo,

Se me olvidaba comentar. Respecto de la experiencia (si fue buena o mala)
depende mucho del proyecto. En general te dirìa que 90% buena y 10% regular.
Nunca me ha pasado que deba sacar la màquina de build porque siempre el
proyecto sale màs ràpido cuando hay una màquina de build.

Lo que dice Martin Fowler es que debes configurar la màquina de build antes
de partir el proyecto, lo cual he comprobado que es 100% verdad. Te demoras
un poco al principio, pero te ahorras dìas luego durante el proyecto.

Si el proyecto es chico, la compilaciòn despuès de cada checkìn demora un
par de minutos y te dice si algo no compila o si se cae un test, es genial.
En un proyecto con 4 o 5 personas y unos 6 meses funciona muy bien y nunca
pasa de los 5 minutos de compilaciòn.

Si el proyecto es gigante, digamos 15 personas y 1.5 años de desarrollo, la
integraciòn continua es necesaria, pero puede llegar a demorar unas 3 horas
en compilar y pasar los tests. Hay que tener una serie de màquinas de build
idealmente. Por lo menos una para despuès de cada check-in,  una para
funcionar como Staging, que ejecute 2 veces al dìa (digamos a la hora de
almuerzo y en la noche) de modo que despuès de almuerzo o al dìa siguiente
verifiques que lo que hiciste sigue funcionando. ¿Porquè? Porque una cosa es
que pase el test y otra que efectivamente funcione. Suena ridìculo, pero a
veces falla de maneras inesperadas, tienes que agregar tests, etc.

Además debieras tener una màquina de test en la que los testers puedan
compilar cuando quieran porque a veces se demoran muchos dìas en hacer una
prueba. Segùn los XPers no es necesario tener testers, pero en mi
experiencia las especificaciones estàn màs completas al final que al
principio, de modo que especialmente si el proyecto es muy grande, de todas
maneras se requiere testers para probar cosas raras como ciclos de negocio
que involucran decenas de casos de uso y que no habìas pensado al principio
del proyecto (hay que considerar que proyectos asì tienen muchos controles
de cambio).

Saludos,
Guillermo.

2011/8/4 Guillermo Schwarz <[email protected]>

> Guillermo,
>
> En Java lo que nos ha funcionado mejor es LuntBuild (gratuito y open
> source). Agarra el còdigo desde SVN y ejecuta el build.xml con ant, con lo
> que puedes hacer que compile, corra los tests unitarios de JUnit y los tests
> de integraciòn, o de aceptaciòn, hechos con Selenium. Además cuando algún
> test no te pasa y estás a punto de entregar pero sabes que es muy difìcil
> que te pillen el bug, puedes comentarlo colocando __ delante del test, de
> modo que las pruebas no se ejecuten, pero que puedas hacer refactoring sin
> que el IDE deje de refactorizar el còdigo comentado.
>
> En Smalltalk sè que existe SUnit y tengo entendido que SqueakSource es open
> source, lo que permitirìa reemplazar el SVN, pero nunca lo he podido hacer
> funcionar bien. Además no sé si existe un servidor de build equivalente a
> LuntBuild. Debe haberlo, pero no sabría dónde buscarlo. Selenium debería
> funcionar igual independiente de la tecnología con la que desarrolles tu
> sistema.
>
> Saludos,
> El otro Guillermo.
>
>
> 2011/8/4 Angel Java Lopez <[email protected]>
>
>> Hola gente!
>>
>> Guillermo, ni idea de esto en Smalltalk ... ;-)... pero si puedo aportar
>> dos videos, discusiones:
>>
>> http://www.altnethispano.org/wiki/van-2009-12-18-automatizacion.ashx
>> Donde se expone que hace un build continuo puede ser algo relativamente
>> facil de hacer al comienzo ("la cuarta vez que hago algo, automatizarlo").
>> He visto entonces equipos agiles (iteraciones 1 semana, Scrum) que ya en los
>> primeros dias levantan una maquina virtual de integracion continua.
>>
>> Luego:
>> http://www.altnethispano.org/wiki/van-2010-10-26-integracion-continua.ashx
>> mas sobre el tema de integracion continua
>>
>> Con respecto a los tests, depende del proyecto. Yo he participado de
>> proyectos con TDD, entonces ahi no me importo tanto que sean unit test, sino
>> que fuera todo desarrollado con TDD. El code coverage alto no es entonces un
>> objetivo, sino que practicamente es un resultado derivado de aplicar bien
>> TDD.
>> Tambien he participado de proyectos SIN TDD, pero con testing agregado en
>> el medio. No seria el mejor camino, pero bue ;-). En esos casos, se trato de
>> llegar a un code coverage de 80% o mas.
>>
>> He tenido proyectos con integracion continua con Cruise Control, y con
>> Team City (el actual). En cuanto alguien hace un commit que da tests en
>> rojo... ;-)... compra facturas para la tarde ;-)
>>
>> He visto proyectos (tres equipos, en tres paises distintos), con un build
>> continuo sin errores por 6 meses, si mal no recuerdo. No tengo el enlace.
>> Preguntar en Twitter a @kzu.
>>
>> Nos leemos!
>>
>> Angel "Java" Lopez
>> http://www.ajlopez.com
>> http://twitter.com/ajlopez
>>
>>
>>
>> 2011/8/4 Guillermo Sapaya <[email protected]>
>>
>>> **
>>> Hola,
>>> ¿alguno ha experimentado llevar adelante proyectos con integración
>>> continua?
>>> En tal caso, ¿podrían compartir sus experiencias?
>>> Algunas preguntas que me interesan:
>>> - ¿Qué usan como repositorio de código?
>>> - En caso de no usar las herramientas mas conocidas del mercado
>>> (Subversion, Hudson, Maven, etc.) ¿Se hicieron las suyas propias con buenos
>>> resultados?
>>> - ¿Qué porcentaje de code coverage poseen con sus tests?
>>> - ¿Se puede arrancar con un bajo índice de UnitTests?
>>> - ¿Tiene un impacto muy alto al comienzo?
>>>
>>> Saludos,
>>>
>>> Guillermo Sapaya
>>> Gerente de Desarrollo
>>> InfOil S.A. - www.infoil.com.ar
>>> Tronador 2244, C1430DKP
>>> Buenos Aires, Argentina
>>> TEL (5411)4542-9999 int. 122
>>>
>>> --
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>>
>>> http://www.clubSmalltalk.org
>>
>>
>>  --
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>>
>> http://www.clubSmalltalk.org
>>
>
>
>
> --
> Saludos cordiales,
>
> Guillermo Schwarz
> Sun Certified Enterprise Architect
>



-- 
Saludos cordiales,

Guillermo Schwarz
Sun Certified Enterprise Architect

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org

Responder a