En esta ocasión me gustaría hacer énfasis en la importancia que tiene el uso de metodologías de desarrollo de software a un nivel de introducción básica. Tenemos a continuacion el clásico chiste acerca de la implementación de soluciones de cómputo:

Pero la contra al chiste clásico de la implementación de soluciones de cómputo puede lograrse utilizando metodologías de ingeniería y arquitectura de software, logrando que los proyectos lleguen finalmente a ser exitosos desde los puntos de vista de objetivos de negocio, costos, funcionalidad, sencillez y capacidad de soporte.
En general las metodologías llevan a cabo una serie de procesos comunes que son buenas prácticas para lograr los objetivos antes mencionados independientemente de cómo hayan sido diseñadas. Las fases que agrupan estos procesos son las siguientes:
- Análisis
- Especificación
- Diseño
- Programación
- Prueba
- Documentación
- Mantenimiento
- Reingeniería
Así mismo las diferentes metodologías tienen diversos ciclos de vida del desarrollo de software, los modelos más comúnmente utilizados son los siguientes:
- Modelo en cascada
- Modelo en espiral
- Modelo de prototipos
- Método en V
- Desarrollo por etapas
Escribiré más adelante acerca de cada una de las metodologías mencionadas a continuación de forma más extensa posteriormente, por lo pronto dejaré abierta la investigación a los lectores acerca de los diferentes marcos de trabajo y metodologías formales de desarrollo de software. Las metodologías a tratar desde el punto de vista de la arquitectura de software y la administración de proyectos serán las siguientes:
Metodologías tradicionales
- Capability Maturity Model (SW-CMM)
- Capability Maturity Model Integration for Development (CMMI-DEV)
- Big Design Up Front (BDUF)
- Cleanroom Software Engineering
- Rational Unified Process (RUP)
- Essential Unified Process for Software Development (EssUP)
- Fusebox Lifecycle Process (FLiP)
- Software Process Improvement and Capability dEtermination (SPICE)
- Métrica
- Jackson System Development (JSD)
- Joint Application Development (JAD)
- Open Unified Process (OpenUP)
Metodologías ágiles
- Extreme Programming (XP)
- Scrum
- Agile Modeling Adaptive Software Development (ASD)
- Crystal Clear
- Dynamic Systems Development Method (DSDM)
- Feature Driven Development (FDD)
- Lean Software Development (LSD)
- Agile Unified Process (AUP)
- Software Development Rhythms
- Agile Documentation
- ICONIX Process
- Microsoft Solutions Framework (MSF)
- Agile Data Method
- Database Refactoring
- LeanCMMI
Etiquetas: Administración de proyectos », Arquitectura de software », Buenas prácticas
Escrito por Alfonso Lara Ramos @ 04:15 

|
|
|
|
|
|
|
|
|
|
|
| 
Contenidos relacionados: Google, Live Search, Tafiti, Yahoo