Está en la página 1de 4

SENA – CENTRO DE COMERCIO

Tecnólogo en analisis y desarrollo de software

Ficha 2521979

Aplicación de buenas prácticas de calidad documentadas en las disciplinas


de calidad de software. GA11-220501098-AA1-EV02.
John de Jesús Chaverra Vásquez
Presentado por:

Johan Sebastian Sanchez Fernandez


Modelo CMMI, calidad y buenas prácticas en el Desarrollo de Software
CMMI es un modelo importante hoy en día, para la optimización de procesos y el
desarrollo de software. Las empresas que lo implementan experimentan una
mayor productividad y calidad, una mejor duración del ciclo de vida y presupuestos
más precisos y predecibles.
Con la tecnología avanzada y el aumento de los requisitos de los clientes, las
organizaciones de software buscan reducir los costos y aumentar la productividad
mediante el uso de estándares y mejores prácticas.
En el desarrollo de software siempre es importante utilizar un modelo, ya que es lo
que permite conocer los elementos concretos de una empresa, rompe con las
barreras de comunicación y ayuda a identificar los puntos de mejora. En este
contexto, el modelo CMMI fue desarrollado para procesos relativos al desarrollo e
implementación de software por la Carnegie-Mellon University y recibía el nombre
de CMM.
El CMMI es
un enfoque de mejora de procesos que provee a las organizaciones de los
elementos esenciales para un proceso efectivo.
• El CMMI es el Modelo de Madurez de Capacidades Integrado.
• Fue desarrollado por el SEI (Software Enginnering Institute).
• Mide la madurez del desarrollo del software en una escala del 1 al 5.
• Integra disciplinas como sistemas y software en un solo marco de trabajo.
• Describe formas efectivas y probadas de hacer las cosas, no es un enfoque
radical.
Algunos de los objetivos del CMMI y que son buenos para el negocio.
• Producir servicios y Productos de alta calidad.
• Crear valor para los accionistas.
• Mejorar la satisfacción del cliente.
• Incrementar la participación en el mercado. • Ganar reconocimiento en la
industria.
Gracias a este tipo de modelos, muchas empresas han mejorado sus procesos de
gestión de las actividades entrelazadas de forma explícita, han aplicado prácticas
de alta madurez mucho más robustas y están cumpliendo con las normas ISO de
una manera mucho más completa.
Aplicando el modelo Capability Maturity Model Integration se puede calificar el
grado de madurez de los distintos procesos de una empresa, y aplicando las
buenas prácticas sugeridas por CMMI se pueden mejorar los mismos. Además de
integrar las áreas de ingeniería de software y sistemas, el modelo también lo
vincula todo con los objetivos comerciales de la organización y también mantiene
un enfoque en la satisfacción de las expectativas del cliente.
Ventajas de aplicar el modelo CMMI
• Mejora la comunicación (interna y externa) al proporcionar un marco común.
• Proporciona a los trabajadores una idea clara y global, lo que les permite
centrarse en sus objetivos.
• Aumenta la calidad de productos y servicios y reduce los tiempos de
entrega.
• Ayuda a reducir los costes.
• Mejora la satisfacción al cliente.
• Es un modelo que cuenta con muchos años de experiencia.
Muchas empresas se plantean si elegir un modelo CMMI o aplicar una
metodología Agile Scrum . Se tiende a ver ambos conceptos como contrarios e
incompatibles, quizás porque CMMI lleva muchos años utilizándose y la
metodología Agile es más actual y ha tenido gran impacto en la gestión de
procesos actual. Sin embargo, muchos expertos opinan que ambas opciones
pueden ser compatibles y aplicadas en una misma organización.
• Scrum se basa en una metodología Agile, dividiendo los trabajos en
pequeñas tareas o sprints con un tiempo de entrega corto. CMMI, por su parte, no
es una metodología: se trata de un modelo que aporta una serie de buenas
prácticas y que permite valorar el grado de madurez de los procesos en particular
y de la empresa en general.
• Con Scrum se establecen prioridades a la hora de ejecutar los distintos
procesos, sin embargo, CMMI no establece el orden de ejecución (este aspecto lo
marca la metodología utilizada).
• CMMI se centra en mejorar procesos y medir su eficiencia mientras que
Scrum busca la agilidad o rapidez de los procesos.
• CMMI da importancia al grupo de trabajo, pero da mayor importancia a
disponer de un sistema adecuado que mejore los procesos. Por su parte, Scrum
concede un papel primordial al equipo de trabajo para la mejora de procesos.
• Scrum sitúa entre sus objetivos prioritarios la relación con el cliente y
satisfacer sus necesidades, mientras CMMI confía en la mejora interna de
procesos como la clave para mejorar los resultados.
CMMI ofrece un método para que las empresas puedan evaluar y mejorar sus
procesos de negocio, prestando gran importancia al uso de buenas prácticas. A
pesar de diferenciarse en algunos aspectos con Agile Scrum, tienen algunos
puntos en común. Ambos le dan importancia a la mejora de los procesos, a la
flexibilidad y persiguen los mismos objetivos.
Sea cual sea la metodología que escojas, siempre debes buscar el compromiso, la
responsabilidad, la confianza, la ética y el respeto de quienes la aplican.
Existen otras
metodologías muy utilizadas para el desarrollo de software, entre ellas:
TDD (Test-Driven Development): es una metodología práctica de programación
basada en escribir primero las pruebas, después el código fuente y, por último,
refactorizar el código escrito. De esta manera, establece el camino para conseguir
un código más robusto, seguro y garantizar el mantenimiento y la rapidez en el
desarrollo.
DDD (Domian-Driven Design): Es ideal para el desarrollo de aplicaciones
complejas y está orientada a proyectos que utilizan metodologías ágiles.
Es un modelo en constante evolución y nos ayuda a tomar decisiones de diseño
para enfocar y acelerar el manejo de dominios con alta complejidad durante el
desarrollo de los proyectos. En definitiva, la metodología DDD te ayuda a prevenir
las malas prácticas en tu sistema.
Microservicios: Son independientes, escalables y fáciles de desarrollar, y su
estructura funciona como un conjunto de pequeños servicios que son ejecutados
de forma autónoma. Gracias a este tipo de alternativas, las empresas están
logrando aplicaciones mucho más flexibles y escalables, ya que no necesitan
alterar toda la aplicación para modificar una funcionalidad.
En conclusión, aunque CMMI es el modelo más conocido para el desarrollo de
software, existen diversas metodologías que aplican nuevas funcionalidades y
mejoras para los negocios, como TDD, DDD o los microservicios, cada vez más
utilizados. Hoy en día, todos estos modelos son importantes para mejorar los
procesos y el desarrollo del software en los negocios. Las compañías que lo
implementan obtienen un aumento de la calidad y la productividad.

También podría gustarte