<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ling Guo</title>
        <description>PhD researcher in Software Engineering at École de technologie supérieure (ÉTS), Montréal, focusing on software measurement, software estimation, COSMIC functional size measurement, and software engineering education.</description>
        <link>https://lingguo.org/</link>
        <atom:link href="https://lingguo.org/feed.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Thu, 10 Sep 2026 19:05:19 +0000</pubDate>
        <lastBuildDate>Thu, 10 Sep 2026 19:05:19 +0000</lastBuildDate>
        <generator>Jekyll v3.10.0</generator>
        
            <item>
                <title>Comparing COSMIC Functional Size Measurement: Expert vs. ChatGPT</title>
                <description>&lt;p&gt;Can ChatGPT perform COSMIC functional size measurement accurately?&lt;/p&gt;

&lt;p&gt;In previous experiments, I asked both ChatGPT and Gemini to determine the functional size of a functional process using the COSMIC method.&lt;/p&gt;

&lt;p&gt;To further examine the accuracy of ChatGPT in COSMIC functional size measurement, I conducted a small comparison using examples from the &lt;strong&gt;Course Registration System case study&lt;/strong&gt; published by the COSMIC Group.&lt;/p&gt;

&lt;p&gt;The requirements in this case study are described in sufficient detail for COSMIC measurement, and the corresponding measurement results have already been established by COSMIC measurement experts.&lt;/p&gt;

&lt;p&gt;Two requirements were selected and submitted to ChatGPT for measurement. The results were then compared with the reference measurements.&lt;/p&gt;

&lt;h2 id=&quot;case-1-search-for-a-course&quot;&gt;Case 1: Search for a Course&lt;/h2&gt;

&lt;p&gt;The first requirement concerns searching for a course.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/course-search-requirement-v2.jpg&quot; alt=&quot;Query Course Setup (Student)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After entering the requirement into ChatGPT, the following measurement result was obtained:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/course-search-chatgpt.jpg&quot; alt=&quot;ChatGPT measurement result&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In this case, the result produced by ChatGPT was consistent with the result provided in the COSMIC case study.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/course-search-cosmic.jpg&quot; alt=&quot;COSMIC reference measurement&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This example suggests that when the functional requirements are sufficiently detailed and relatively straightforward, ChatGPT may be able to identify the required COSMIC data movements correctly.&lt;/p&gt;

&lt;h2 id=&quot;case-2-delete-a-student-schedule&quot;&gt;Case 2: Delete a Student Schedule&lt;/h2&gt;

&lt;p&gt;The second requirement concerns deleting a student’s course schedule.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/delete-schedule-requirement.jpg&quot; alt=&quot;Requirement - Delete Student Schedule&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The requirement was again submitted to ChatGPT for measurement.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/delete-schedule-chatgpt-1.jpg&quot; alt=&quot;Initial ChatGPT result&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This time, however, the COSMIC reference measurement contained &lt;strong&gt;two more function points&lt;/strong&gt; than the result generated by ChatGPT.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/delete-schedule-cosmic.jpg&quot; alt=&quot;COSMIC reference result&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A closer comparison showed that ChatGPT failed to identify two separate &lt;strong&gt;Exit (X)&lt;/strong&gt; data movements:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;displaying the student’s schedule; and&lt;/li&gt;
  &lt;li&gt;sending information to another system, the Course Catalog System.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead, ChatGPT grouped these outputs together with the error/confirmation messages and treated them as a single Exit.&lt;/p&gt;

&lt;h2 id=&quot;refining-the-instructions&quot;&gt;Refining the Instructions&lt;/h2&gt;

&lt;p&gt;This result suggested that ChatGPT did not fully distinguish the COSMIC rules related to Exit data movements.&lt;/p&gt;

&lt;p&gt;I therefore provided an additional instruction:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The returned schedule information needs to be displayed separately and should not be combined with the error/confirmation message. Updating the Course Catalog System also requires information to be sent to another system. Please identify the data movements again.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After receiving this instruction, ChatGPT identified all of the Exits separately.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/delete-schedule-chatgpt-2.jpg&quot; alt=&quot;Second ChatGPT result&quot; /&gt;&lt;/p&gt;

&lt;p&gt;However, this result was still incorrect.&lt;/p&gt;

&lt;p&gt;According to the COSMIC rules applied in the reference case, error/confirmation messages without a clearly distinguishable object of interest should be grouped together rather than counted separately.&lt;/p&gt;

