PDF de programación - El control de calidad en proyectos de Software Libre

Imágen de pdf El control de calidad en proyectos de Software Libre

El control de calidad en proyectos de Software Libregráfica de visualizaciones

Publicado el 2 de Mayo del 2017
644 visualizaciones desde el 2 de Mayo del 2017
117,9 KB
40 paginas
Creado hace 17a (20/07/2006)
El control de calidad en proyectos de Software Libre

Gunnar Wolf - [email protected]
Desarrollador del Proyecto Debian

Instituto de Investigaciones Económicas - UNAM

http://www.gwolf.org/soft/qa_soft_libre

El control de calidad en proyectos de Software Libre

1. ¿Qué es Software Libre?
2. Comprendiendo la crisis en la industria del software
3. Características del desarrollo en proyectos de Software Libre
4. Herramientas de desarrollo colaborativo distribuído
5. Un ejemplo: coordinación y control de calidad en el proyecto
Debian

Primer acercamiento

1. ¿Qué es Software Libre?

¿Qué es el Software Libre?


Un movimiento social que busca corregir una aberración histórica


Miles de voluntarios que rompen toda predicción económica


Un movimiento eminentemente social, con efectos técnicos como primer resultado


Un nuevo modelo de producción de software


Un esquema justo de licenciamiento de la propiedad intelectual

Sí, pero... ¿Qué es el software libre?

1. ¿Software libre?



El mundo del cómputo hasta los 70 seguía otras reglas
El negocio está en vender hardware - El software requerido va incluído
Es de esperarse que los usuarios quieran modificar tanto hardware como software
Los sistemas se venden con esquemas y código fuente completos

La revolución de las PCs nos trajo un licenciamiento injusto e ilógico
Al pagar por un programa, no lo compramos - Sólo adquirimos una licencia de uso bajo ciertas condiciones
Lo compramos tal y como está - Es imposible adecuarlo a nuestras necesidades específicas
La compañía dueña del código no da garantía alguna sobre de él


El software libre básicamente nos devuelve la propiedad y los derechos
Con el software libre recuperamos el control de nuestra propiedad
Podemos adecuar el software a nuestras necesidades
Podemos corregir los problemas que presente
Podemos compartir nuestro desarrollo con quien lo necesite


¡Pero no recibimos siquiera el derecho de corregir problemas!

Aterrizando

1. ¿Software libre?

Un programa es considerado software libre si su licencia nos

garantiza:


Libertad de uso
Podemos usar el programa para el propósito que deseemos

Libertad de aprendizaje
Podemos aprender cómo está hecho el programa
Tenemos acceso a su código fuente

Libertad de modificación
Podemos adecuar el programa a nuestras necesidades modificando su código
Podemos incluir partes de su código en nuestros desarrollos

Libertad de redistribución
Podemos compartir el programa con otras personas
Podemos compartir el código fuente con otras personas
En su estado original o modificado


Aclarando

1. ¿Software libre?

El software libre simplemente es diferente.

Rompe con la lógica de trabajo en la industria
Plantea hasta cierto punto la vuelta a una forma de trabajo académica

Ha creado fuertes presiones sobre una industria basada en principios errados


Va a modificar radicalmente la manera de trabajar de esta industria
Para concentrarse en la venta de servicios (personalización, administración, etc.)
Adecuaciones a las necesidades específicas del usuario
Vuelta a un modelo más sano, como lo que teníamos hace 30 años

Se ha convertido en una religión



El control de calidad en proyectos de Software Libre

1. ¿Qué es Software Libre?
2. Comprendiendo la crisis en la industria del software
3. Características del desarrollo en proyectos de Software Libre
4. Herramientas de desarrollo colaborativo distribuído
5. Un ejemplo: coordinación y control de calidad en el proyecto
Debian

Desarrollo de un proyecto

2. Comprendiendo la crisis en la industria del software

Dentro de la industria tradicional del software tienden a observarse
metodologías, divisiones y tiempos, rígidos y claros, para las
diferentes etapas


No hay una sóla concepción de cómo debe ser el proceso ideal, pero todo proyecto tiene


claro y definido el suyo

La impredictibilidad y el caos son vistos como los mayores enemigos


Proyección de funcionalidad ("roadmaps" del proyecto) a mediano y largo plazo

La presión del tiempo al mercado

2. Comprendiendo la crisis en la industria del software

La crisis de la industria del software deriva precisamente de que se
ha convertido en una industria.
Necesidad de entregar los productos en un tiempo competitivo
Resultado: Sistemas menos maduros, más vulnerables, con cantidades tremendas de fallos conocidos (dicen los que saben, decenas

Competencia en vez de cooperación
En nombre de los secretos industriales, patentes sobre algoritmos y, en general, la propiedad intelectual, la computación como

de miles en Windows XP)

disciplina científica está atascada desde hace más de 20 años

completamente deiferentes, en vez de cooperación para el desarrollo de nuevas tecnologías

