1. Mejores Pr´cticas en el Desarrollo de Software desde la
a
Perspectiva del Proyecto Gnome
Germ´n Poo Caama˜o
a n
Proyecto Gnome
Universidad del B´ ıo
ıo-B´
Estudiante Mag´ ıster en Ciencias de la
Computaci´n – Universidad de
o
Concepci´no
10 de octubre de 2007
2. El proyecto Gnome
Es un proyecto para disponer de un escritorio libre de alta calidad y
usabilidad
Desarrollado por personas dispersos alrededor del mundo
2 de 36
4. ¿Qu´ es Software Libre?
e
1. Libertad de utilizarlo.
2. Libertad de copiarlo.
3. Libertad de modificarlo.
4. Libertad de distribuir modificaciones.
Siempre y cuando no se quite ninguna estas libertades.
No habla de precio.
4 de 36
5. Analog´ de un veh´
ıa ıculo
Exam´
ınalo: Abre el cap´ del auto.
o
Aprende c´mo est´ hecho: Desarma un pedazo del motor.
o a
Hazle cambios: ¿Qu´ pasa si enchufo esto aqu´
e ı?.
Aprende de lo que hiciste... y vu´lvete un mec´nico o programador
e a
experto.
5 de 36
6. Gnome como proyecto
Equipos de trabajo
Traductores (48 idiomas con traducci´n oficial)
o
Administradores de sistemas e infraestructura
Acceso a discapacitados
Documentaci´n
o
Mercadotecnia
Liberaci´n de versiones
o
Aseguramiento de la calidad
Interacci´n Humano–Computador (Usabilidad)
o
Arte
6 de 36
8. Usabilidad
Usabilidad es la cualidad que tiene un software de ser usado con
facilidad para el fin al que ha sido destinado.
Una herramienta es muy usable cuando con ella se puede hacer
f´cilmente el trabajo para el que se fabric´ y el usuario no necesita
a o
explicaciones sobre c´mo usarla.
o
8 de 36
13. Principio: Mantener la simplicidad
El ser humano tiene dificultades para tratar con m´s de 7 (±2) ideas
a
o conceptos en forma simult´nea. Se mantiene como motivo de
a
mejoras el concepto de “menos es m´s” y el principio que todo debe
a
“Mantenerse simple”, de tal forma que se haga obvio la ausencia de
deficiencias.
Miller. The Magical Number Seven, Plus or Minus Two.
13 de 36
20. Lecciones
La ley de Brooks no sirve de nada si no se aprenden las lecciones.
Se aprende de los errores para entender mejor el problema.
Estimaci´n de esfuerzo y tiempo para entregar un producto.
o
Se define un calendario fijo para liberar nuevas versiones.
Existe un equipo que controla de vigilar los cambios.
Se establece un contrato para garantizar estabilidad de las interfaces
de programaci´n y binaria (API/ABI).
o
20 de 36
21. Seguimiento estricto al calendario planificado
Ejemplo: Siguiente versi´n de Gnome (2.22)
o
Etapa Fecha de congelamiento
API/ABI 07 de enero de 2008
Caracter´ısticas 14 de enero de 2008
Interfaz de usuario 28 de enero de 2008
Cadenas traducibles 11 de febrero de 2008
C´digo
o 03 de marzo de 2008
Nueva versi´no 12 de marzo de 2008
21 de 36
22. ¿Por qu´ es posible?
e
No existen presiones del mercado.
Existe conciencia de las necesidades de los clientes.
Los principales clientes del proyecto son las distribuciones.
Con un per´ ıodo definido de liberaci´n de nuevas versiones, se pueden
o
programar en la entrega de sus productos y se pueden definir
estrategias para el bien de su negocio.
22 de 36
23. Principios del desarrollo incremental
La construcci´n incremental permite reducir el riesgo y que los
o
usuarios puedan vislumbrar como es el software que desean.
H. Gomaa y D. Scott. Prototyping as a Tool in the Specification of
User Requirements.
Libera pronto, libera a menudo.
Eric Raymond. The Cathedral and the Bazaar.
23 de 36
24. Formas de trabajo obligadas en Gnome
Control y seguimientos de versiones.
La discusi´n hoy, en el mundo del Sotfware Libre no es determinar si
o
es necesario o no.
La discusi´n es centralizado verus descentralizado.
o
Seguimiento de eventos y fallos en el software.
Explicaci´n clara y escrita de las ideas.
o
Trabajo en equipo.
Autodisciplina.
24 de 36
25. Contradicciones
Un proceso bien definido puede atentar contra la innovaci´n.
o
25 de 36
26. Mito
El desarrollo usando c´digo abierto
o
resolver´ todos los problemas
a
26 de 36
27. Otra ley de Brooks
No existen las balas de plata (panacea). No hay ning´n tipo de
u
desarrollo, en cualquier tecnolog´ o t´cnica de gesti´n que por s´ sola
ıa e o ı
prometa una mejora en un orden de magnitud en cuanto a
productividad, estabilidad y simplicidad.
Fred Brooks. The Mythical Man-Month.
A pesar de contar con mejores lenguajes, POO, m´todos formales, etc. esta
e
ley sigue siendo v´lida.
a
27 de 36
30. Cartogramas: definici´n intuitiva
o
Es un mapa que muestra informaci´n cuantitativa manteniendo un
o
cierto grado de precisi´n de la informaci´n mapeada.
o o
30 de 36
34. ¿C´mo obtener todas las competencias necesarias para cambiar la
o
balanza?:
¿Siendo espectadores (usuarios)?
¿Siendo actores?
34 de 36
35. Oportunidades: Veranos de programaci´n de Google
o
Incentivos para aprender de proyectos de Software Libre/C´digo
o
Abierto
US$ 4.500 por 3 meses de trabajo (S/. 13.500)
35 de 36