&lt;p&gt;I therefore refined the instruction again:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Do not identify the deletion confirmation separately. Group all error/confirmation messages into one Exit, while keeping the display output and the information sent to the external system separate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;ChatGPT recalculated the measurement, but it still treated the successful deletion message as a separate Exit.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/delete-schedule-chatgpt-3.jpg&quot; alt=&quot;Third ChatGPT result&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This was still inconsistent with the reference measurement because, in this context, the successful deletion message should also be treated as part of the error/confirmation messaging.&lt;/p&gt;

&lt;p&gt;I therefore provided one more instruction:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The successful deletion message is also part of the error/confirmation messages and should be grouped with them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After this clarification, ChatGPT finally produced the same measurement result as the COSMIC reference case.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/cosmic-chatgpt/delete-schedule-chatgpt-final.jpg&quot; alt=&quot;Final ChatGPT result&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;what-can-we-learn-from-this-comparison&quot;&gt;What Can We Learn from This Comparison?&lt;/h2&gt;

&lt;p&gt;This small experiment highlights two important points.&lt;/p&gt;

&lt;p&gt;First, COSMIC functional size measurement requires requirements to be described at a sufficient level of detail. If the available requirements are too vague, it becomes difficult to identify functional processes, data groups, and data movements reliably.&lt;/p&gt;

&lt;p&gt;Second, understanding the COSMIC measurement rules remains essential.&lt;/p&gt;

&lt;p&gt;Even though large language models such as ChatGPT are trained on large amounts of information, the quality and accuracy of the underlying knowledge cannot always be verified. As this example shows, ChatGPT was able to reach the correct result only after several increasingly specific instructions about the COSMIC rules.&lt;/p&gt;

&lt;p&gt;Therefore, AI tools may be useful as assistants for COSMIC measurement, but their results still require review and validation by people who understand the COSMIC method and its measurement rules.&lt;/p&gt;

&lt;p&gt;For professional or research applications, the role of the &lt;strong&gt;COSMIC measurement expert&lt;/strong&gt; remains important.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;This article is adapted from an earlier Chinese article written by the author.&lt;/em&gt;&lt;/p&gt;
</description>
                <pubDate>Tue, 01 Sep 2026 00:00:00 +0000</pubDate>
                <link>https://lingguo.org/posts/cosmic-expert-vs-chatgpt/</link>
                <guid isPermaLink="true">https://lingguo.org/posts/cosmic-expert-vs-chatgpt/</guid>
                
                <category>COSMIC</category>
                
                <category>Software Measurement</category>
                
                <category>Functional Size Measurement</category>
                
                <category>Artificial Intelligence</category>
                
                <category>ChatGPT</category>
                
                
            </item>
        
            <item>
                <title>Understanding the Relationship Between Triggering Events, Functional Users, and Functional Processes in COSMIC</title>
                <description>&lt;p&gt;COSMIC Measurement Manual Version 5.0 describes and explains the relationships among triggering events, functional users, and data groups. Understanding these concepts is particularly useful when identifying functional processes.&lt;/p&gt;

&lt;h2 id=&quot;functional-users-and-data-groups&quot;&gt;Functional Users and Data Groups&lt;/h2&gt;

&lt;p&gt;Let us begin with two relatively familiar concepts: &lt;strong&gt;functional users&lt;/strong&gt; and &lt;strong&gt;data groups&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the COSMIC software context model, there are three main elements: functional users, the software being measured, and persistent storage.&lt;/p&gt;

&lt;p&gt;Functional users may include human users, other software components, other systems, or devices. A functional user is a sender and/or intended recipient of data associated with the functional requirements of the software being measured.&lt;/p&gt;

&lt;p&gt;Data exchanged between a functional user and the software is conveyed in the form of &lt;strong&gt;data groups&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;COSMIC defines four types of data movements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Entry (E)&lt;/strong&gt; — moves a data group from a functional user into the software.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Exit (X)&lt;/strong&gt; — moves a data group from the software to a functional user.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Read (R)&lt;/strong&gt; — moves a data group from persistent storage into the software.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Write (W)&lt;/strong&gt; — moves a data group from the software to persistent storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a functional user, therefore, only two types of data movements cross the software boundary: &lt;strong&gt;Entries and Exits&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;from-a-triggering-event-to-a-functional-process&quot;&gt;From a Triggering Event to a Functional Process&lt;/h2&gt;

&lt;p&gt;A functional process must be initiated. At the beginning of a functional process, a functional user sends a data group to the software through an Entry.&lt;/p&gt;

&lt;p&gt;But what causes the functional user to initiate the functional process?&lt;/p&gt;

&lt;p&gt;This is where the concept of a &lt;strong&gt;triggering event&lt;/strong&gt; becomes important.&lt;/p&gt;

