Ñîâðåìåííûå èíôîðìàöèîííûå òåõíîëîãèè/ 3.Ïðîãðàììíîå îáåñïå÷åíèå

Monchak M., Bilas O.

Lviv Polytechnic National University, Ukraine

Project documentation metrics adaptation for Scrum development methodology

 

Abstract - Indicators and metrics of quality documentation in the lifecycle model of Scrum development process are considered. Adaptation of the project documentation quality metrics for agile development methodologies are carried out to improve the quality of the software.

Metrics of software quality should not be considered absolutely, the overall result of this assessment should be regarded as information for analysis. Process improvement and application of relevant metrics are recommended as results.

                                                                                                                                                       I.            Introduction

During requirements for the software system determining external characteristics and attributes that define various aspects of the behavior of the product in a specific environment are relevant. To assess the characteristics of the quality of the software system mentioned in the requirements determined by the appropriate metrics, models of their estimation and range of measures for measuring individual quality attributes are used [1].

Working and quality product is the main metric of widely used agile development methodology [2]. Preferring direct communication, agile reduce the amount of written documentation in comparison with other methodologies. In Scrum methodology documentations are in the form of user stories, tasks, and retrospectives.

Scrum documentation is updated after the end of the iteration and reflects the degree of implementation of tasks and testing [2]. Analyzing of design documentation metrics and documentation of Scrum methodology identified the need in sophisticated set of metrics for a more complete assessment of the design documentation in Scrum projects. Adaptation of existing classic quality metrics for Scrum methodology is purposed to carry out.

                                                       II.       Model of quality metrics for Scrum development methodology

Software quality metrics is a function of inputs which are the measured data of software process or product, and the output is a numeric value that can be interpreted as a degree, which possesses the attribute of the software that affect its quality [3].

To develop or refine a set of metrics for Scrum projects, we need to create a list of quality factors that are needed to determine for quality of design documentation.

Scrum documentation is updated after the each iteration finish and reflects the degree of tasks and testing fulfillment. The obtained data contribute to the documentation that assesses the quality metrics of project documentation [4].

2.1 Definition and adaptation documentation metrics for Scrum projects

2.1.1 Accuracy

Defect density of the sprint. Defect density is calculated after each new design description verification (inspection) in the sprint or after the end of sprint.

Primitives:

D - total number of defects

Di - total number of defects detected during the inspection of the sprint

I - total number of inspections

DS - number of source lines of the sprint design goals, expressed in thousands

Defects density can be calculated as:

       (1)

Defect density of the sprint can also be measured as

            (2)

Accounted for every defect in the later stages, which is a defect of the sprint. The result can be shown as a histogram of the defects density of sprints.

Fig. 1 Histogram of the defects density

 

2.1.2 Modularity

- Metric integrity to sprint. Integrity or “strength” features associated with sprint points out the relation between elements of features. Values integrity for sprint’s assigned using a standard appraisal chart. The highest level of integrity is a functional level, and the worst is occasional.

Sprint with high strength (functional) performs a single function. Sprint with low strength (random) includes several unrelated functions. Analysis has shown that sprints with high strength, tend to have lower rates of defects, and they are cheaper to develop. According to sprints with high strength modularity is higher.

Toughness is a measure of integrity degree of software module elements.

Calculation of strength:

           (3)

where:

X - reciprocal of the number of assignment statements in the sprint

Y - number of unique results of function divided by the number of unique input.

- Connectivity descriptions metric within iterations. Connectivity is measures of the degree for which the functions are implemented in the sprint communicate. Connectivity descriptions can be evaluated using standard evaluation chart. The connectivity data is the best type of connectivity, while the connectivity of the content is the worst.

The connectivity data is data exchange through the options list, while the overall connectivity is in communication through the global (total) area. In the previous guidelines stated that total connectivity should be avoided. But further research showed that error distribution does not depend on the mechanism of connectivity. However, from the modularity point of view and independence descriptions from external factors, value of connectivity should be lower.

Calculation of connectivity:

            (4)

where:

Mj - total number of input and output elements distributed between components i and j

Zi - average number of input and output elements distributed between the m components of component i

n - number of components in the software description.

After examining the connectivity descriptions within iterations need to explore the overall coherence of the sprint project.

2.1.3 Clarity

- Metrics of volume. Studding the effect of module size on modularity (and therefore reusability) was made during the research. Module size of itself does not affect the bounce rate. In addition, the cost of large modules per executable statement is less than for a smaller module. This suggests that the rows number of the project and code is not a good indicator of modularity. However, when it’s used with other metrics (complexity, etc) metric size can be an indication that the module should be split on smaller modules. The following metrics can be considered as metrics of volume:

• Number of project sprints

• Number of records on one sprint

• Number of lines of code document

• Number of functions

• Number of inputs and outputs

• Number of interfaces

 

- Complexity metrics

1. External complexity (De) is based on information available during the design of solution architecture, such as hierarchical data flow diagrams, functional descriptions and interfaces.

Calculation of external complexity:

             (5)

where:

iflow - number of data entities passed to the function descriptions

oflow - number of data entities sent from the description of the functions

fan-in  -  number of parental descriptions directly related to the description

fan-out  - number of child descriptions directly related to the description

e1 and e2 weight coefficients.

 2. The internal complexity of the sprint (Di) is based on information available after detailed design descriptions, including information that is used for external complexity plus selected algorithms and possibly pseudo-code or view the design language.

Calculation of internal complexity:

    (6)

where:

CC (central call - Central calls) - number of calls to procedures or functions

DSM (data-structure manipulation - manipulation of data structures) - the number of references to complex data types

I/O - number of calls to external devices

i1, i2, i3 – weights.

For the optimal sprints planning determination of the descriptions number in the sprint are needed and the size of descriptions depends on the objectives of the sprint, so it can be made in a certain time and resources.

Conclusion

Examining metrics of project documentation standards revealed that the selected metrics can be useful for evaluating documentation according to agile development methodologies. Design documentation metrics can be adopted for Scrum projects after their analysis.

The metric of sprint defects density is calculated after the finish of the sprint and reflects the quality of software code.

The integrity metric of the sprint points to the relationship between elements of the functions associated with sprint. Studies have shown that the features of high strength, tend to have lower rates of defects, and they are cheaper in the development. Therefore, sprint with high strength modularity is better.

The metric of connectivity in Scrum projects are useful for determining the connectivity of the descriptions and how they communicate, as well as connectivity descriptions between sprints. Connectivity descriptions can be evaluated using standard evaluation chart. The connectivity data is the best type of connectivity, while the connectivity of the content is the worst.

During the research was identified that it is necessary to extend the set of metrics of volume because they can be an indication that the description can be divided into smaller.

Complexity metrics used in Scrum projects to measure the complexity of the architecture of the software product, represented by a set of descriptions that is useful for analysis of the project.

References

[1] Boheme B., Brown J., Caspar H. (1981), “Characteristics of software quality”,  Mir, p. 206.

[2] Agile Modeling [Electronic resource] - Mode of access: http://www.agilemodeling.com/essays/agileDocumentation.htm/

[3] Stephen Kan (2003), “Metrics and models in software quality assurance (2nd edition)”, Addison-Wesley Professional, p. 520.

[4] Monika Agarwal, Rana Majumdar, “Tracking Scrum projects Tools, Metrics and Myths About Agile”,  International Journal of Emerging Technology and Advanced Engineering,ðp. 97-104, March 2012.