SYSTEM NOTICE

Auto translation by AI. Be sure, accuracy, nuances and authorial intent may not be fully reflected.
見出し画像

Introduction to Quality Management in Software Development - A Manager's Toolbox

Introduction

Quality management plays a very important role in software development.
Low-quality software has a significant impact on companies and users, such as system outages, security risks, and operational disruption.

"Quality" has various aspects beyond the commonly known perspectives of "quality," "functionality," and "appearance" of software or products.

Here, I would like to explain the basic concepts, historical transitions, and implementation procedures, focusing on software quality management.


1. What is Quality Management?

Quality management refers to all activities aimed at ensuring that products and services maintain a certain level of quality.
The purpose of quality management in software development is to reduce bugs (defects), increase system reliability, and ultimately provide products that satisfy users.

Quality management includes the following elements:

Quality Assurance (QA)
Activities to ensure quality throughout the entire development process

Quality Control (QC)
Activities to verify quality through testing and reviews

Quality Improvement
Efforts to continuously improve quality

2. Historical Transition of Software Quality Management

(1) 1950s–1980s: The Dawn of Quality Management
In the early stages of software development, quality management was rarely performed.
This was because systems were small-scale at the time, and it was relatively easy to fix errors if they occurred.
However, from the 1960s, the scale of software expanded, and bugs began to have a serious impact on business operations.

In the 1970s, the waterfall model emerged, and methods for managing quality for each development phase were established.
However, this approach often led to defects being discovered in later stages, which posed the challenge of high correction costs.

(2) 1990s–2000s: Agile Development and the Evolution of Quality Management
In the 1990s, the spread of the Internet created a demand for faster software development.

Amidst this trend, Agile development emerged, and the approach to quality management changed.
In Agile development, by utilizing continuous testing and CI/CD (Continuous Integration/Continuous Delivery), it became possible to discover and fix bugs early.
Additionally, a culture of unit testing and code reviews spread, and quality management became integrated into the development process.

(3) 2010s–Present: DevOps and Automation
In recent years, the concept of DevOps has become widespread, and the integration of development and operations has progressed.
From a quality management perspective, test automation and enhanced monitoring are emphasized, and quality assurance utilizing AI has also emerged.

3. Definition of Quality

"Quality" in software development is an indicator of whether a product or service meets the expectations and requirements of the user.

Quality has various aspects.

I will explain based on the "8 quality characteristics" of "ISO/IEC 25010," which is the international standard for evaluating software quality.

(1) Functional Suitability
- Can the software correctly provide the required functions?
- Example: Can accounting software perform tax calculations accurately?

(2) Performance Efficiency
- Does the system operate at high speed while utilizing resources appropriately?
- Example: Can an e-commerce site withstand high traffic and display pages quickly?

(3) Compatibility
- Can it interact appropriately with other software or systems?
- Example: A web application that works correctly across different browsers and operating systems.

(4) Usability
- Can users operate it easily and understand it intuitively?
- Example: A smartphone app with a simple design and easy-to-understand menus.

(5) Reliability
- Does it operate without issues during long-term use, and is the error rate low?
- Example: Medical device control software that always operates accurately.

(6) Security
- Can the system prevent unauthorized access and data leaks?
- Example: Online banking that uses two-factor authentication for secure logins.

(7) Maintainability
- Can the software be easily modified or corrected?
- Example: An application with a properly designed modular structure.

(8) Portability
- Does it operate appropriately in different environments or platforms?
- Example: An application that works the same way on Windows, MacOS, and Linux.

Managing these characteristics appropriately leads to improvements in software quality.

4. Procedures for Software Quality Management (Based on PMBOK)

In PMBOK (Project Management Body of Knowledge), quality management is implemented through the following processes.

(1) Plan Quality Management
Define quality management policies and determine quality objectives.
- Clarify quality standards
- Define at which stages of the development process quality management will be implemented
- Decide on necessary tools and methods (reviews, testing, CI/CD, etc.)

(2) Manage Quality
Verify that the development process meets the established quality standards.
- Conduct code reviews
- Perform testing (unit testing, integration testing, etc.) at each phase of development
- Introduce automated testing

(3) Control Quality
Verify the final quality of the software and identify bugs or issues.
- Conduct User Acceptance Testing (UAT)
- Analyze error reports to identify trends in issues
- Utilize bug tracking tools to make appropriate corrections

(4) Continuous Improvement
Engage in initiatives to continuously improve quality.
- Conduct retrospectives
- Set KPIs (quality metrics) and advance improvement activities
- Hold training sessions and workshops for quality improvement

5. Key Points for Quality Management

To perform quality management effectively, it is important to grasp the following points.

・Build quality in early
Since fixing bugs in later stages is costly, ensure quality during the initial development stages

・Utilize test automation
Aim for efficiency by introducing automated tests rather than relying on manual labor

・Ensure the entire development team is quality-conscious
It is important that everyone, including developers and project managers, not just the QA team, is conscious of quality management

6. Representative Standards and Guidelines for Software Quality

(1) Guide to the Software Quality Body of Knowledge (SQuBOK)