&lt;p&gt;A triggering event occurs outside the functional process. The occurrence of the event causes a functional user to initiate a functional process by generating and sending a data group to the software.&lt;/p&gt;

&lt;p&gt;The relationship can therefore be understood as a sequence:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Triggering Event → Functional User → Triggering Entry → Functional Process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In other words, an event occurs first. In response to that event, a functional user sends a data group through a triggering Entry, which initiates a functional process.&lt;/p&gt;

&lt;h2 id=&quot;why-this-relationship-matters&quot;&gt;Why This Relationship Matters&lt;/h2&gt;

&lt;p&gt;This relationship is particularly important when identifying functional processes.&lt;/p&gt;

&lt;p&gt;A triggering event is an event outside the software functionality being measured. For example, it may be the receipt of an order or a monitored value reaching a certain threshold.&lt;/p&gt;

&lt;p&gt;The functional user responds to this triggering event and sends a data group—the &lt;strong&gt;triggering Entry&lt;/strong&gt;—to the software. This initiates the corresponding functional process.&lt;/p&gt;

&lt;p&gt;COSMIC provides a series of examples illustrating the identification of functional processes from both business application software and real-time software perspectives.&lt;/p&gt;

&lt;p&gt;Understanding the sequence among the triggering event, functional user, triggering Entry, and functional process can therefore help clarify where one functional process begins and how it should be identified.&lt;/p&gt;

&lt;h2 id=&quot;learning-cosmic-through-the-measurement-manual&quot;&gt;Learning COSMIC Through the Measurement Manual&lt;/h2&gt;

&lt;p&gt;When learning COSMIC functional size measurement, it is useful to repeatedly consult Version 5.0 of the COSMIC Measurement Manual.&lt;/p&gt;

&lt;p&gt;The manual is organized into three parts:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Principles, Definitions &amp;amp; Rules&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Guidelines&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When encountering an unfamiliar COSMIC term, the &lt;em&gt;Principles, Definitions &amp;amp; Rules&lt;/em&gt; can be used to check its formal meaning. The &lt;em&gt;Guidelines&lt;/em&gt; help explain how the concepts should be understood and applied, while the &lt;em&gt;Examples&lt;/em&gt; provide practical cases for reinforcing that understanding.&lt;/p&gt;

&lt;p&gt;Memorizing terminology is not the ultimate goal. More important is understanding the measurement logic behind the method so that COSMIC can be applied appropriately across different software contexts.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;This article is adapted from an earlier Chinese article written by the author.&lt;/em&gt;&lt;/p&gt;
</description>
                <pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate>
                <link>https://lingguo.org/posts/triggering-events-functional-users-functional-processes-cosmic/</link>
                <guid isPermaLink="true">https://lingguo.org/posts/triggering-events-functional-users-functional-processes-cosmic/</guid>
                
                <category>COSMIC</category>
                
                <category>Software Measurement</category>
                
                <category>Functional Size Measurement</category>
                
                
            </item>
        
            <item>
                <title>If Management Work Cannot Be Measured in COSMIC Function Points, How Can Its Effort Be Estimated?</title>
                <description>&lt;p&gt;I recently received a question from a reader about the relationship between functional size and effort:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Management activities are not directly associated with functional size. Should the cost of management work therefore be estimated separately?&lt;/strong&gt;
&lt;img src=&quot;/images/blog/functional-size-effort/management-effort-question.jpg&quot; alt=&quot;Reader question about management effort&quot; /&gt;
The question came from an organization where software development is outsourced to several suppliers. Front-end development, back-end development, and testing are performed by different teams, while project management and overall coordination are handled internally.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Different roles are typically charged according to the effort they spend on the project. The organization therefore wants to plan ahead and estimate the effort required by these different activities as accurately as possible for budgeting purposes.&lt;/p&gt;

&lt;p&gt;They are using COSMIC functional size measurement for the front-end, back-end, and testing-related software, but they are unsure how to deal with management effort.&lt;/p&gt;

&lt;h2 id=&quot;cosmic-measures-software-size-not-management-activities&quot;&gt;COSMIC Measures Software Size, Not Management Activities&lt;/h2&gt;

&lt;p&gt;COSMIC functional size measurement measures the functional size of software based on its &lt;strong&gt;Functional User Requirements (FUR)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Put simply:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If there is software functionality, its functional size can potentially be measured. If there is no software functionality, there is no functional size to measure.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Consider typical project management activities:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;organizing project meetings;&lt;/li&gt;
  &lt;li&gt;monitoring project progress;&lt;/li&gt;
  &lt;li&gt;coordinating among teams;&lt;/li&gt;
  &lt;li&gt;preparing weekly reports and presentations;&lt;/li&gt;
  &lt;li&gt;reporting project status to management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These activities do not correspond to software functionality delivered by the project. Therefore, their functional size cannot be measured using COSMIC.&lt;/p&gt;

