Measurement in Software Projects Competence
Competences
The determination of competences during the training of a professional must take into account training objectives that are geared towards meeting the needs of the employing organisations. A study carried out by Accenture (2007) shows that there may be divergences between what the university considers teaching and what organisations need. The tension derived from the divergence of the previous sentence and taking into account student aspirations allows the formulation of the training objective of the professional that leads to the conformation of the system of subjects that make up part of the professional's curriculum. The subjects, in the case of Cuban training, have a general objective that responds to the career objective.
Professional competences, as in the case of this research, have an initial training period in which skills are developed and basic knowledge is acquired. Once this process is completed, the professional competence is developed during a period of undergraduate training, and from there, those directly related to it are developed on the job.
The competence to measure in software projects is one of those that will be directly related to the employment of an IT professional in any of the roles. Whether analyst, designer, programmer or tester, professionals in this science need to measure certain parameters in order to achieve the quality of the product of their activity. This is why it is important for computer engineering students to develop this competence.
Measurement in Software Projects Competence
An organizational computerization project poses certain problems to the development team and most of them are related to the quality of the process and the product (Ahmed Ismaeel and Nasser Al-Mulhim, 2021; Sunil Deshpande et al, 2020). Within the processes of computerisation of organisations, development technology plays an essential role and object orientation is a paradigm that has come to prevail. For Misiko (2020) there is a set of metrics that can be used in design as well as in object-oriented analysis and programming that would be interesting to assume as part of the computer engineer's curriculum. Another important process for measurement in these professionals is the estimation of projects and for this the paradigm does not play an essential role. Estimation as a process is a future-oriented measurement in which error plays an essential role. There are several models that can be used for project estimation and three are currently the most widely used: function points, COCOMO and SLIM (Abdelali et al, 2018).
This competence begins its formation during the study of mathematics that computer engineering students receive during their first year, which includes Mathematical Analysis and Algebra. During this same year they receive the subjects Introduction to Programming and Object-Oriented Programming. In them they calculate the order of the algorithms they program by facing their first measurement and use some metrics such as inheritance tree height and class complexity, although it is not explicitly stated as a measurement. Later, in the second year, they begin to study Data Structures where they study in depth the different orders that algorithms can have and how to calculate them, which continues the training process. From this second year until the fourth year, they study Software Engineering, where they study in depth the different development methodologies. In these subjects, point estimation of use cases and algorithmic complexity are very briefly addressed as examples of measurement processes. Up to this point, the initial training of the competence to measure in software projects is considered as the initial training, as students study all the necessary knowledge and skills that allow them to understand the measurement processes.
The training process closes with a subject that is taken in the fifth year of the course called Measuring in software projects. This subject is allocated a total of 50 hours and covers three fundamental topics. The first topic is dedicated to the formalisation of the concepts of measurement, measurement and metrics. A second topic is devoted to the metrics of object-oriented analysis and design, while the third topic is devoted to project estimation using Function Points and COCOMO II. The course is taught using project-based learning (González-Hernández, 2013; Härkki et al, 2021). Each of the contents studied is applied in their final degree project, which culminates in the presentation of software resulting from a process of computerisation of organizations in the territory.
Therefore, the competence to measure in software projects is a configuration of knowledge about measurement, measurement skills, associated values and the necessary elements of self-regulation oriented to the performance of the role in an efficient and effective way in a computerisation process in order to achieve a quality product.
From what has been stated so far, it is assumed that the structure of the competence to measure in software projects is as follows:
- a)
Broad mastery of the concepts associated with metrics in relation to the role they occupy.
- b)
Mastered the representation of metrics using the appropriate symbol system.
- c)
Has a good command of the meaning of the results of the metrics applied depending on the role that corresponds to student.
- d)
Has mastered the metrics corresponding to their role in the computerisation processes.
- e)
Masters the actions comprised in the models according to the conception of those in charge of these processes.
- a)
Selects the software entities to be measured.
- b)
Determines the appropriate metrics according to the selected entities.
- c)
Executes each of the selected metrics.
- d)
Correctly interprets the results obtained.
- e)
Compares the results obtained with other similar projects.
- f)
Argues the decision taken depending on the results obtained in the metrics and the decisions taken in other projects with similar results.
- a)
Design strategies for the implementation of metrics in the computerisation processes in which they participate.
- b)
Establish feedback mechanisms for the actions implemented in the measurement process.
- c)
Establishes goals for the execution of the actions contained in the measurement of the computerisation processes.
- d)
Regulates the processes to be executed in order to detect the most appropriate metrics to represent the computerisation processes.
- a)
Assumes with responsibility the selection of the metrics to be used in the computerisation processes.
- b)
Assumes with honesty the mistakes made during the measurement process in computerisation processes in order to eliminate them.
- c)
Encourages the creation of a climate of dialogue and controversy that stimulates timely criticism.
- d)
Institutionalises error as a learning opportunity for the entire systems development team.
- e)
It demands compliance with agreed deadlines for the timely delivery of measurements and their appropriate representation.
- f)
Assume measurement as an important function in each role in its social relationship with the rest of the team members.
- g)
Assume as part of their performance the ethical dilemmas derived from the responsibility of the role, they occupy in the software development processes.
The configuration represents the way in which a complex system is restructured by establishing informational flows with other systems, so assuming competence as a configuration is a significant step in the understanding of the articulation of the elements proposed in the psyche of the individual. This means that the subject organises these components depending on the informatisation process to be carried out in tension with the role they play. Hence, each subject expresses their competence in a unique and unrepeatable way, and the demands of the computerisation project play an essential role in this. These considerations mean that the competence analysis process is unique and unrepeatable for each individual, and it is necessary to determine whether each student possesses these indicators.
Results and Discussion
The first cut is made at the end of the first month of teaching with the students at the end of the first subject dedicated to measurement. For this first moment, the students are placed in the role of designers since they have already received the subjects of requirements engineering, systems analysis in previous semesters and software design in this semester. The results of the triangulation are shown in
Figure 1. However, it can be seen that the students consider that they do not have a mastery of the knowledge associated with metrics, although the teachers and the observation indicate that two students do. This is explained by the fact that they already know metrics from previous subjects such as programming, but they have not mastered the appropriate system of symbols for their representation. It is important to take into account that four of the students are considered to have mastered the actions included in the metrics, which could denote a predominance of the executing function of thought. This happens when the executing function prevails over the rest of the assessment and analysis functions.
The results of the cognitive indicators indicate that the initial formation of competence has not taken place in the desired manner. There is a rejection of Mathematics and its contents in the group, which has a negative impact on any computer content that uses it as a basis. This group has a representation of Mathematics as a subject made only for geniuses and expects more complex and difficult knowledge to be studied in relation to this subject due to its strong mathematical basis. This representation must be dismantled through the use of simple and easy-to-understand metrics that, at the same time, are useful for making decisions to validate object-oriented designs. The metrics proposed by the authors Sunil Deshpande et al. (2020) in the theoretical framework and in the results of their article have the simplicity and completeness necessary for the purpose of the previous sentence.
In the case of skills, the worst performers are those related to experience and the level of knowledge about the metrics, as it is not possible to select the right metrics and argue the decision if one has a poor command of the metrics. Likewise, it is not possible to interpret the results of the metrics without knowledge of what they measure.
For the self-regulatory processes, it can be seen that 4 of the students overvalue the processes of designing strategies with clearly identified goals and regulating the most appropriate processes for selecting metrics. Meanwhile, the teachers are critical of the students' performance, considering that none of the students achieve the indicator related to goal setting. The observation shows that there are 3 students with the presence of indicators related to self-regulation.
A situation similar to the three previous dimensions is presented by the dimension related to values in which a curious situation is detected. The students do not consider that they assume responsibility for the selection of the metrics, which is due to the lack of knowledge that is evident in the indicators of the cognitive dimension, although the teachers consider that one student achieves this, and in the observation, the achievement of two students is evident. Two of the students consider that they assume the ethical dilemmas related to the processes of requirements and software design.
The following strengths and weaknesses can be detected from the results of this cut:
The teachers are committed to the training of students and guarantee the materials to achieve this.
There is a technological infrastructure to support student access to resources in a repository and virtual space.
There are communication channels to improve the infrastructure and alternative access routes for students with difficulties.
There is weak initial training for students, which complicates the processes that should occur at this stage.
Learning a subject with a strong mathematical component is made more complex by the students' representation of the subject as difficult, complicated and made only for geniuses.
Emphasis has been placed on the assessment of students as a process that prioritises the use of the contents to apply them to problems and not to make decisions regarding engineering processes. This emphasis makes the subject more complex, as its content is precisely for decision making in terms of the quality of the processes carried out.
The results of the diagnosis are presented to the Collective of the Year made up of the teachers of all the subjects taught in that semester and the representatives of the student organisations. This is the governing body that focuses the most important methodological decisions of the year and coordinates the teachers' efforts to organise student learning. Once the results of the diagnosis have been discussed, it is decided to integrate the subjects of the year and to address integrative problems that are tackled from the different subjects. In the same way, the final evaluations of the subjects are carried out in an integrated manner, which allows the students to prepare for the exercise of their profession. The problems they will encounter in working life do not normally depend on a single subject, but must be solved by applying the competences acquired during their undergraduate studies.
Immediately after the first cut-off the students are told that their final assessment will be a measurement project applied to their diploma work. The diploma project is aimed at solving problems related to the computerisation of the territory where they live and involves community actors as potential clients. This indication states that the project approach will be used in the classes and each of them will apply the knowledge studied in class on a real development project that will allow them to graduate as computer engineers. They must apply the metrics of object-oriented design and estimate the time, cost and effort for the development of the system. In the case of estimation, being one of the last contents to be studied, they will be applied post-development and it could be the case that they are calculated together with the implementation of their system. If this is the case, then the students compare the results obtained using function point estimation and COCOMO 2000 with the time actually taken. This allows them to assess the margins of error in these estimation processes or to correct errors in the calculations.
The second cut shows the results of
Figure 2 and demonstrates that the use of simple metrics in their mathematical formulation but applicable to object-oriented design was not an unwise decision. The number of students who mastered the concepts of measurement, metrics and measurement in the observation increased by 6, while teachers and students agree that only 4 students mastered these concepts. This is evidence of the students' misgivings about the solidity and validity of the mathematical knowledge they possess, as well as of the teachers' strong demand that they demonstrate their knowledge. However, the students have a better understanding of the metrics of object-oriented design, as well as of the results obtained, and this is highlighted by the teachers in indicator c and d. Observation corroborates this data with slightly lower results in terms of the number of students who demonstrate the indicators.
In the second dimension, there is a lower number of students with the presence of the indicators, which shows that the skills depend on the knowledge system. The observation corroborates the students' assessment in indicators a, b and c, demonstrating the formation of the simpler skills, while in the case of the rest of the skills it corroborates the teachers' assessment in the case of the more complex skills. This is due to the fact that the students successfully cope with those skills that require a higher level of reproduction, while they fail in the skills that require intellectual production, as is the case with d and f. Nevertheless, these results show a substantial improvement in the students who present the skills necessary for the formation of competence.
The third dimension is the one with the lowest level of development and it is predictable because it depends on a higher degree of development of the two dimensions that precede it, especially the first one, as evidenced in other studies (Chen, 2020; Jaramillo et al, 2017). Although it has not been determined in the studies reviewed, the results obtained seem to indicate that values also intervene in the self-regulatory processes, so that competence is formed by first achieving the acquisition of content, then the development of skills, followed by values and finally the processes of self-regulation. This is explained by the assumed indicators themselves. It is not possible to establish feedback mechanisms if mistakes are not honestly assumed, or if a climate of dialogue is not created, or if ethical dilemmas are not assumed as part of their actions. This inference is possible after the analysis of two cuts and the observation of the students during the execution of a project.
The fourth dimension makes it possible to assess the development of the value of responsibility in more students and is due to the introduction of the project to be solved by each of them. Since the introduction of project-based learning as a teaching approach (González Hernández, 2021; Hujjatusnaini et al, 2022), a greater development of the values associated with responsibility for the software project to be discussed has become evident, as well as an increased demand for respecting the deadlines for revising the system delivered in each iteration.
The following strengths and weaknesses can be detected from the results of this cut:
The strengths detected in the initial diagnosis are maintained.
All students have a thesis topic related to software development for computerisation processes in organisations.
The linking of the subject project to the diploma work, which guarantees organisations a reliable estimate of time, cost and development effort with which they can work and make decisions.
The integration of the subjects in order to respond to interdisciplinary processes in the resolution of problems linked to their thesis where they apply the knowledge of the year's subjects.
Unity of criteria of the teaching staff.
The third cut shows the results of
Figure 3. The use of the project as a teaching approach has been a dynamic element for the development of competence as shown in the results of the last cut-off 5 months after the start of the course and three months after having applied this approach. More than 80% of the students have developed the indicators, which indicates the formation of the competence to measure in software projects. In most of the indicators, similarity of the results obtained in the three methods is observed, which indicates that the students' self-assessment of their development is more adequate, while the teachers' demands have not diminished. There is even a tendency for the students' evaluation of their performance to be more rigorous than that of the teachers. This is corroborated by the observation results and argues for the development of criticism and self-criticism so necessary in a project environment. The need for good practice workshops and comparisons between student projects is evident from the low results of indicator e of the second dimension.
Work has continued on the treatment of the mathematical content that underpins the measurement processes. Each moment of understanding of the mathematical representations of the measurement processes is accompanied by a positive emotional expression on the part of the teacher who gratifies the achievement obtained. In the same way, every moment in which they do not understand the mathematical processes that take place in the measurements is helped by reaffirming that this is a normal process in all learners. Mistakes made are treated in a similar way, where the positive aspects of the error are reaffirmed and the negative aspects are minimised, which eliminates the students' fear of making mistakes and socialising errors. All students can help each other to correct mistakes and a climate of trust and security is built up, which is essential in cooperative work when integrating development teams.
The following strengths and weaknesses can be detected from the results of this cut:
Students like the subject and reflect in different spaces the importance it has for their professional future.
The faculty has uniform criteria for the evaluation of integrative problems in order to award a grade to students.
The forms of teamwork are developed, which is essential during their integration into development organisations.
Once all the results obtained during the execution of the pre-experimental have been analysed, the following general results are obtained:
The computer project is the activity par excellence for the formation of the competences of a computer engineer as has been corroborated in this study and is demonstrated by previous studies with other related specialities (García-Llorente et al, 2020; Oliveira and Oliveira, 2019).
Competence develops in stages that go from initial training and undergraduate training to its development in the workplace, and in each of these stages it goes from its simplest elements: knowledge to more complex ones such as self-regulation processes. In the intermediate stage, skills and value processes are formed. Each piece of knowledge that the student appropriates develops the necessary skills to operate with it, and from appropriation to its application, values and self-regulation are developed. From the simplest knowledge, skills, values and self-regulation, the foundations are laid for those of greater complexity in an ever-increasing spiral.
Computer competences are formed through the integrated work of the subjects that make up the year and allow students to appropriate them through inter- and multidisciplinary work. In this way assessment through integrative projects takes on a formative character.
The study allows understanding the processes of formation of the competence to measure in software projects and the conditions that must be guaranteed for its achievement. This article also demonstrates that the competence studied requires a high level of integration of the IT contents of the degree course, as it must include those related to Mathematics, Software Engineering and Programming among others.