1. La Ingeniería del Software suministra metodologías, procesos y herramientas, es decir un marco común de trabajo para la comunidad de desarrolladores, administradores y usuarios.
2. El Ciclo de Vida del desarrollo del Software debe pasar por todas las fases (requerimientos, análisis, diseño, desarrollo, pruebas, implantación, uso, mantenimiento y obsolescencia) utilizando un Modelo Iterativo que permita que los productos se mantengan en constante construcción y crecimiento.
3. Conformación de un Comité de Gestión del proyecto, quienes toman decisiones que dan inicio al desarrollo de producto y delegan en grupos de trabajo el desarrollo. La aprobación sigue el proceso inverso hasta llegar al comité, quién decide si los cambios o nuevos productos se incorporan al proyecto o no.
4. Establecimiento de un claro esquema de Comunicación, que integre a usuarios y desarrolladores en la comunidad de desarrollo.
5. Uso de metodologías ágiles de desarrollo tales como eXtreme Programming, que faciliten la publicación frecuente de nuevas funcionalidades y versiones.
6. La Colaboración y la Planificación son factores claves en el éxito del sistema.
7. Uso intensivo de Internet como plataforma de comunicación y distribución del software.
8. La Flexibilidad de la Ingeniería del Software para adaptarse a las particularidades del Software Libre, brindando un basamento teórico y metodológico que respeta las 4 libertades del SL (ERA, LV,
9. Ambientes colaborativos de desarrollo que estimulan la Creatividad y el Trabajo en equipo facilitando la participación activa de usuarios y programadores.
10. Énfasis en Pruebas y Calidad. Liberación de versiones para evaluación y pruebas agilizan a través del trabajo colaborativo la obtención de productos de calidad.
11. Estimaciones basadas en proyectos similares y técnicas de descomposición en paquetes de trabajo para reducir la incertidumbre y mejorar la precisión de la planificación.
12. Uso de métodos de análisis como el FODA (Fortalezas, Oportunidades, Debilidades y Amenazas) fortalecen el estudio y comprensión del sistema.
13. Realizar estudios de factibilidad holísticos e integrales que consideren aspectos funcionales, técnicos y económicos para garantizar la viabilidad del proyecto y establecer claramente el alcance del desarrollo del software.
14. Usar diagramas como casos de uso y diagramas de actividad de procesos ayudan en la comunicación y entendimiento de las especificaciones a ser desarrollada.
15. La documentación es un tema de debate en Software Libre, dado que requiere recursos que compiten con los recursos de desarrollo de productos y es fundamental para garantizar la comunicación, validación y calidad de los productos. Debe ser concreta y concisa (asertiva), y con mecanismos de generación eficientes (a lo largo del ciclo de desarrollo utilizando por ejemplo historias de usuario) donde se logren sus objetivos dentro de un balance positivo de costo-beneficio.
16. Tecnologías para la ejecución de pruebas unitarias o modelos como el pair-programming o el peer-testing (programación y pruebas en parejas), ayudan a mantener una disciplina en el desarrollo y a aumentar la calidad del resultado del proyecto.
17. Agilidad y libertad son los principios que deben respetar las metodologías que soporten el desarrollo de SL. La Ingeniería del Software ofrece métodos y herramientas que otorgan un marco común de trabajo orientado al logro de la Calidad del Software. Un reto importante es incorporar la "Ingeniería" en el desarrollo del SL, manteniendo en primer lugar estos preceptos y contribuyendo además a la conformación de equipos de trabajo de alto desempeño que generen productos estables y etiquetados de excelente calidad.
No hay comentarios:
Publicar un comentario
Gracias por tus comentarios :)