&lt;p&gt;However, &lt;strong&gt;having no COSMIC functional size does not mean that an activity requires no effort.&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;functional-size-and-effort-are-different-dimensions&quot;&gt;Functional Size and Effort Are Different Dimensions&lt;/h2&gt;

&lt;p&gt;Functional size and effort measure different characteristics of a software project.&lt;/p&gt;

&lt;p&gt;We measure functional size partly because size can provide a useful basis for estimating effort. In this way, two different dimensions—&lt;strong&gt;size&lt;/strong&gt; and &lt;strong&gt;effort&lt;/strong&gt;—can be statistically related.&lt;/p&gt;

&lt;p&gt;Importantly, this relationship does not have to be one-to-one.&lt;/p&gt;

&lt;p&gt;For example, we do not necessarily need to use:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;development size → development effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;or:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;testing size → testing effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A measured software size may also be used to estimate:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;software size → testing effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;or even:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;software size → project management effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The important question is not whether the activity itself has a functional size. The important question is whether historical data show a useful relationship between software size and the effort required for that activity.&lt;/p&gt;

&lt;h2 id=&quot;historical-data-provide-the-mapping&quot;&gt;Historical Data Provide the Mapping&lt;/h2&gt;

&lt;p&gt;When sufficient historical data have been collected, organizations can investigate relationships between functional size and many other project variables they want to estimate.&lt;/p&gt;

&lt;p&gt;For example, functional size can potentially be related to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;number of test cases;&lt;/li&gt;
  &lt;li&gt;test case preparation effort;&lt;/li&gt;
  &lt;li&gt;testing effort;&lt;/li&gt;
  &lt;li&gt;testing rework effort;&lt;/li&gt;
  &lt;li&gt;project management effort;&lt;/li&gt;
  &lt;li&gt;overall project effort.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Suppose we want to estimate the number of test cases required for a project.&lt;/p&gt;

&lt;p&gt;Writing test cases is not itself software functionality, so we cannot measure the functional size of the activity “write test cases.”&lt;/p&gt;

&lt;p&gt;However, this does not mean that the number of test cases cannot be estimated.&lt;/p&gt;

&lt;p&gt;If historical project data show a relationship between software functional size and the number of test cases, we can build an estimation model:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functional Size → Number of Test Cases&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/functional-size-effort/functional-size-test-cases.jpg&quot; alt=&quot;Relationship between functional size and number of test cases&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The same principle can be extended to effort:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functional Size → Test Case Preparation Effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functional Size → Testing Effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functional Size → Testing Rework Effort&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The relationship must be established and validated using historical data.&lt;/p&gt;

&lt;h2 id=&quot;different-production-lines-may-have-different-productivity-patterns&quot;&gt;Different Production Lines May Have Different Productivity Patterns&lt;/h2&gt;

&lt;p&gt;The same idea can be applied when analyzing productivity.&lt;/p&gt;

&lt;p&gt;Suppose an organization maps functional size and effort for projects belonging to several different production lines. The data may reveal that each production line has a different productivity pattern.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/functional-size-effort/productivity-by-production-line.jpg&quot; alt=&quot;Productivity patterns across production lines&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This information can support management decisions.&lt;/p&gt;

&lt;p&gt;For example, directly comparing productivity across production lines may not be appropriate because each production line may have different characteristics. Comparisons within the same production line may be more meaningful.&lt;/p&gt;

&lt;p&gt;If one production line consistently requires more effort per unit of functional size, the organization can investigate the underlying reasons and identify opportunities for process improvement.&lt;/p&gt;

&lt;p&gt;Conversely, if another production line consistently requires less effort, its practices can be analyzed to determine whether some of them could be adopted elsewhere in the organization.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Functional size and effort are two different dimensions of software measurement. They do not have a strict one-to-one relationship.&lt;/p&gt;