Especialmente durante los 80 y 90 vimos una y otra reimplementación de las mismas ideas de diferentes maneras, con interfaces

La propiedad intelectual
Toda empresa de desarrollo de software tiene que pagar grandes despachos de abogados
Toda empresa de desarrollo de software debe tener una sólida cartera de patentes sobre algoritmos

Emergencia de oligopolios/monopolios
Las pequeñas empresas sencillamente no tienen manera de competir con las grandes, terminan siendo absorbidas o quebrando
Y no es culpa de Microsoft - El modelo mismo fomenta la creación de monopolios

Los engranes de la maquinaria (o cómo lograr insultar al cliente y seguir cobrándole)

2. Comprendiendo la crisis en la industria del software

Con el paso de los años, el cliente ha ido pasando cada vez más a
un papel de menor importancia
Comenzando con licencias excesivamente restrictivas
Puede ponerse en duda su legalidad - Yo no firmé en ningún lado...
Me prohiben cada vez más acciones
Limitan por completo mi privacidad

El Impuesto Microsoft
No puedo elegir una computadora de marca sin que incluya Windows. ¿Por qué?


Al pagar la licencia del programa, expresamente acepto que carece de garantía - Estoy dando dinero para recibir un permiso de uso

Imposibilidad de recibir soporte técnico

(no estoy comprando nada), sin garantía de que sirva de algo

Para sistemas grandes, puedo pagar (en cientos de dólares) para abrir un ticket de soporte, sin garantía de que me resuelvan el


problema (o de que intenten hacerlo)

¿Debemos seguir los mandatos de la visión empresarial?

2. Comprendiendo la crisis en la industria del software

El cómputo históricamente siempre ha tenido su mayor impulso en la
academia
Hemos seguido ciegamente las tendencias del mercado


Prácticamente no ha habido verdaderas inovaciones en el cómputo en las últimas dos


décadas

Las prácticas actuales de desarrollo por parte de la industria son ineficientes y caen en

todo tipo de vicios

Les salió más caro el caldo que las albóndigas



¿Por qué insistir en copiar un modelo

inferior?

El control de calidad en proyectos de Software Libre

1. ¿Qué es Software Libre?
2. Comprendiendo la crisis en la industria del software
3. Características del desarrollo en proyectos de Software Libre
4. Herramientas de desarrollo colaborativo distribuído
5. Un ejemplo: coordinación y control de calidad en el proyecto
Debian



3. Características del desarrollo en proyectos de Software Libre

Modelo general de desarrollo

Cada comunidad de desarrolladores ha llevado la filosofía de
desarrollo del sistema en que creció a su modo general de trabajo y
colaboración


Software Libre
Muchos componentes pequeños, con interfaces claras, fáciles
de "interenchufar", que saben hacer muy pocas cosas pero la
hacen bien

Cada componente debe mantenerse independiente de los

demás. Los cambios en un componente no deben afectar a
otros.

La funcionalidad puede ser redundante - puede haber más de

una herramienta para hacer lo mismo

Asume que el usuario es como el programador - Todo está

documentado y al alcance

Al permitir al usuario hacer cosas aparentemente tontas le
permitimos hacer cosas muy ingeniosas. El usuario sabe lo
que hace.



Software privativo
Grandes sistemas, con mucha funcionalidad, a ser utilizados
de la manera que fue previsto. Interoperabilidad limitada a lo
determinado adecuado

El sistema está fuertemente integrado para ofrecer una

sensación de mayor unidad al usuario

El sistema es diseñado como un todo, hay que evitar al

usuario tomar decisiones innecesarias

Asume usuarios finales, da suficiente documentación para

resolver problemas simples

Es necesario proteger al usuario de las acciones que pueda


realizar que puedan hacer daño a su sistema.

3. Características del desarrollo en proyectos de Software Libre

Modelo de crecimiento orgánico

El modelo de desarrollo que seguimos puede ser visto como el
crecimiento orgánico - tiene una gran semejanza con las células de
un ser vivo.
Los diferentes proyectos tienden a ser tan pequeños e independientes como sea posible,

con una interfaz consistente

Es fácil reemplazar a uno por otro
Diferentes proyectos implementando la misma funcionalidad no compiten - avanzan en conjunto
Comparten recursos vitales - a los desarrolladores y a su experiencia

La redundancia no duele
Hay muchos proyectos implementando la misma funcionalidad
Selección natural


3. Características del desarrollo en proyectos de Software Libre

Diferentes tipos de proyecto

Hay dos tipos principales de proyectos de Software libre - y uno no
puede ser exitoso sin el otro
Desarrollo de software
Desarrolla cada uno de los componentes
El proyecto puede ser muy simple/pequeño o muy grande (hasta cientos de desarrolladores en
  • Links de descarga
http://lwp-l.com/pdf3279

Comentarios de: El control de calidad en proyectos de Software Libre (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad