|
El modelo de programación del desarrollo de software es una metodología basada en los principios
de simplicidad, comunicación, feedback y valor añadido.
Su funcionamiento trata de que todo el equipo de programadores se una alrededor de tareas sencillas y
con suficiente feedback para permitir al equipo conocer en que estadio de desarrollo se encuentra.
Las directivas en las que se basa dicho modelo de programación son:
| - |
 |
Equipo de desarrollo compacto:
En dicho modelo cada programador forma parte integrante del "equipo de desarrollo". |
| - |
 |
Planificación, entregas rápidas y verificación de
los usuarios: Se utilizan mecanismos simples de planificación para decidir que es lo
siguiente a desarrollar. Centrados en que el resultado a obtener beneficie al cliente,
el equipo produce nuevas aplicaciones en versiones constantes,
integradas y verificadas por el propio cliente y el equipo de desarrollo. |
| - |
 |
Diseño simple y mejora continua:
Los programadores trabajan de forma conjunta con un diseño simple y
con la obsesión de verificar todo el código que se produce. |
| - |
 |
Integración, propiedad colectiva y codificación estándar:
El equipo de desarrollo mantiene las aplicaciones en funcionamiento constantemente.
Las funcionalidades se codifican y se integran inmediatamente en la aplicación,
verificando que cumplen todos los tests de calidad. |
Mejora constante de los diseños.
Nuestro sistema de desarrollo se centra en ofrecer valor añadido en cada iteración.
Para conseguir este objetivo a lo largo de todo el proceso,
el software debe haber sido diseñado correctamente.
La alternativa es ralentizar el proceso de desarrollo hasta paralizarlo.
Por ello, el modelo de programación generado utiliza un proceso de mejora continua del
diseño de las aplicaciones denominado "Refactoring".
El proceso de "refactoring" se centra en la eliminación de duplicidades
(un signo de un diseño deficiente),
y en aumentar la "cohesión" del código, al tiempo que se reducen las dependencias.
La cohesión del código y la baja dependencia son dos factores reconocidos como señas de
identidad del software bien hecho. El resultado es que el equipo de programación ARABA SISTEMAS
comienzan con un diseño bueno y simple y siempre mantienen estos parámetros para su software:
diseño bueno y simple. Esto permite mantener una alta velocidad de desarrollo y en
general reduce el tiempo en que puede liberarse cada proyecto.
El "refactoring" está fuertemente soportado por un proceso de verificación para asegurar
que nada deja de funcionar a la vez que evoluciona el diseño de las aplicaciones.
Por ello, las verificaciones tanto de los usuarios como de los programadores se
convierten en un factor decisivo en este modelo de desarrollo.
Desarrollo colectivo.
En los proyectos de desarrollo de ARABA SISTEMAS, cada programador puede mejorar cualquier
bloque de código en cualquier momento. Esto significa que todos los programas obtienen
las mejoras generadas por todos los programadores, lo cual incrementa la calidad del
software y reduce sus defectos. Este modelo de programación también permite obtener otro
beneficio importante: cuando el código es propiedad de un determinado programador,
las mejoras a realizar se suelen implementar de forma poco eficiente ya que cada programador
vela solamente por la parte de código de la que es propietario. Este modelo es poco eficiente y
genera código difícil de mantener y que normalmente está repleto de duplicidades.
El desarrollo colectivo puede ser un problema si los programadores modifican código que no entienden.
Las practicas de desarrollo resuelven estos problemas mediante dos técnicas principales:
las verificaciones del programador permiten atrapar los errores y la interacción con otros
programadores expertos en el módulo asegura que se hace lo adecuado, además de repartir el
conocimiento sobre el área a todos los integrantes del equipo.
Estandarización.
El equipo de desarrollo de ARABA SISTEMAS sigue unas reglas de codificación comunes,
de forma que todo el código del sistema parece como si hubiera sido escrito por la misma persona.
Las especificaciones del sistema de codificación no son importantes,
lo realmente importante es que todo el código fuente parece familiar facilitando el desarrollo colectivo.
Visión global.
El equipo de desarrollo de ARABA SISTEMAS mantiene una visión común de como los programas deben
funcionar, es lo que denominamos "visión global". De esta forma se utilizan sistemas comunes
para definir las nomenclaturas y asegurar que cualquiera puede entender como funciona el
sistema y donde se debe mirar para encontrar el código correspondiente a una determinada funcionalidad.
|