&lt;p&gt;Even when an activity cannot itself be measured in COSMIC function points, its effort may still be estimated by establishing an empirical relationship between &lt;strong&gt;software functional size&lt;/strong&gt; and &lt;strong&gt;historical data for that activity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A reliable functional-size baseline therefore provides much more than a measure of software size. Combined with sufficient historical data, it can become the foundation for estimating and analyzing many different aspects of software projects.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;This article is adapted from an earlier Chinese article written by the author.&lt;/em&gt;&lt;/p&gt;
</description>
                <pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate>
                <link>https://lingguo.org/posts/cosmic-functional-size-and-management-effort/</link>
                <guid isPermaLink="true">https://lingguo.org/posts/cosmic-functional-size-and-management-effort/</guid>
                
                <category>COSMIC</category>
                
                <category>Software Measurement</category>
                
                <category>Software Estimation</category>
                
                <category>Effort Estimation</category>
                
                
            </item>
        
            <item>
                <title>How to Learn COSMIC Functional Size Measurement Systematically</title>
                <description>&lt;p&gt;I recently received a question from a new reader about how to systematically learn COSMIC Functional Size Measurement.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/learning-cosmic-question.jpg&quot; alt=&quot;Question about learning COSMIC&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For someone without a technical background who is transitioning into a COSMIC review role, the most important thing to learn first is not COSMIC Functional Size Measurement itself, but how to understand &lt;strong&gt;software requirements&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Most COSMIC review activities are based on software requirements specifications. Before learning COSMIC in depth, it is important to become familiar with how your organization or project teams write requirements—their formats, content, methods, and conventions.&lt;/p&gt;

&lt;p&gt;This understanding can be developed by reading requirements documents, participating in project reviews, attending project meetings, and becoming familiar with the business domain.&lt;/p&gt;

&lt;h2 id=&quot;start-with-the-cosmic-measurement-manual&quot;&gt;Start with the COSMIC Measurement Manual&lt;/h2&gt;

&lt;p&gt;Once you have a basic understanding of the business and its software requirements, you can begin learning COSMIC Functional Size Measurement.&lt;/p&gt;

&lt;p&gt;The COSMIC Measurement Manual Version 5.0 consists of three parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 1 — Principles, Definitions &amp;amp; Rules&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 2 — Guidelines&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 3 — Examples&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A practical approach is to first read Part 1 to become familiar with the fundamental concepts.&lt;/p&gt;

&lt;p&gt;When you encounter a concept that is difficult to understand, you can refer to the corresponding section in Part 2 for more detailed guidance.&lt;/p&gt;

&lt;p&gt;Finally, Part 3 provides examples that can help you understand how COSMIC is applied in actual measurement activities.&lt;/p&gt;

&lt;p&gt;The concepts required for COSMIC measurement can be found in the Measurement Manual. However, theoretical knowledge alone is not sufficient. A significant amount of practical exercise is also necessary.&lt;/p&gt;

&lt;h2 id=&quot;understand-the-overall-cosmic-measurement-framework&quot;&gt;Understand the Overall COSMIC Measurement Framework&lt;/h2&gt;

&lt;p&gt;Before beginning practical measurement exercises, it is useful to first build an overall framework and understand the logic of the COSMIC measurement process.&lt;/p&gt;

&lt;p&gt;The COSMIC measurement process consists of three phases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Measurement Strategy → Mapping → Measurement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/cosmic-measurement-process.jpg&quot; alt=&quot;COSMIC measurement process&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Measurement Strategy phase&lt;/strong&gt; is a preparation phase. It is more oriented toward defining, at the organizational level, how COSMIC will be used.&lt;/p&gt;

&lt;p&gt;Once the organization has determined the purpose of measurement, it can establish the corresponding measurement process and measurement templates. Requirements for the documents to be measured can also be clearly defined.&lt;/p&gt;

&lt;p&gt;Measurement personnel—who may be requirements analysts or other people designated by the organization—can then proceed to the second phase.&lt;/p&gt;

&lt;h2 id=&quot;mapping-requirements-to-cosmic-concepts&quot;&gt;Mapping Requirements to COSMIC Concepts&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Mapping phase&lt;/strong&gt; primarily involves mapping the documents to be measured to COSMIC concepts and completing the measurement template according to organizational requirements.&lt;/p&gt;

&lt;p&gt;The final measurement results are also recorded in the template, leading to completion of the third phase—the &lt;strong&gt;Measurement phase&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Below are several examples of measurement templates designed by participants in online COSMIC courses.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/cosmic-measurement-template-examples.jpg&quot; alt=&quot;Examples of COSMIC measurement templates&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;decompose-requirements-before-measurement&quot;&gt;Decompose Requirements Before Measurement&lt;/h2&gt;

&lt;p&gt;Before mapping COSMIC concepts, an important step is to decompose the document to be measured into different levels.&lt;/p&gt;

