{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,26]],"date-time":"2025-12-26T07:09:32Z","timestamp":1766732972886,"version":"3.40.3"},"publisher-location":"Cham","reference-count":24,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319916019"},{"type":"electronic","value":"9783319916026"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Test-Driven Development (TDD) is one of the most popular agile practices among software developers. To investigate the software developers\u2019 initial perceptions when applying TDD, we have performed an exploratory study. This study was carried out with participants who had about ten years of professional experience (on average), the majority of whom with no experience using TDD. The study is in the context of an agile project course at the postgraduate level of a research institute. Participants individually developed medium size projects addressed to different domains and using different programming languages. Through a structured questionnaire with open and semi-open questions, we collected information on TDD effects such as the perceived benefits, encountered difficulties, and developer\u2019s opinion about the quality improvement of the software. Afterward, we conducted a thematic analysis of the qualitative data. Most participants noticed improvements in code quality, but few have a more comprehensive view of the effects of TDD on software design. Our findings suggest that after overcoming the initial difficulties to understand where to start, and know how to create a test for a feature that does not yet exist, participants gain greater confidence to implement new features and make changes due to broad test coverage.<\/jats:p>","DOI":"10.1007\/978-3-319-91602-6_5","type":"book-chapter","created":{"date-parts":[[2018,5,16]],"date-time":"2018-05-16T13:13:43Z","timestamp":1526476423000},"page":"68-85","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Developers\u2019 Initial Perceptions on TDD Practice: A Thematic Analysis with Distinct Domains and Languages"],"prefix":"10.1007","author":[{"given":"Joelma","family":"Choma","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eduardo M.","family":"Guerra","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tiago Silva","family":"da Silva","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,5,17]]},"reference":[{"issue":"1","key":"5_CR1","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1186\/s13173-015-0034-z","volume":"21","author":"M Aniche","year":"2015","unstructured":"Aniche, M., Gerosa, M.A.: Does test-driven development improve class design? a qualitative study on developers\u2019 perceptions. J. Braz. Comput. Soc. 21(1), 15 (2015)","journal-title":"J. Braz. Comput. Soc."},{"key":"5_CR2","unstructured":"Aniche, M.F., Ferreira, T.M., Gerosa, M.A.: What concerns beginner test-driven development practitioners: a qualitative analysis of opinions in an agile conference. In: 2nd Brazilian Workshop on Agile Methods (2011)"},{"key":"5_CR3","volume-title":"Test-Driven Development: By Example","author":"K Beck","year":"2003","unstructured":"Beck, K.: Test-Driven Development: By Example. Addison-Wesley Professional, Reading (2003)"},{"key":"5_CR4","volume-title":"Transforming Qualitative Information: Thematic Analysis and Code Development","author":"RE Boyatzis","year":"1998","unstructured":"Boyatzis, R.E.: Transforming Qualitative Information: Thematic Analysis and Code Development. Sage, Thousand Oaks (1998)"},{"issue":"2","key":"5_CR5","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1191\/1478088706qp063oa","volume":"3","author":"V Braun","year":"2006","unstructured":"Braun, V., Clarke, V.: Using thematic analysis in psychology. Qual. Res. Psychol. 3(2), 77\u2013101 (2006)","journal-title":"Qual. Res. Psychol."},{"issue":"2","key":"5_CR6","first-page":"120","volume":"26","author":"V Clarke","year":"2013","unstructured":"Clarke, V., Braun, V.: Teaching thematic analysis: overcoming challenges and developing strategies for effective learning. Psychologist 26(2), 120\u2013123 (2013)","journal-title":"Psychologist"},{"issue":"6","key":"5_CR7","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1109\/MS.2006.157","volume":"23","author":"L Crispin","year":"2006","unstructured":"Crispin, L.: Driving software quality: how test-driven development impacts software quality. IEEE Softw. 23(6), 70\u201371 (2006)","journal-title":"IEEE Softw."},{"key":"5_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"93","DOI":"10.1007\/978-3-540-73101-6_13","volume-title":"Agile Processes in Software Engineering and Extreme Programming","author":"C Deng","year":"2007","unstructured":"Deng, C., Wilson, P., Maurer, F.: FitClipse: a fit-based eclipse plug-in for executable acceptance test driven development. In: Concas, G., Damiani, E., Scotto, M., Succi, G. (eds.) XP 2007. LNCS, vol. 4536, pp. 93\u2013100. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-73101-6_13"},{"issue":"2","key":"5_CR9","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1145\/1383602.1383644","volume":"40","author":"C Desai","year":"2008","unstructured":"Desai, C., Janzen, D., Savage, K.: A survey of evidence for test-driven development in academia. ACM SIGCSE Bull. 40(2), 97\u2013101 (2008)","journal-title":"ACM SIGCSE Bull."},{"issue":"4","key":"5_CR10","doi-asserted-by":"publisher","first-page":"643","DOI":"10.1007\/s11219-011-9130-2","volume":"19","author":"T Dog\u0161a","year":"2011","unstructured":"Dog\u0161a, T., Bati\u010d, D.: The effectiveness of test-driven development: an industrial case study. Softw. Qual. J. 19(4), 643\u2013661 (2011)","journal-title":"Softw. Qual. J."},{"key":"5_CR11","doi-asserted-by":"crossref","unstructured":"Freeman, S., Mackinnon, T., Pryce, N., Walnes, J.: Mock roles, objects. In: Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 236\u2013246. ACM (2004)","DOI":"10.1145\/1028664.1028765"},{"issue":"7","key":"5_CR12","doi-asserted-by":"publisher","first-page":"597","DOI":"10.1109\/TSE.2016.2616877","volume":"43","author":"D Fucci","year":"2017","unstructured":"Fucci, D., Erdogmus, H., Turhan, B., Oivo, M., Juristo, N.: A dissection of the test-driven development process: does it really matter to test-first or to test-last? IEEE Trans. Softw. Eng. 43(7), 597\u2013614 (2017)","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"5","key":"5_CR13","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1016\/j.infsof.2003.09.011","volume":"46","author":"B George","year":"2004","unstructured":"George, B., Williams, L.: A structured experiment of test-driven development. Inf. Softw. Technol. 46(5), 337\u2013342 (2004)","journal-title":"Inf. Softw. Technol."},{"key":"5_CR14","doi-asserted-by":"publisher","first-page":"201","DOI":"10.1016\/B978-0-12-802301-3.00009-0","volume-title":"Software Quality Assurance","author":"Eduardo Guerra","year":"2016","unstructured":"Guerra, E., Aniche, M.: Achieving quality on software design through test-driven development. In: Software Quality Assurance: In Large Scale and Complex Software-Intensive Systems, p. 201 (2015)"},{"key":"5_CR15","doi-asserted-by":"publisher","unstructured":"Gupta, A., Jalote, P.: An experimental evaluation of the effectiveness and efficiency of the test driven development. In: Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, ESEM 2007, pp. 285\u2013294. IEEE Computer Society, Washington, DC (2007). https:\/\/doi.org\/10.1109\/ESEM.2007.20","DOI":"10.1109\/ESEM.2007.20"},{"key":"5_CR16","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1016\/j.infsof.2008.03.007","volume":"51","author":"L Huang","year":"2009","unstructured":"Huang, L., Holcombe, M.: Empirical investigation towards the effectiveness of test first programming. Inf. Softw. Technol. 51, 182\u2013194 (2009)","journal-title":"Inf. Softw. Technol."},{"key":"5_CR17","doi-asserted-by":"crossref","unstructured":"Janzen, D.S., Saiedian, H.: A leveled examination of test-driven development acceptance. In: 29th International Conference on Software Engineering (ICSE 2007), pp. 719\u2013722. IEEE (2007)","DOI":"10.1109\/ICSE.2007.8"},{"issue":"3","key":"5_CR18","doi-asserted-by":"publisher","first-page":"24","DOI":"10.1109\/MS.2007.75","volume":"24","author":"R Jeffries","year":"2007","unstructured":"Jeffries, R., Melnik, G.: Guest editors\u2019 introduction: TDD-the art of fearless programming. IEEE Softw. 24(3), 24\u201330 (2007)","journal-title":"IEEE Softw."},{"issue":"6","key":"5_CR19","doi-asserted-by":"publisher","first-page":"557","DOI":"10.1016\/j.infsof.2011.02.002","volume":"53","author":"M Pan\u010dur","year":"2011","unstructured":"Pan\u010dur, M., Ciglari\u010d, M.: Impact of test-driven development on productivity, code and tests: a controlled experiment. Inf. Softw. Technol. 53(6), 557\u2013573 (2011)","journal-title":"Inf. Softw. Technol."},{"key":"5_CR20","doi-asserted-by":"crossref","unstructured":"Romano, S., Fucci, D., Scanniello, G., Turhan, B., Juristo, N.: Results from an ethnographically-informed study in the context of test driven development. In: Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering, p. 10. ACM (2016)","DOI":"10.1145\/2915970.2915996"},{"key":"5_CR21","doi-asserted-by":"crossref","unstructured":"Scanniello, G., Romano, S., Fucci, D., Turhan, B., Juristo, N.: Students\u2019 and professionals\u2019 perceptions of test-driven development: a focus group study. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1422\u20131427. ACM (2016)","DOI":"10.1145\/2851613.2851778"},{"issue":"6","key":"5_CR22","doi-asserted-by":"publisher","first-page":"16","DOI":"10.1109\/MS.2010.152","volume":"27","author":"F Shull","year":"2010","unstructured":"Shull, F., Melnik, G., Turhan, B., Layman, L., Diep, M., Erdogmus, H.: What do we know about test-driven development? IEEE Softw. 27(6), 16\u201319 (2010)","journal-title":"IEEE Softw."},{"key":"5_CR23","unstructured":"Turhan, B., Layman, L., Diep, M., Erdogmus, H., Shull, F.: How effective is test-driven development. In: Making Software: What Really Works, and Why We Believe It, pp. 207\u2013217 (2010)"},{"key":"5_CR24","doi-asserted-by":"crossref","unstructured":"Vu, J.H., Frojd, N., Shenkel-Therolf, C., Janzen, D.S.: Evaluating test-driven development in an industry-sponsored capstone project. In: 2009 Sixth International Conference on Information Technology: New Generations, ITNG 2009, pp. 229\u2013234. IEEE (2009)","DOI":"10.1109\/ITNG.2009.11"}],"container-title":["Lecture Notes in Business Information Processing","Agile Processes in Software Engineering and Extreme Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-91602-6_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,13]],"date-time":"2024-03-13T18:46:35Z","timestamp":1710355595000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-91602-6_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319916019","9783319916026"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-91602-6_5","relation":{},"ISSN":["1865-1348","1865-1356"],"issn-type":[{"type":"print","value":"1865-1348"},{"type":"electronic","value":"1865-1356"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"17 May 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"XP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Agile Software Development","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Porto","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21 May 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25 May 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"xpu2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.agilealliance.org\/xp2018\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}