O Que É CMMi?

Did you know there's a way to classify how you develop software? In this video, I'll show you that your software development process can be mature or immature. Let's talk about what CMMI is and how it impacts the software deliveries we make. What is CMMI? Without further ado, what is CMMI? CMMI stands for Capability Maturity Model Integration and is a process and behavioral model that helps organizations optimize process improvement and encourages efficient and productive behaviors that reduce risks in software, product, and service development. The reference model contains practices (Generic or Specific) necessary for maturity in specific disciplines: • Systems Engineering (SE) • Software Engineering (SW) • Integrated Product and Process Development (IPPD) • Supplier Sourcing (SS) A Little History The CMM emerged during the 1980s as a model for risk assessment in the contracting of software companies by the United States Department of Defense (DOD). It needed to evaluate the development processes used by companies competing in bids based on the quality, costs, and deadlines of the contracted projects. To develop this process, the DOD, together with Carnegie Mellon University, established the SEI (Software Engineering Institute). From 1991 onwards, CMMs were developed for various disciplines. Although these models have shown their usefulness, the use of multiple models has proven problematic. CMMI was developed to combine multiple business maturity models into one framework. CMMI Levels CMMI has two representations: continuous or staged. They allow the organization to use different paths for improvement according to its interests. At the time I studied and participated in CMM certification processes, only the staged representation existed, so I will focus on it. The staged representation is characterized by Maturity Levels. • Level 1 - Initial: organizational immaturity. This is where everyone starts. It is the level of the "heroes," that is, the company depends on the knowledge of its employees to be able to deliver projects. Documentation and processes, when they exist, are insufficient. • Level 2 - Managed: policies and procedures for managing software development are defined and followed. At this level, the "success" of delivered projects can be repeated. There is a documented process that can be followed by anyone in the organization. • Level 3 - Defined: the processes used are established and standardized throughout the organization. • Level 4 - Quantitatively Managed: quantitative goals are established for processes and products, quality and productivity measures are collected in all projects; statistical process control is established. Here, metrics are collected and used to control the progress of processes. • Level 5 - Optimization: the organization is engaged in the continuous improvement of its processes. Based on defined metrics, the development process is improved. Final Words Today we saw what CMMI is, a reference model that contains practices necessary for the maturity of the software development process. The implementation of CMMI is recommended for large software factories. At first glance it may seem simple, but implementing the various stages is an arduous task, not only in an initial phase, but also when considering the migration from one level to another. This requires significant financial investments, as well as a change in the organization's posture (culture). That's all for today! And if you want to learn more about programming, keep following me! If you liked this video, give it a thumbs up and subscribe to the channel. Don't forget to turn on notifications to receive an alert when new videos are published. Until next time! Follow me here ⤵⤵ 💻 Blog: https://celsokitamura.com.br 💻 Instagram:   / celsokitamura   🎥 Youtube:    / celsokitamura   🔵 Facebook:   / celsokitamura   #WhatIsCMMi #IAmAnAppDev