&lt;p&gt;A requirements document may contain multiple &lt;strong&gt;functional processes&lt;/strong&gt;, and each functional process may contain multiple &lt;strong&gt;data movements&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The design of the measurement template should reflect this hierarchical structure.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/requirements-decomposition.jpg&quot; alt=&quot;Requirements decomposition&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The document to be measured should therefore be decomposed according to the definition of a functional process so that individual functional processes can be identified.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/functional-process-definition.jpg&quot; alt=&quot;Definition of a functional process&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Some requirements are clearly written and functional processes can be identified relatively easily.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/clear-requirement-example.jpg&quot; alt=&quot;Example of a clear requirement&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Other requirements may be ambiguous. In such cases, communication with the person who wrote the requirements may be necessary to confirm whether a functional process actually exists.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/ambiguous-requirement-example.jpg&quot; alt=&quot;Example of an ambiguous requirement&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;connect-cosmic-concepts-with-concrete-examples&quot;&gt;Connect COSMIC Concepts with Concrete Examples&lt;/h2&gt;

&lt;p&gt;Once the requirements have been decomposed into functional processes, the data movements within each functional process can be measured.&lt;/p&gt;

&lt;p&gt;Simply memorizing COSMIC terminology can be difficult because many of the concepts are abstract.&lt;/p&gt;

&lt;p&gt;A more effective approach is to connect each concept with a concrete example.&lt;/p&gt;

&lt;p&gt;If you can understand how the COSMIC concepts correspond to the elements in a specific example, the same measurement logic can then be extended to other scenarios.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/learning-cosmic/cosmic-login-example.jpg&quot; alt=&quot;COSMIC login example and key concepts&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;practice-repeatedly&quot;&gt;Practice Repeatedly&lt;/h2&gt;

&lt;p&gt;Becoming proficient in COSMIC requires repeated practice in two fundamental activities: &lt;strong&gt;decomposing requirements&lt;/strong&gt; and &lt;strong&gt;identifying functional size&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The more requirements you analyze and the more frequently you apply the COSMIC rules, the more familiar you become with the method.&lt;/p&gt;

&lt;p&gt;In addition to practicing independently with requirements documents, learners can also participate in free online classes, structured courses, and practical training.&lt;/p&gt;

&lt;p&gt;COSMIC certification examinations can also be used to evaluate and validate learning outcomes.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;To become proficient in COSMIC Functional Size Measurement, you should first develop a general understanding of its theoretical foundations. This can be achieved through self-study or structured courses.&lt;/p&gt;

&lt;p&gt;More importantly, you should understand the &lt;strong&gt;overall measurement framework and the logic connecting the different measurement activities&lt;/strong&gt;, rather than simply memorizing individual terms and rules.&lt;/p&gt;

&lt;p&gt;Once the basic framework is understood, practical exercises can be used to reinforce the concepts and rules.&lt;/p&gt;

&lt;p&gt;Through repeated practice, reflection, and experience, measurement accuracy and efficiency can gradually improve.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;This article is adapted from an earlier Chinese article written by the author.&lt;/em&gt;&lt;/p&gt;
</description>
                <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
                <link>https://lingguo.org/posts/how-to-learn-cosmic-functional-size-measurement/</link>
                <guid isPermaLink="true">https://lingguo.org/posts/how-to-learn-cosmic-functional-size-measurement/</guid>
                
                <category>COSMIC</category>
                
                <category>Software Measurement</category>
                
                <category>Functional Size Measurement</category>
                
                <category>Software Engineering</category>
                
                
            </item>
        
            <item>
                <title>Five Questions That Test Your Understanding of COSMIC Functional Size Measurement</title>
                <description>&lt;p&gt;When delivering training on the &lt;strong&gt;COSMIC Functional Size Measurement (FSM) method&lt;/strong&gt;, I often receive similar questions from participants.&lt;/p&gt;

&lt;p&gt;At first glance, these questions may appear to concern specific COSMIC rules. In fact, they often go deeper: they reflect whether we really understand &lt;strong&gt;what software measurement is for, what should be measured, and how measurement should be used in practice&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here are five questions that I frequently encounter.&lt;/p&gt;

&lt;p&gt;Before reading my answers, try answering them yourself. Write down a few keywords for each question and see whether your reasoning covers both the COSMIC method itself and the broader purpose of software measurement.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-01.jpg&quot; alt=&quot;Eight Characteristics of COSMIC&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;1-can-cosmic-only-be-used-to-measure-requirements&quot;&gt;1. Can COSMIC only be used to measure requirements?&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;Our company mainly develops software. Requirements are written by our customers. Can we still use COSMIC?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;COSMIC can be applied at different stages of the software life cycle.&lt;/p&gt;