SQuBOK (Software Quality Body of Knowledge) is a guide to the body of knowledge regarding software quality formulated in Japan. It organizes extensive knowledge related to software quality management and quality assurance, summarizing it in a way that is useful for practical work.
Features
- Comprehensive body of knowledge on software quality: Covers knowledge of quality management across the entire development process.
- Structure incorporating a unique Japanese perspective: Includes quality management methods suitable for the domestic software industry.
- Practical reference: Contains actionable information for developers, test engineers, and quality assurance personnel.

(2) ISO/IEC Standards


ISO/IEC is an organization that provides international standards for software quality and has established many standards related to software quality.

Representative Standards
- ISO/IEC 25010 (Software Quality Model)
Classifies software quality into 8 characteristics and defines evaluation criteria.

- ISO/IEC 9126 (Former Software Quality Model)
The predecessor to ISO/IEC 25010.

- ISO/IEC 12207 (Software Life Cycle Processes)
Standardizes software development and maintenance processes.

- ISO/IEC 15504 (SPICE) (Software Process Assessment)
A model for assessing the maturity of software development processes.

ISO/IEC standards are adopted by many companies and organizations as global standards and serve as guidelines for systematic quality management.

7. Reference Books

- Guide to the Software Quality Body of Knowledge (3rd Edition) - SQuBOK Guide V3 - [Print Replica] Kindle Edition
SQuBOK Formulation Committee (Editor), Noriko Iizumi (Reader), Hironori Washizaki (Reader), Naomi Honda (Reader) Format: Kindle Edition
Ohmsha (2020/11/19)
Organizes and systematizes the vast technology related to software quality
This book organizes and concisely explains software quality, a subject the authors, who are experts in software and IT systems, have worked on for many years. The environment surrounding software has changed significantly. Based on this, the previous content has been reviewed, and significant additions have been made regarding the quality of the latest technologies (AI, IoT, etc.).
(* Book descriptions, etc., are generally based on the descriptions at the link (Amazon). Please refer to the link for detailed content.)


- A Guide to the Project Management Body of Knowledge
(PMBOK Guide) 7th Edition Kindle Edition
+ Project Management Standard: Supervised translation by PMI Japan Chapter
Project Management Institute (PMI) (Author)
PMI Japan Chapter (2023/1/6)
(* Book descriptions, etc., are generally based on the descriptions at the link (Amazon). Please refer to the link for detailed content.)


- Illustrated Immediate Success: A Textbook to Thoroughly Understand PMBOK 7th Edition Knowledge and Methods in One Book Kindle Edition
Kazuya Maeda (Author)
Ohmsha (2024/9/20)
This is a commentary on the PMBOK Guide 7th Edition, known as the global standard for project management. In addition to fundamental knowledge of project management such as "Project Basics," "Value Delivery System," and "12 Principles," it explains the key points of the "8 Performance Domains," which can be called the main theme of PMBOK 7th Edition, in detail. It is a book recommended not only for studying project management but also as a first step for PMP exam preparation.
(* Book descriptions, etc., are generally based on the descriptions at the link (Amazon). Please refer to the link for detailed content.)


- Illustrated Introduction: Easy-to-Understand Latest PMBOK 6th Edition Basics Kindle Edition
Yasuji Suzuki (Author)
Shuwa System (2018/3/23)
The PMBOK Guide is translated and published in 11 languages worldwide, including Japanese, by the Project Management Institute in the United States. Even when translated, it is often difficult to understand due to the large number of technical terms and katakana terms. In this book, the author, who is also the leader of the translation and supervision team for the "PMBOK Guide 6th Edition," explains the original meanings in as simple terms as possible. It uses plenty of illustrations to make it easy to visualize, making it accessible for everyone from beginners to veterans.
(* Book descriptions, etc., are generally based on the descriptions at the link (Amazon). Please refer to the link for detailed content.)


- A Book to Thoroughly Master the Basics of Project Management in One Volume Kindle Edition
Kazuya Maeda (Author)
Ohmsha (2022/06)
This book is an introductory guide that allows you to learn about project management from the basics. After explaining the fundamental knowledge of project management, it divides projects into five stages: "Initiating," "Planning," "Executing," "Monitoring and Controlling," and "Closing," and carefully explains what should be done and points to be aware of at each stage.
(* Book descriptions, etc., are generally based on the descriptions at the link (Amazon). Please refer to the link for detailed content.)


- Practical Course on "Project Management" You Want to Know When You Become in Charge Kindle Edition
Daisuke Ito (Author)
Nihon Jitsugyo Publishing (2017/2/1)
This book explains specific knowledge and tools for project management, focusing on three perspectives: "Goal Setting," "Planning," and "Execution." It uses abundant diagrams to explain along the progress of a project. It is no exaggeration to say that many jobs and activities are projects. This is a must-read book for business people and everyone who wants to make their projects successful!
(* Book descriptions, etc., are generally based on the descriptions at the link (Amazon). Please refer to the link for detailed content.)


Conclusion

Software quality management is essential for improving product reliability and user satisfaction.

Considering the various aspects of "quality" from the design stage may also be useful for new product development.

Using the content written here as a reference, it is important to grasp the basics of quality management and implement them in a more concrete manner tailored to the development market.


Practice: Project Management [Overview] - - Management Toolbox


PMBOK Actually Used in Practice: Things to Keep in Mind During Implementation - - Management Toolbox


いいなと思ったら応援しよう!

Tom.Msn よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます!