Professional Documents
Culture Documents
Group 7
Group 7
GROUP PROJECT
Team members :
Doanh, Le Quang
Khanh, Pham Phu
Minh, Le Cong
Phung, Dao Nguyen Trieu
1 SOFTWARE PROCESS & QUALITY MANAGEMENT– Group Project
PROJECT INFORMATION
Process Improvement - CMMI
Project Title
CONTENTS
I. Introduction.................................................................................................................6
1.1. What Is Software Development Process ?................................................................6
1.2. What Is Software Process Improvement ?................................................................6
1.3. Software quality management...................................................................................7
1.4. Benefits of quality improvement...............................................................................7
1.5. Purpose......................................................................................................................8
1.6. Process Improvement – CMMI.................................................................................8
1.7. Difference between CMM and CMMI....................................................................11
II. CMMI Process...........................................................................................................12
2.1 What is CMMI?.......................................................................................................12
2.2 CMMI process guidance..........................................................................................12
2.2.1 Understand CMMI process template artifacts..................................................12
2.2.2 Plan and track work with CMMI......................................................................13
2.2.3 List work items with queries.............................................................................15
2.2.3.1 Add work item queries to a process template...................................................15
2.2.3.2 Create a work item query (.wiq) file.................................................................16
2.2.3.3 Specify queries to upload..................................................................................16
2.2.3.4 QUERY elements.............................................................................................16
2.2.4 Quick tips on shared queries.............................................................................17
2.2.5 Monitor progress...............................................................................................18
2.2.5.1 About dashboards, charts, reports and widgets.................................................18
2.2.5.2 Supported capabilities, permissions, and access...............................................18
2.2.5.3 Web portal data views and reports....................................................................18
2.2.5.4 Power BI reports...............................................................................................19
2.2.5.5 Supported features and access level..................................................................19
2.2.5.6 Default permissions..........................................................................................19
2.2.5.7 Configurable dashboards..................................................................................20
2.2.5.8 Charts: Work tracking status and trends...........................................................21
2.2.5.9 Charts: Manual testing progress, results, and trends........................................23
2.2.5.10 Widgets.............................................................................................................23
2.2.5.11 Sprint chart widgets..........................................................................................24
2.2.5.12 Sprint scope change..........................................................................................24
2.2.5.13 Sample Cumulative Flow Diagram widget.......................................................24
2.2.5.14 Monitor code activity, build progress and deployment status..........................25
2.2.5.15 Code, build, and release chart widgets.............................................................25
2.2.5.16 Analytics widgets and reports...........................................................................25
TABLE OF FIGURES
I. Introduction
1.1. What is Software Development Process?
Software development is the process programmers use to build computer programs. The process, also
known as the Software Development Life Cycle (SDLC), includes several phases that provide a method for
building products that meet technical specifications and user requirements.
The SDLC provides an international standard that software companies can use to build and improve
their computer programs. It offers a defined structure for development teams to follow in the design,
creation and maintenance of high-quality software. The aim of the IT software development process is to
build effective products within a defined budget and timeline.
1.5. Purpose
A primary goal of CMMI is the creation of “reliable environments where products, services and
departments are proactive, efficient and productive.”
More specifically, CMMI’s objectives for businesses include enabling your organization to:
Produce quality services or products
Improve customer satisfaction
Increase value for stockholders
Achieve industry-wide recognition for excellence
Grow market share
According to the Carnegie Mellon Software Engineering Institute, which was integral in its
development, CMMI is intended to:
Help “integrate traditionally separate organizational functions, set process improvement goals and
priorities, provide guidance for quality processes, and provide a point of reference for appraising current
processes.”
1.6. Process Improvement – CMMI
Model Representation - Continuous or Staged
There are two predominant CMMI models in use. An organization should decide which
representation best fits its' process-improvement requirements. The representation, either continuous or
staged, will determine the bodies of knowledge you want to be included in the model used by the
organization. The following lists describe some of the possible advantages and disadvantages to selecting
each of the two representations.
Uses six capability levels, capability profiles, target staging, and equivalent staging as
organizing principles for the model components.
Groups process areas by affinity categories and designates capability levels [Note] for process
improvement within each process area.
Capability levels provide a recommended order for approaching process improvement within
each process area.
Allows some flexibility for the order in which the process areas are addressed.
Provides a proven sequence of improvements, beginning with basic management practices and
progressing through a predefined and proven path of successive levels, each serving as a
foundation for the next
Permit comparisons across and among organizations by the use of maturity levels
Provide a single rating that summarizes appraisal results and allows comparisons among
organizations
Provides a way to predict the future performance of an organization within a given discipline
or set of disciplines.
1.7. Difference between CMM and CMMI
The CMMI structure and the Software CMM structure are similar with respect to maturity levels, key
process areas, goals (divided into specific and general goals in CMMI), and practices.
A big difference however is that CMMI offers two representations of the maturity of the processes.
CMMI offers a staged representation with five maturity levels just like the Software CMM and a continuous
model where each process area has its own maturity level.
change to be documented. The below image shows an example of the change request work
item.
completion of the task for uploading work item types. You specify each query file to upload within the
taskXml element.
II.2.3.2 Create a work item query (.wiq) file
Each query definition must be specified in its own file with an extension of .wiq, using the
WorkItemQuery parent element, and conform to the schema that is defined in the wiq.xsd file.
II.2.3.3 Specify queries to upload
To include the work item queries in the process template, create one or more tasks in the
workitems.xml file, which you can find in the \WorkItem Tracking folder, which is in the folder to which
you downloaded your process template. Use the Query element to specify the file for the work item query.
For example, the following XML specifies the query that is defined in the ActiveBugs.wiq file to be
uploaded and named Active Bugs.
You add the set of queries to upload as a task in the WorkItemTracking plug-in.
II.2.3.4 . QUERY elements
The following syntax shows the structure of the QUERIES element and its children.
<QUERIES
<Permission /
<QueryFolder
<Query/
</QueryFolder
</QUERIES
The following table describes the elements that you use to specify the query folder structure,
permissions, and queries to upload. You specify these elements within a taskXml container element
in the WorkItemTracking plug-in file.
All valid users with standard access can create queries and folders under the My Queries area.
To create queries and query folders under Shared Queries, you must have the Contribute
permission set and have been assigned Basic access or greater. For more information, see Set
permissions on queries.
You can modify any query by adding criteria to focus on a product area, an iteration, or
another field. To modify a query, open the query editor.
You can open any query in Excel where you can update the fields of one or more work items
and publish your changes to the database for tracking work items.
You can visualize status or progress by creating a pie-chart, column chart, or trend chart for
flat-list queries.
II.2.5 Monitor progress
All processes—Agile, Scrum, and CMMI—support building status and trend charts and dashboards.
Also, several charts are automatically built based on the Agile tools you use. These charts display within the
web portal.
II.2.5.1 . About dashboards, charts, reports and widgets
Gain visibility into your team's progress by adding one or more widgets or charts to your dashboard.
Customizable, highly configurable dashboards provide you and your teams with the flexibility to share
information, monitor progress and trends, and improve your workflow processes. Each team can tailor their
dashboards to share information and monitor their progress.
II.2.5.2 . Supported capabilities, permissions, and access
Access to Azure DevOps web portal features are managed through access levels assigned to users.
2.2.5.3. Web portal data views and reports
The following features provide support for viewing Azure DevOps data through the web portal:
Dashboards are customizable interactive signboards that provide real-time information.
Dashboards are associated with a team or a project and display configurable charts and
widgets.
Charts are query-based status or trend charts derived from a work item query or test results.
Widgets display configurable information and charts on dashboards. The widget catalog
provides brief descriptions of those widgets available to you. Also, you can add widgets
provided through the Azure DevOps Marketplace.
In-context reports are system-generated charts that support specific services. Examples are
team velocity, sprint burndown, and the Cumulative Flow Diagram (CFD), and the Test
Failures Report. These reports are displayed on the Analytics tab for a specific service and
derive data from Analytics.
2.2.5.4. Power BI reports
The following features provide support for viewing Azure DevOps data using Power BI:
Analytics views provide a simplified way to specify the filter criteria for a Power BI report based on
Analytics data for Azure Boards data. To learn more, see What are Analytics views?.
Power BI reports allow users to create rich, customized Power BI reports or other reports using
OData queries of Analytics data and the returned JSON data. For on-premises Azure DevOps environments,
project collections must be configured to support the Inherited process.
2.2.5.5. Supported features and access level
Users granted Stakeholder access have limited access to select features as indicated in the following
table. To learn more, see About access levels. In addition to access levels, select features require
permissions to execute.
Supported features and tasks Stakeholders Basic
Dashboards (View)
Dashboards (Create and edit)
Charts, Widgets (View)
Charts, Widgets (Add and configure)
In-context reports
Analytics views
Power BI reports
project dashboards
You can open a shared query, create a chart, and add it to the dashboard. Once it's been added to the
dashboard, you can change the Chart for work items widget configuration to resize or change the chart
parameters. Or, from the dashboard, you can add a Chart for work items widget and choose a shared query
and set the chart parameters. Chart types include status—pie, bar, column, stacked bar, and pivot—and
trend—stacked area, line, and area—charts.
For details, see:
Define a query
Track progress with status and trend query-based charts
2.2.5.10 Widgets
You add widgets to a dashboard to display a chart, information, or set of links. Most widgets are
configurable. For a description of each supported widget for your platform and version, see the Widget
catalog. Here are the widgets that support the indicated service.
Widgets are annotated as follows:
Analytics: Widget derives data from Analytics data
Build: Widget derives data for a selected build pipeline
Project: indicates you can select the project and team when configuring the widget
tab. Each report provides interactive controls to provide each user the view of interest to them. From a
Sprint backlog, you can view the sprint burndown trend.
2.2.5.18. Cumulative Flow Diagram
Use the interactive controls to choose the time frame, swimlanes, and workflow states or Kanban
board columns.
Steps to take
2.2.6.1Analytics widgets and Power BI reports
The Analytics Service can answer quantitative questions about the past or present state of your
projects. You can add Analytics widgets to a dashboard or use Power BI to create charts and reports.
2.2.6.2 Related notes
Before you start tracking work, you must have a project. To create one, see Create a project.
If you have a project, start tracking work:
Add work items to manage a project - to gain more familiarity with the work item form
features
Create a backlog - to develop your product backlog
Kanban - to start working in Kanban
Plan a sprint - to start working in Scrum
Excel.
2.2.7 CMMI process versions
As updates are made to the CMMI process template, the version number is updated. The following
table provides a mapping of the versioning applied as updates are made to the Azure DevOps on-premises
process templates. For Azure Boards, the latest version is always used. Each template provides a version
element. This element specifies a major and minor version.
TFS version CMMI name Major version
Azure DevOps Services CMMI 18
Azure DevOps Server 2022
Azure DevOps Server 2020 CMMI 17
Azure DevOps Server 2019
TFS 2018 CMMI 16
capability organization tends to panic under stress, blindly follow obviated procedures, or throw out all
process altogether and retrench back to chaos.
The CMMI, however, isn't a proven indicator of the economic performance of an organization.
Although higher maturity organizations may manage risk better and be more predictable, evidence exists
that higher maturity firms tend to be risk-averse. Risk aversion can lead to a lack of innovation or evidence
of greater bureaucracy that results in long lead times and a lack of competitiveness. Lower maturity firms
tend to be more innovative and creative but chaotic and unpredictable. When results are achieved, they are
often the result of heroic effort by individuals or managers.
I.1.3 What's the best way to use the CMMI model?
The model was designed to be used as the basis for a process improvement initiative, with its use in
assessment only a support system for measuring improvement. There has been mixed success with this
usage. It is all too easy to mistake the model for a process definition and try to follow it, instead of a map
that identifies gaps in existing processes that may need to be filled. The fundamental building block of
CMMI is a process area that defines goals and several activities that are often used to meet them. One
example of a process area is Process and Product Quality Assurance. Another is Configuration
Management. It is important to understand that a process area is not a process. A single process may cross
multiple process areas, and an individual process area may involve multiple processes.
The CMMI-DEV is really two models that share the same underlying elements. The first and most
familiar is the Staged Representation, which presents the 22 process areas mapped into one of five
organizational maturity levels. An appraisal of an organization would assess the level at which it was
operating, and this level would be an indicator of its ability to manage risk and, as, deliver on its promises.
Levels 4 and 5 are often referred to as higher maturity levels. There is often a clear difference
between higher maturity organizations, which demonstrate the quantitative management and optimizing
behaviors, and lower maturity organizations, which are merely managed or following defined processes.
Higher maturity organizations show lower variability in processes and often use leading indicators as part of
a statistically defensible management method. As a result, higher maturity organizations tend to be both
more predictable and faster at responding to new information, assuming that other bureaucracy doesn't get
in the way. Where low maturity organizations tend to demonstrate heroic effort, high maturity organizations
may blindly follow processes when under stress and fail to recognize that a process change may be a more
appropriate response. The Continuous Representation models process capability within each of the 22
process areas individually, which allows the organization to tailor their improvement efforts to the processes
that offer the highest business value. This representation is more in line with Crosby's original model.
Appraisals against this model result in profiles of capability rather than a single number. Because the
organizational maturity level is the level that most managers and executives understand, there are ways of
mapping the results of a continuous model assessment into the five stages.
Using the staged model as a basis for a process improvement program can be dangerous when
implementers forget that the CMMI isn't a process nor a workflow model. Instead, the CMMI is designed to
provide goals for process and workflow to achieve. Meeting such goals will improve the maturity of the
organization and the likelihood that events unfold as planned. Perhaps the biggest failure mode is making
achieving a level the goal and then creating processes and infrastructure simply to pass the appraisal. The
goal of any process improvement activity should be measurable improvement, not a number. The
Continuous model has enjoyed success as a guide to process improvement. Some consulting firms choose
only to offer guidance around the Continuous model. The most obvious difference is that a process
improvement program that is designed around the Continuous model doesn't have artificial goals that are
determined by maturity levels. The Continuous model also lends itself to applying process improvement in
areas where it is most likely to leverage an economic benefit for the organization. Therefore, those who
follow the Continuous model are more likely to receive positive feedback from an initiative that is based on
the CMMI model. Moreover, positive feedback is more likely to lead to the development of a virtuous cycle
of improvements.
The combination of these models into a single improvement framework was intended for use by
organizations in their pursuit of enterprise-wide process improvement.
These three source models were selected because of their widespread adoption in the software
and systems engineering communities and because of their different approaches to improving
processes in an organization.
Using information from these popular and well-regarded models as source material, the CMMI
Product Team created a cohesive set of integrated models that can be adopted by those currently
using the source models, as well as by those new to the CMM concept. Hence, CMMI is a result
of the evolution of the SW-CMM, the SECM, and the IPD-CMM.
Developing a set of integrated models involved more than simply combining existing model
materials. Using processes that promote consensus, the CMMI Product Team built a framework that
accommodates multiple disciplines and is flexible enough to support the different approaches of the source
models [Ahern 2003].
best practices into what we call “constellations.” A constellation is a collection of CMMI components that
are used to build models, training materials, and appraisal documents.
Recently, the CMMI model architecture was improved to support multiple constellations and the
sharing of best practices among constellations and their member models. Work has begun on two new
constellations: one for services (CMMI for Services) and the other for acquisition (CMMI for Acquisition).
Although CMMI for Development incorporates the development of services, including the combination of
components, consumables, and people intended to meet service requirements, it differs from the planned
CMMI for Services (CMMI-SVC), which focuses on the delivery of services. The CMMI models that have
been available in the community prior to 2006 are now considered part of the CMMI for Development
constellation.
I.3 CMMI Maturity Level
A maturity level is a well-defined evolutionary plateau toward achieving a mature software process.
Each maturity level provides a layer in the foundation for continuous process improvement.
In CMMI models with a staged representation, there are five maturity levels designated by the numbers 1
through 5
1. Initial
2. Managed
3. Defined
4. Quantitatively Managed
5. Optimizing
Commitments are established among relevant stakeholders and are revised as needed. Work products
are reviewed with stakeholders and are controlled.
The work products and services satisfy their specified requirements, standards, and objectives.
I.3.3 Maturity Level 3 – Define
At maturity level 3, an organization has achieved all the specific and generic goals of the process
areas assigned to maturity levels 2 and 3.
At maturity level 3, processes are well characterized and understood, and are described in standards,
procedures, tools, and methods.
A critical distinction between maturity level 2 and maturity level 3 is the scope of standards, process
descriptions, and procedures. At maturity level 2, the standards, process descriptions, and procedures may
be quite different in each specific instance of the process (for example, on a particular project). At maturity
level 3, the standards, process descriptions, and procedures for a project are tailored from the organization's
set of standard processes to suit a particular project or organizational unit. The organization's set of standard
processes includes the processes addressed at maturity level 2 and maturity level 3. As a result, the
processes that are performed across the organization are consistent except for the differences allowed by the
tailoring guidelines.
Another critical distinction is that at maturity level 3, processes are typically described in more detail
and more rigorously than at maturity level 2. At maturity level 3, processes are managed more proactively
using an understanding of the interrelationships of the process activities and detailed measures of the
process, its work products, and its services.
3.3.4 Maturity Level 4 – Quantitatively managed
At maturity level 4, an organization has achieved all the specific goals of the process areas assigned
to maturity levels 2, 3, and 4 and the generic goals assigned to maturity levels 2 and 3.
At maturity level 4 Subprocesses are selected that significantly contribute to overall process
performance. These selected subprocesses are controlled using statistical and other quantitative techniques.
Quantitative objectives for quality and process performance are established and used as criteria in
managing processes. Quantitative objectives are based on the needs of the customer, end users,
organization, and process implementers. Quality and process performance are understood in statistical terms
and are managed throughout the life of the processes.
For these processes, detailed measures of process performance are collected and statistically
analyzed. Special causes of process variation are identified and, where appropriate, the sources of special
causes are corrected to prevent future occurrences.
Quality and process performance measures are incorporated into the organization.s measurement
repository to support fact-based decision making in the future.
A critical distinction between maturity level 3 and maturity level 4 is the predictability of process
performance. At maturity level 4, the performance of processes is controlled using statistical and other
quantitative techniques, and is quantitatively predictable. At maturity level 3, processes are only
qualitatively predictable.
3.3.5 Maturity Level 5 – Quantitatively managed
At maturity level 5, an organization has achieved all the specific goals of the process areas assigned
to maturity levels 2, 3, 4, and 5 and the generic goals assigned to maturity levels 2 and 3.
Processes are continually improved based on a quantitative understanding of the common causes of
variation inherent in processes.
Maturity level 5 focuses on continually improving process performance through both incremental
and innovative technological improvements.
Quantitative process-improvement objectives for the organization are established, continually revised
to reflect changing business objectives, and used as criteria in managing process improvement.
The effects of deployed process improvements are measured and evaluated against the quantitative
process-improvement objectives. Both the defined processes and the organization's set of standard processes
are targets of measurable improvement activities.
Optimizing processes that are agile and innovative depends on the participation of an empowered
workforce aligned with the business values and objectives of the organization. The organization's ability to
rapidly respond to changes and opportunities is enhanced by finding ways to accelerate and share learning.
Improvement of the processes is inherently part of everybody's role, resulting in a cycle of continual
improvement.
A critical distinction between maturity level 4 and maturity level 5 is the type of process variation
addressed. At maturity level 4, processes are concerned with addressing special causes of process variation
and providing statistical predictability of the results. Though processes may produce predictable results, the
results may be insufficient to achieve the established objectives. At maturity level 5, processes are
concerned with addressing common causes of process variation and changing the process (that is, shifting
the mean of the process performance) to improve process performance (while maintaining statistical
predictability) to achieve the established quantitative process-improvement objectives.
3.4 CMMI Capability levels
3.4.1 Capability level 1 : Incomplete
Incomplete process – partially or not performed.
One or more specific goals of process area are not met.
No generic goals are specified for this level.
This capability level is same as maturity level 1.
Capability level 1 : Performed
Process performance may not be stable.
Objectives of quality, cost and schedule may not be met.
A capability level 1 process is expected to perform all specific and generic practices for this
level.
Only a start-step for process improvement.
3.4.2 Capability level 2 : Managed
Process is planned, monitored and controlled.
Managing the process by ensuring that objectives are achieved.
Objectives are both model and other including cost, quality, schedule.
Actively managing processing with the help of metrics.
3.4.3 Capability level 3 : Defined
A defined process is managed and meets the organization’s set of guidelines and standards.
Focus is process standardization.
3.4.4 Capability level 4 : Quantitatively Managed
Process is controlled using statistical and quantitative techniques.
Process performance and quality is understood in statistical terms and metrics.
Quantitative objectives for process quality and performance are established.
3.4.5 Capability level 5 : Optimizing
Focuses on continually improving process performance.
Performance is improved in both ways – incremental and innovation.
Emphasizes on studying the performance results across the organization to ensure that common
causes or issues are identified and fixed.
Build Agile Resiliency and Scale: The model contains direct guidance on how to strengthen
Agile with Scrum.
Benchmark Capability and Performance: The new performance-oriented appraisal method
improves the reliability and consistency of benchmarking while reducing preparation time and
lifecycle costs.
Accelerate Adoption: Online platform and adoption guidance make the benefits of CMMI
more rapidly achievable.
Changed “Process Area” to “Practice Area”: This emphasizes that the model is not a
collection of (rote) processes to be implemented, but a collection of practices to be used to run
and manage projects.
Organized practices within each Practice Area: Practices are organized by levels instead of
Specific Goals. Levels provide a clear, methodical path for building capability and improving
performance within each Practice Area.
Replaced the Generic Practices with two new Practice Areas: Governance (GOV) &
Implementation Infrastructure (II) to reduce the redundancy and complexity of the Generic
Practices. They foster the persistence and habit of an organization’s processes and their
business value rather than compliance to the model.
IV References
[1]. https://www.bmc.com/blogs/cmmi-capability-maturity-model-integration/
[2].https://www.cio.com/article/274530/process-improvement-capability-maturity-model-integration-cmmi-
definition-and-solutions.html
[3].https://www.cmmiconsultantblog.com/cmmi-faqs/what-is-cmmi-process-improvement-and-how-to-do-
it/
[4].https://processimprovementco.com/?p=88
[5].https://learn.microsoft.com/en-us/azure/devops/boards/work-items/guidance/cmmi/guidance-
background-to-cmmi?view=azure-devopshttps://www.cio.com/article/274530/process-improvement-
capability-maturity-model-integration-cmmi-definition-and-solutions.html
[6].https://viden.io/knowledge/cmmi?
utm_campaign=creator_campaign&utm_medium=referral&utm_source=youtube&utm_term=ajaze-khan-1
[7].https://www.cmmiconsultantblog.com/cmmi-faqs/what-is-cmmi-process-improvement-and-how-to-do-
it/
[8].https://processimprovementco.com/?p=88
[9].https://learn.microsoft.com/en-us/azure/devops/boards/work-items/guidance/cmmi/guidance-
background-to-cmmi?view=azure-devops
[10].https://www.tutorialspoint.com/cmmi/cmmi_quick_guide.htm
[11].https://www.scribd.com/read/480283639/CMMi-A-Complete-Guide-2021-Edition
[12].https://www.oreilly.com/library/view/project-management-success/9780132333054/
[13].https://books.google.com.vn/books?
id=KEbODQAAQBAJ&printsec=frontcover&hl=vi&source=gbs_ge_summary_r&cad=0#v=onepage&q&f
=false
[14].https://amis.misa.vn/45629/cmmi-la-gi/
[15].https://luanvan.net.vn/luan-van/de-tai-mo-hinh-cmmcmmi-trong-sqa-76126/
[16].https://xemtailieu.net/tai-lieu/ung-dung-mo-hinh-cmmi-tai-fsoft-luan-van-do-an-de-tai-tot-nghiep-
46507.html
[17].https://tailieumienphi.vn/doc/tieu-luan-phan-tich-thuc-trang-ap-dung-cmmi-tai-cong-ty-gia-cong-phan-
mem-tma-ez86tq.html
[18].https://viblo.asia/p/cmmi-phan-1-57rVRqVQM4bP
[19].http://tapchi.ueb.edu.vn/Fuploads/20130718143841418.pdf
[20].https://luanvan.co/luan-van/ung-dung-mo-hinh-cmmi-tai-fsoft-57728/
[21].https://khotrithucso.com/doc/p/cmmi-for-development-guidelines-for-process-integration-3rd-201184
[22].https://www.apexglobal.com.vn/vi/trien-khai-he-thong-quan-ly-phat-trien-phan-mem-cmmi/
[23].https://taxplus.vn/cmmi/