&lt;p&gt;The essential point is that COSMIC functional size measurement is based on &lt;strong&gt;Functional User Requirements (FUR)&lt;/strong&gt;. These requirements do not have to exist in one particular document or format.&lt;/p&gt;

&lt;p&gt;Depending on the stage of the software life cycle, information about the FUR may be derived from different artifacts, such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;requirements clarification records;&lt;/li&gt;
  &lt;li&gt;software requirements specifications;&lt;/li&gt;
  &lt;li&gt;design documentation;&lt;/li&gt;
  &lt;li&gt;the software itself or its source code;&lt;/li&gt;
  &lt;li&gt;user manuals; or&lt;/li&gt;
  &lt;li&gt;software interfaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Therefore, the question is not simply, &lt;em&gt;“Do we have a requirements specification?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A more important question is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the purpose of the measurement, and at what point in the software life cycle do we need the size information?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The appropriate source of information for identifying the FUR depends largely on that measurement purpose.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-06.jpg&quot; alt=&quot;COSMIC Software Context Model&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-07.jpg&quot; alt=&quot;Generic Software Model in COSMIC&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;2-our-company-has-used-its-own-sizing-method-for-years-do-we-need-to-replace-it-with-cosmic&quot;&gt;2. Our company has used its own sizing method for years. Do we need to replace it with COSMIC?&lt;/h2&gt;

&lt;p&gt;Not necessarily.&lt;/p&gt;

&lt;p&gt;Being familiar with a sizing method does not automatically mean that the method is effective. But similarly, adopting an international standard simply because it is a standard is not sufficient justification for replacing an existing method.&lt;/p&gt;

&lt;p&gt;A useful way to evaluate an organizational sizing method is to examine historical data.&lt;/p&gt;

&lt;p&gt;For example, collect:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;software size data; and&lt;/li&gt;
  &lt;li&gt;a target variable such as actual development effort.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then investigate the relationship between them.&lt;/p&gt;

&lt;p&gt;If the organization’s existing size measure has a strong and useful relationship with the target variable, such as development effort, the method may already serve its intended purpose within that organization.&lt;/p&gt;

&lt;p&gt;Organizations often consider replacing or improving an existing sizing approach when problems arise, such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;excessive subjectivity;&lt;/li&gt;
  &lt;li&gt;inconsistent counting rules;&lt;/li&gt;
  &lt;li&gt;poor repeatability; or&lt;/li&gt;
  &lt;li&gt;weak relationships between measured size and the variables the organization wants to analyze or estimate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Therefore, before introducing a new functional sizing method across an organization, it can be useful to first evaluate the existing method using actual project data and make the decision based on evidence.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-02.jpg&quot; alt=&quot;Development Effort versus Requirement Points&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;3-why-should-we-use-cosmic-for-functional-size-measurement&quot;&gt;3. Why should we use COSMIC for functional size measurement?&lt;/h2&gt;

&lt;p&gt;COSMIC has several characteristics that make it useful as a standardized functional size measurement method.&lt;/p&gt;

&lt;p&gt;For example, the method is designed to measure functional size from the perspective of functional user requirements and to be independent of the software implementation technology.&lt;/p&gt;

&lt;p&gt;Its measurement principles and rules can also be learned through systematic training and measurement exercises.&lt;/p&gt;

&lt;p&gt;When introducing COSMIC into an organization, one practical approach is to begin with a representative sample of projects rather than immediately deploying the method organization-wide.&lt;/p&gt;

&lt;p&gt;The organization can then compare COSMIC functional size with historical variables such as actual development effort.&lt;/p&gt;

&lt;p&gt;In many practical applications, the objective is to determine whether the measured functional size provides a useful basis for activities such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;effort estimation;&lt;/li&gt;
  &lt;li&gt;productivity analysis;&lt;/li&gt;
  &lt;li&gt;benchmarking;&lt;/li&gt;
  &lt;li&gt;project planning; and&lt;/li&gt;
  &lt;li&gt;process improvement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Where necessary, organizational measurement conventions may also be established while remaining consistent with the underlying COSMIC principles.&lt;/p&gt;

&lt;p&gt;The decision to deploy COSMIC more broadly should therefore be supported by both &lt;strong&gt;measurement principles and empirical evidence from the organization’s own projects&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-03.jpg&quot; alt=&quot;COSMIC Function Points versus Actual Effort&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;4-why-could-i-understand-cosmic-during-training-but-still-struggle-to-perform-real-measurements&quot;&gt;4. Why could I understand COSMIC during training but still struggle to perform real measurements?&lt;/h2&gt;

