A Methodology for Collecting Valid Software Engineering Data
- 1 November 1984
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-10 (6) , 728-738
- https://doi.org/10.1109/tse.1984.5010301
Abstract
An effective data collection method for evaluating software development methodologies and for studying the software development process is described. The method uses goal-directed data collection to evaluate methodologies with respect to the claims made for them. Such claims are used as a basis for defining the goals of the data collection, establishing a list of questions of interest to be answered by data analysis, defining a set of data categorization schemes, and designing a data collection form. The data to be collected are based on the changes made to the software during development, and are obtained when the changes are made. To ensure accuracy of the data, validation is performed concurrently with software development and data collection. Validation is based on interviews with those people supplying the data. Results from using the methodology show that data validation is a necessary part of change data collection. Without it, as much as 50 percent of the data may be erroneous. Feasibility of the data collection methodology was demonstrated by applying it to five different projects in two different environments. The application showed that the methodology was both feasible and useful.Keywords
This publication has 25 references indexed in Scilit:
- Evaluating software development by error analysis: The data from the Architecture Research FacilityJournal of Systems and Software, 1980
- Abstract data types and the development of data structuresCommunications of the ACM, 1977
- Structured Programming with go to StatementsACM Computing Surveys, 1974
- An axiomatic definition of the programming language PASCALActa Informatica, 1973
- On the criteria to be used in decomposing systems into modulesCommunications of the ACM, 1972
- Debugging tools for high level languagesSoftware: Practice and Experience, 1972
- A technique for software module specification with examplesCommunications of the ACM, 1972
- Program development by stepwise refinementCommunications of the ACM, 1971
- An axiomatic basis for computer programmingCommunications of the ACM, 1969
- Assigning meanings to programsPublished by American Mathematical Society (AMS) ,1967