&lt;p&gt;Learning COSMIC is somewhat like learning to drive.&lt;/p&gt;

&lt;p&gt;Understanding the rules is necessary, but understanding the rules alone does not automatically provide enough experience to handle real situations confidently.&lt;/p&gt;

&lt;p&gt;After formal COSMIC training, organizations normally need practical measurement exercises using their own software requirements and projects.&lt;/p&gt;

&lt;p&gt;This may involve:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;hands-on functional size measurement;&lt;/li&gt;
  &lt;li&gt;reviewing actual measurement cases;&lt;/li&gt;
  &lt;li&gt;one-to-one guidance for project teams;&lt;/li&gt;
  &lt;li&gt;resolving ambiguities in real requirements;&lt;/li&gt;
  &lt;li&gt;collecting and validating measurement data;&lt;/li&gt;
  &lt;li&gt;integrating measurement activities into existing organizational processes; and&lt;/li&gt;
  &lt;li&gt;developing supporting procedures, templates, guidelines, and organizational measurement conventions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, there is an important difference between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;knowing the COSMIC rules&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;being able to establish and operate a functional measurement process in an organization.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Training is only the beginning. Practical measurement, feedback, calibration, and organizational integration complete the process.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-04.jpg&quot; alt=&quot;Three Phases for Introducing COSMIC&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;5-our-requirements-are-too-vague-to-measure-functional-points-how-can-we-use-cosmic&quot;&gt;5. Our requirements are too vague to measure functional points. How can we use COSMIC?&lt;/h2&gt;

&lt;p&gt;This is a common issue, particularly in the early stages of software development.&lt;/p&gt;

&lt;p&gt;The underlying purpose of software sizing is to establish a &lt;strong&gt;consistent way of representing software size at the level of information currently available&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When detailed Functional User Requirements are not yet available, it may not be possible to perform a detailed COSMIC measurement directly.&lt;/p&gt;

&lt;p&gt;Instead, organizations can explore higher-level sizing indicators based on the available information, such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;requirement items;&lt;/li&gt;
  &lt;li&gt;requirement groups;&lt;/li&gt;
  &lt;li&gt;identified functional processes; or&lt;/li&gt;
  &lt;li&gt;other consistently defined early-size indicators.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;COSMIC also provides guidance for early or approximate functional sizing when requirements are incomplete.&lt;/p&gt;

&lt;p&gt;The key is to select a sizing approach appropriate to the available level of requirements information and then evaluate whether the resulting size measure is useful for its intended purpose.&lt;/p&gt;

&lt;p&gt;For example, if the objective is effort estimation, historical data can be used to investigate the relationship between the selected size indicator and actual effort.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/five-questions-cosmic/five-questions-cosmic-05.jpg&quot; alt=&quot;Development Effort versus Number of Requirements&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As requirements become more detailed, the measurement can progressively move toward a more detailed COSMIC functional size expressed in &lt;strong&gt;COSMIC Function Points (CFP)&lt;/strong&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;from-learning-cosmic-to-applying-cosmic&quot;&gt;From Learning COSMIC to Applying COSMIC&lt;/h2&gt;

&lt;p&gt;These five questions actually form a useful path from understanding COSMIC to applying it in practice:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What can be measured?&lt;/strong&gt;&lt;br /&gt;
→ Understand Functional User Requirements and the measurement purpose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should an existing sizing method be replaced?&lt;/strong&gt;&lt;br /&gt;
→ Evaluate the method using organizational data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why use COSMIC?&lt;/strong&gt;&lt;br /&gt;
→ Understand the value of a standardized functional size measure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is training alone insufficient?&lt;/strong&gt;&lt;br /&gt;
→ Move from knowledge of the rules to practical measurement capability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if the requirements are incomplete?&lt;/strong&gt;&lt;br /&gt;
→ Select a sizing approach appropriate to the available level of information.&lt;/p&gt;

&lt;p&gt;If your answers to these five questions are broadly consistent with this reasoning, you have probably moved beyond simply learning COSMIC terminology and rules.&lt;/p&gt;

&lt;p&gt;You are beginning to understand the more important question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;how functional size measurement can actually be applied within a software organization.&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;This article is adapted from an earlier Chinese article written by the author.&lt;/em&gt;&lt;/p&gt;
</description>
                <pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
                <link>https://lingguo.org/posts/five-questions-cosmic/</link>
                <guid isPermaLink="true">https://lingguo.org/posts/five-questions-cosmic/</guid>
                
                <category>COSMIC</category>
                
                <category>Software Measurement</category>
                
                <category>Functional Size Measurement</category>
                
                
            </item>
        
    </channel>
</rss>